More Related Content
More from Atsushi Hayakawa
More from Atsushi Hayakawa (20)
はじパタ11章 後半
- 3. 11.3 バギング
● 複数の識別器を組み合わせる方法
– 学習データのブートストラップサンプル(復元抽出)を用
いて複数の識別器を学習させ、多数決で決める
– それぞれの識別器は弱識別器
● ランダム識別器よりは高性能
● 並列処理可能
● 識別器間の相関が高くなり、性能強化出来ない可
能性あり
– ブースティングやランダムフォレストで欠点を補う
- 9. 1) 重みを (i=1,...,N)に初期化する
2) m=1,...,Mについて以下を繰り返す
a) 識別器y_m(x)を重み付き誤差関数が最小になる
ように学習する
b) 識別器y_m(x)に対する重みα_mを計算する
c) 重み を更新する
3) 入力xに対する識別結果をY_M(x)に従って出力す
る
は、識別関数の出力が教師と一致したら0、一
致しないと1を返す
E_mは弱識別器の定義より、E_m<1/2
アダブーストのアルゴリズム
- 11. アダブーストのアルゴリズム
1) 重みを (i=1,...,N)に初期化する
2) m=1,...,Mについて以下を繰り返す
a) 識別器y_m(x)を重み付き誤差関数が最小になる
ように学習する
b) 識別器y_m(x)に対する重みα_mを計算する
c) 重み を更新する
3) 入力xに対する識別結果をY_M(x)に従って出力す
る
正しく分類出来なかった学習データの
重みをexp(α_m)倍する。
- 12. アダブーストのアルゴリズム
1) 重みを (i=1,...,N)に初期化する
2) m=1,...,Mについて以下を繰り返す
a) 識別器y_m(x)を重み付き誤差関数が最小になる
ように学習する
b) 識別器y_m(x)に対する重みα_mを計算する
c) 重み を更新する
3) 入力xに対する識別結果をY_M(x)に従って出力す
る
精度が高い識別器の重みを大きくし、精度が低い識
別器の重みを小さくする。
sign(a)はa>0で+1、a=0で0、a<0で-1を出力する
- 22. 部分依存グラフのプロット(Sepal.
Length)
partialPlot(rf, subset(iris,iris$Species=="setosa"), Sepal.Length, main =
"Sepal.Length", xlab = "Sepal.Lengh", ylab = "Partial Dependency", col =
"red",xlim=c(4,8),ylim=c(-30,30))
par(new=T)
partialPlot(rf, subset(iris,iris$Species=="versicolor"), Sepal.Length, main =
"Sepal.Length", xlab = "Sepal.Lengh", ylab = "Partial Dependency", col =
"green",xlim=c(4,8),ylim=c(-30,30))
par(new=T)
partialPlot(rf, subset(iris,iris$Species=="virginica"), Sepal.Length, main =
"Sepal.Length", xlab = "Sepal.Lengh", ylab = "Partial Dependency", col =
"blue",xlim=c(4,8),ylim=c(-30,30))