レトリバセミナー 2017/10/11 岩⽥ 英⼀郎
© 2017 Retrieva, Inc.
• 名前
• 岩⽥ 英⼀郎 (@eiichiroi)
• 略歴
• 2008〜2010年 埼⽟⼤学 ⼤学院理⼯学研究科 修⼠ (⼯学)
• ICPC 2009世界⼤会出場
• 2010〜2016年 Preferred Infrastructure (PFI)
• 検索エンジンやビッグデータ分析基盤の開発
• 2016年〜現在 レトリバ (PFIからスピンアウト)
• コールセンター向けの回答⽀援ソリューションの開発
• 趣味
• コーヒー (ドリップ)
• ゲーム (Splatoon, カタン, 将棋, …)
• 電⼦⼯作
© 2017 Retrieva, Inc. 2
• ブースティング⼊⾨
• よく知らなかったので、勉強しつつまとめた内容になります
• ちょっとだけ広く、アンサンブル学習⼊⾨な感じになりました
• 営業の⼈も増えたので機械学習とは〜のあたりから説明します
• 深層学習業界はGANや深層強化学習だとかで盛り上がっていま
すが、今⽇は淡々と、ブースティング⼊⾨の話をします。
© 2017 Retrieva, Inc. 3
• 性能の低い学習器を組み合わせて、⾼性能な学習器を作る⼿法
• 教師あり機械学習の枠組みの⼀つ
• 三⼈寄れば⽂殊の知恵
• アンサンブル学習の種類(組み合わせ⽅の種類)
• バギング
• ブースティング
• スタッキング(今回は間に合わず)
• ...
© 2017 Retrieva, Inc. 4
• 学習: ⼊⼒ 𝒙 に対応する 𝑦 を教える(教師データ)
• 予測: ⼊⼒ 𝒙 に対応する 𝑦 を出⼒する
© 2017 Retrieva, Inc. 5
スパムメール 普通のメール
新着メール
スパムメール
普通のメール
• 分類
• y がカテゴリ値
• スパム判定(y: スパム、スパムじゃない)
• 記事分類(y: 政治、スポーツ、エンタメ、…)
• …
• 回帰
• y が実数値
• 電⼒消費予測(y: 18.5[kWh/⽇])
• 株価予測(y: 20000[円])
• ….
© 2017 Retrieva, Inc. 6
© 2017 Retrieva, Inc. 7
𝒙	 =	
1.0
35
−10
…
特徴ベクトル
特徴抽出
データ
学習・推論
モデル
分野に依存しない
特徴を捉えた形式に変換
機械学習の様々な
⼿法・理論を適⽤
• スパム分類なら
• 本⽂に含まれる単語の出現頻度
• メールの送信者
• …
• モデルが考慮できる特徴を決める重要な
プロセス
機械学習の研究は⼤体こっちの世界の話
※最近は深層学習でEnd-to-Endで学習し
ます、というのも増えてますが…
• 学習データ
• {	 𝒙-, 𝑦- , … , 𝒙/, 𝑦/	 	}
• 特徴ベクトル: 𝒙1 ∈ 𝑅4	
• 正解ラベル: 𝑦1 ∈ {	−1, +1	}
• 識別関数𝑓(𝑥)
• 𝑓 𝑥 をデータから決めるのが学習
• 分類器
• 𝑦 = 𝑠𝑖𝑔𝑛(𝑓 𝒙 ) = >
+1																					𝑓 𝒙 ≥ 0
−1																𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒		
© 2017 Retrieva, Inc. 8
※𝑠𝑖𝑔𝑛関数は符号を返す関数
𝒙 𝟏 	=	
1.0
35
−10
…
𝑦- =	+1
𝒙 𝑵 	=	
10.0
0
−1
…
𝑦H = −1
…
学習データ
• 性能の低い学習器を組み合わせて、⾼性能な学習器を作る⼿法
• 教師あり機械学習の枠組みの⼀つ
• 三⼈寄れば⽂殊の知恵
• アンサンブル学習の種類(組み合わせ⽅の種類)
• バギング
• ブースティング
• スタッキング
• ...
© 2017 Retrieva, Inc. 9
• 弱学習器(性能の低い学習器) 𝑓(𝑥)
• 正解率が0.5より⼤きい
• = ランダムに+1か-1を返すものよりは良いもの
• 正解率が0.5より⼩さい学習器は分類結果を反対にすれば、正解率が
0.5より⼤きいものを作れる
• 注意
• 複雑な学習器も使えるが計算量の⼩さい単純な学習器がよく使われる
• 決定株、決定⽊など
• 全く同じ分類器では性能は上がらない(多様性が必要)
© 2017 Retrieva, Inc. 10
• 決定株(decision stump)
• 特徴ベクトルのある次元の値が閾値以上かどうかで判別する分類器
• 𝑓1,I 𝒙 = >
+1																			𝑖𝑓	𝑥1≥ 𝜃
−1													𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒		
• 例
• ⾝⻑が170cm以上かどうかで性別の分類
• ある単語が出現しているかどうかでスパム判定
• 特徴: 単語頻度、閾値0.5
© 2017 Retrieva, Inc. 11
⾝⻑ ≥ 𝟏𝟕𝟎 cm
男性 ⼥性
決定株のイメージ
• 決定⽊(decision tree)
• 分類ルールが⽊構造
• 分類はルートから条件を満たす枝を辿る
• 決定株より賢い(1つの分類器で複数の特徴を考慮できる)が、候補が多
いので良いものを選ぶのが⼤変
• 決定⽊の学習アルゴリズム
• CART(簡単で計算しやすいのでよく使われる)
• ID3(平均情報量が⼩さくなるように決める)
• C4.5(ID3の拡張、ノイズに強い)
• ※今回は詳細省きます(組み合わせ⽅の話がメインなので)
© 2017 Retrieva, Inc. 12
⾝⻑ ≥ 𝟏𝟕𝟎 cm
男性
⼥性
決定⽊のイメージ(決定株を積み重ねた構造)
体重 ≥ 𝟕𝟎 kg
男性
yes
yes
no
no
• 性能の低い学習器を組み合わせて、⾼性能な学習器を作る⼿法
• 教師あり機械学習の枠組みの⼀つ
• 三⼈寄れば⽂殊の知恵
• アンサンブル学習の種類(組み合わせ⽅の種類)
• バギング
• ブースティング
• スタッキング(今回は間に合わず)
• ...
© 2017 Retrieva, Inc. 13
• 弱学習器を並列に学習して組み合わせる⼿法
• bagging = bootstrap(ブートストラップ) + aggregating(集約)
© 2017 Retrieva, Inc. 14
3. 集約2. 学習 分類結果1. ブートストラップ
元データ
弱学習器ブートストラップ標本
• N個のデータから重複を許してランダムにN回データを選ぶこと
• 統計の分野で⺟集団の統計量の推定に使われてきた⼿法
• ちょっとだけ違うデータセットをたくさん作れる
© 2017 Retrieva, Inc. 15
ブートストラップ
元データ
ブートストラップ標本
• ちょっとだけ違う学習器が作れる
• 並列に学習できる
© 2017 Retrieva, Inc. 16
学習
ブートストラップ標本
⾝⻑ ≥ 𝟏𝟕𝟎 cm
男性 ⼥性
体重 ≥ 𝟕𝟎 kg
男性 ⼥性
⾝⻑ ≥ 𝟏𝟖𝟎 cm
男性 ⼥性
決定株の場合のイメージ
• 集約
• 弱学習器の出⼒の多数決を出⼒(回帰なら平均を出⼒)
• 𝐹 𝒙 =	
-
O
	∑ 𝑓Q(𝒙)O
QR-
© 2017 Retrieva, Inc. 17
集約 分類結果
+1
+1
-1 +1
• 弱学習器を並列に学習して組み合わせる⼿法
• bagging = bootstrap + aggregating(集約)
• 利点
• 学習器は並列に学習できる
• 過学習しにくい(安定している)
• ⽋点
• 精度ではブースティングに負けることが多い(らしい)
© 2017 Retrieva, Inc. 18
• ランダムフォレスト
• 弱学習器には決定⽊を使うが、決定⽊が考慮する特徴ベクトル
の次元をランダムに決定する
© 2017 Retrieva, Inc. 19
• 弱学習器を順番に学習して組み合わせて強くしていく⼿法
• 前の学習器が誤分類したデータを優先的に正しく分類できるように学
習していく
© 2017 Retrieva, Inc. 20
4.集約 分類結果
データ
1. 学習
データの重み
データの重み
データの重み
2. 学習
3. 学習
学習器の重み𝛼-
学習器の重み𝛼T
学習器の重み𝛼U
弱学習器
• 弱学習器を順番に学習して組み合わせて強くしていく⼿法
• 前の学習器が誤分類したデータを優先的に正しく分類できるように学習していく
• 利点
• 精度がよい
• ⽋点
• 学習に時間がかかる(並列に学習できない)
• 弱学習器の数を増やしすぎると過学習を起こす
• 交差検定して決めた⽅が良い
• 誤差や外れ値に影響を受けやすい
© 2017 Retrieva, Inc. 21
• Adaptive Boosting(適応的ブースティング)の略
• AdaBoostの分類器
• 𝐹 𝒙 = 𝑠𝑖𝑔𝑛(∑ 𝛼Q 𝑓Q(𝒙))O
QR- 	
• 𝑓Q 𝒙 : m番⽬の弱学習器
• 𝛼Q: m番⽬の学習器の重み
• ようは、重み付きの多数決
• ※学習中に更新していた学習データの重みは予測には使わない
• 学習時には𝑓Q 𝒙 と𝛼Qを決める
© 2017 Retrieva, Inc. 22
• 1. 学習データの重み𝑤1を初期化する。	𝑤1 =
-
]
, 𝑓𝑜𝑟	𝑖 = 1, … , 𝑁
• 2. m = 1, …, M繰り返す
• 重み付き誤分類率𝜖Q(0 ≤ 𝜖Q ≤ 0.5)の最も⼩さい弱学習器𝑓Q(𝒙)を学習
する
• 𝜖Q =	∑ 𝑤1
H
1R- 		[𝑦1 	≠	 𝑓Q 𝒙1 ]
• 弱学習器の重み𝛼Qを計算する
• 𝛼Q =	
-
T
log
-fgh
gh
• データの重み𝑤1を更新する
• 𝑤1 = 𝑤1 ∗
-
jh
𝑒fklmh(𝒙l)	𝑓𝑜𝑟	𝑖 = 1, … , 𝑁 ただし、正規化定数は、𝑍Q =
∑ 𝑒fkomh(𝒙o)H
pR-
© 2017 Retrieva, Inc. 23
⼊⼒: 学習データ= 	 𝒙-, 𝑦- , … , 𝒙H, 𝑦H	 	
弱学習器の数 = M
出⼒: 学習器	𝐹 𝒙 = 𝑠𝑖𝑔𝑛(∑ 𝛼Q 𝑓Q(𝒙))O
QR-
• 2. …
• 重み付き誤分類率𝜖Q(0 ≤ 𝜖Q ≤ 0.5)の最も⼩さい弱学習器𝑓Q(𝒙)を学習
する
• 決定株でナイーブに実装してみると、ここが⼀番重い
• ある素性を使う決定株(d個)を作って全データ(N個)を分類する
• O(d * N)をM回…
• ここをサンプリングでサボる技法はフィルタリングというらしい
• 弱学習器の複雑さと期待する精度のトレードオフになりそう
• 決定⽊やもっと複雑な学習器にすると精度が上がりそうだが、重み付
き誤分類率が最も⼩さい弱学習器を⾒つけるのに時間がかかる
© 2017 Retrieva, Inc. 24
• 2. …
• 弱学習器の重み𝛼Qを計算する
• 𝜶 𝒎 =	
𝟏
𝟐
𝒍𝒐𝒈
𝟏f𝝐 𝒎
𝝐 𝒎
© 2017 Retrieva, Inc. 25
• 誤分類率𝜖x = 0				のとき𝛂 𝐦 → +∞ ∶ 	全部正解の場合
• 誤分類率𝜖x = 0.5	のとき𝛂 𝐦 = 					0 ∶ 	ランダムと同じ場合	
• 誤分類率𝜖x = 1				のとき𝛂 𝐦 → −∞ : 全部誤りの場合
正解率の⾼い弱学習器の重み𝛂 𝐦は⼤きくなり、正解率が下がると⼩さくなる
• 2. …
• データの重み𝑤1を更新する
• 𝑤1 = 𝑤1 ∗
-
jh
𝑒fklmh(𝒙l)	𝑓𝑜𝑟	𝑖 = 1, … , 𝑁 ただし、正規化定数は	𝑍Q = ∑ 𝑒fkomh(𝒙o)H
pR-
© 2017 Retrieva, Inc. 26
正解したデータの重み𝑤1は⼩さくなり、誤分類したデータの重みは⼤きくなる
• 正解したデータの重み: −𝑦1 𝑓Q 𝒙1 = −1なので、𝑒fklmh(𝒙l)
=	 𝑒f-
	 = 0.36 … < 1
• 誤分類したデータの重み: −𝑦1 𝑓Q 𝒙1 = +1なので、𝑒fklmh(𝒙l)
=	 𝑒€-
(= 2.78 … ) > 1
• 弱学習器の重み𝛼Qとデータの重み𝑤1の正当性
• 他にも良い決め⽅はありそう
• 指数損失関数L 𝐱 =	 𝑒f ∑ kmh(𝒙)‡
hˆ‰ を最⼩化するように、逐次的
に弱学習器𝑓Q(𝒙)と重み𝛼Qを求めようとするとAdaBoostの重み
の計算式になる
• 実は、AdaBoostは指数損失の最⼩化問題を解いている
• 証明はイラストで学ぶ機械学習とかこの記事を読んでネ…
• 別の損失関数に基づいたブースティングアルゴリズムがある
• MadaBoost(誤差や外れ値に強い)
• LogitBoost(確率的な解釈ができる)
© 2017 Retrieva, Inc. 27
• 1. 学習データの重み𝑤1を初期化する。	𝑤1 =
-
]
, 𝑓𝑜𝑟	𝑖 = 1, … , 𝑁
• 2. m = 1, …, M繰り返す
• 重み付き誤分類率𝜖Q(0 ≤ 𝜖Q ≤ 0.5)の最も⼩さい弱学習器𝑓Q(𝒙)を学習
する
• 𝜖Q =	∑ 𝑤1
H
1R- 		[𝑦1 	≠	 𝑓Q 𝒙1 ]
• 弱学習器の重み𝛼Qを計算する
• 𝛼Q =	
-
T
log
-fgh
gh
• データの重み𝑤1を更新する
• 𝑤1 = 𝑤1 ∗
-
jh
𝑒fklmh(𝒙l)	𝑓𝑜𝑟	𝑖 = 1, … , 𝑁 ただし、正規化定数は、𝑍Q =
∑ 𝑒fkomh(𝒙o)H
pR-
© 2017 Retrieva, Inc. 28
⼊⼒: 学習データ= 	 𝒙-, 𝑦- , … , 𝒙H, 𝑦H	 	
弱学習器の数 = M
出⼒: 学習器	𝐹 𝒙 = 𝑠𝑖𝑔𝑛(∑ 𝛼Q 𝑓Q(𝒙))O
QR-
• 2値分類問題からの拡張
• 多クラス分類
• 回帰(連続値)
• 弱仮説クラスの決め⽅
• 精度と計算時間のトレードオフになる
• 誤差や外れ値に強いブースティング
• ⼊⼒𝒙に誤差がある、正解ラベル𝑦が間違っているような場合
• ブースティング性
• 毎回ある程度よい弱学習器が⾒つかると仮定したとき、収束の回数を保証で
きる(⽬標の誤識別率によるけど)
• フィルタリング技法
• ⼀番良い弱学習器を⾒つけるときに全データみずにサンプリングでサボる
© 2017 Retrieva, Inc. 29
• 性能の低い学習器を組み合わせて、⾼性能な学習器を作る⼿法
• 教師あり機械学習の枠組みの⼀つ
• 三⼈寄れば⽂殊の知恵
• アンサンブル学習の種類(組み合わせ⽅の種類)
• バギング
• ブースティング
• スタッキング(今回は間に合わず)
• ...
© 2017 Retrieva, Inc. 30
• ブースティング -学習アルゴリズムの設計技法-
• 確率的近似学習から⼊ってしっかりと議論する
• フィルタリング技法
• 誤差や外れ値に強いブースティング、など
• ブースティングの話に特化している
• 研究者の⼈向けかも
• イラストで学ぶ機械学習
• イラストでは学べない気がする…
• 説明は分かりやすいと思う
• ブースティング以外も学べる
© 2017 Retrieva, Inc. 31
• ⼊⾨パターン認識と機械学習
• 決定⽊の学習アルゴリズム(CART)なども載っている
• ランダムフォレストも
• フリーソフトではじめる機械学習⼊⾨
• AdaBoostの重みの更新式の簡単版が載ってた
© 2017 Retrieva, Inc. 32
© 2017 Retrieva, Inc.

ブースティング入門

  • 1.
    レトリバセミナー 2017/10/11 岩⽥英⼀郎 © 2017 Retrieva, Inc.
  • 2.
    • 名前 • 岩⽥英⼀郎 (@eiichiroi) • 略歴 • 2008〜2010年 埼⽟⼤学 ⼤学院理⼯学研究科 修⼠ (⼯学) • ICPC 2009世界⼤会出場 • 2010〜2016年 Preferred Infrastructure (PFI) • 検索エンジンやビッグデータ分析基盤の開発 • 2016年〜現在 レトリバ (PFIからスピンアウト) • コールセンター向けの回答⽀援ソリューションの開発 • 趣味 • コーヒー (ドリップ) • ゲーム (Splatoon, カタン, 将棋, …) • 電⼦⼯作 © 2017 Retrieva, Inc. 2
  • 3.
    • ブースティング⼊⾨ • よく知らなかったので、勉強しつつまとめた内容になります •ちょっとだけ広く、アンサンブル学習⼊⾨な感じになりました • 営業の⼈も増えたので機械学習とは〜のあたりから説明します • 深層学習業界はGANや深層強化学習だとかで盛り上がっていま すが、今⽇は淡々と、ブースティング⼊⾨の話をします。 © 2017 Retrieva, Inc. 3
  • 4.
    • 性能の低い学習器を組み合わせて、⾼性能な学習器を作る⼿法 • 教師あり機械学習の枠組みの⼀つ •三⼈寄れば⽂殊の知恵 • アンサンブル学習の種類(組み合わせ⽅の種類) • バギング • ブースティング • スタッキング(今回は間に合わず) • ... © 2017 Retrieva, Inc. 4
  • 5.
    • 学習: ⼊⼒𝒙 に対応する 𝑦 を教える(教師データ) • 予測: ⼊⼒ 𝒙 に対応する 𝑦 を出⼒する © 2017 Retrieva, Inc. 5 スパムメール 普通のメール 新着メール スパムメール 普通のメール
  • 6.
    • 分類 • yがカテゴリ値 • スパム判定(y: スパム、スパムじゃない) • 記事分類(y: 政治、スポーツ、エンタメ、…) • … • 回帰 • y が実数値 • 電⼒消費予測(y: 18.5[kWh/⽇]) • 株価予測(y: 20000[円]) • …. © 2017 Retrieva, Inc. 6
  • 7.
    © 2017 Retrieva,Inc. 7 𝒙 = 1.0 35 −10 … 特徴ベクトル 特徴抽出 データ 学習・推論 モデル 分野に依存しない 特徴を捉えた形式に変換 機械学習の様々な ⼿法・理論を適⽤ • スパム分類なら • 本⽂に含まれる単語の出現頻度 • メールの送信者 • … • モデルが考慮できる特徴を決める重要な プロセス 機械学習の研究は⼤体こっちの世界の話 ※最近は深層学習でEnd-to-Endで学習し ます、というのも増えてますが…
  • 8.
    • 学習データ • { 𝒙-, 𝑦- , … , 𝒙/, 𝑦/ } • 特徴ベクトル: 𝒙1 ∈ 𝑅4 • 正解ラベル: 𝑦1 ∈ { −1, +1 } • 識別関数𝑓(𝑥) • 𝑓 𝑥 をデータから決めるのが学習 • 分類器 • 𝑦 = 𝑠𝑖𝑔𝑛(𝑓 𝒙 ) = > +1 𝑓 𝒙 ≥ 0 −1 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒 © 2017 Retrieva, Inc. 8 ※𝑠𝑖𝑔𝑛関数は符号を返す関数 𝒙 𝟏 = 1.0 35 −10 … 𝑦- = +1 𝒙 𝑵 = 10.0 0 −1 … 𝑦H = −1 … 学習データ
  • 9.
    • 性能の低い学習器を組み合わせて、⾼性能な学習器を作る⼿法 • 教師あり機械学習の枠組みの⼀つ •三⼈寄れば⽂殊の知恵 • アンサンブル学習の種類(組み合わせ⽅の種類) • バギング • ブースティング • スタッキング • ... © 2017 Retrieva, Inc. 9
  • 10.
    • 弱学習器(性能の低い学習器) 𝑓(𝑥) •正解率が0.5より⼤きい • = ランダムに+1か-1を返すものよりは良いもの • 正解率が0.5より⼩さい学習器は分類結果を反対にすれば、正解率が 0.5より⼤きいものを作れる • 注意 • 複雑な学習器も使えるが計算量の⼩さい単純な学習器がよく使われる • 決定株、決定⽊など • 全く同じ分類器では性能は上がらない(多様性が必要) © 2017 Retrieva, Inc. 10
  • 11.
    • 決定株(decision stump) •特徴ベクトルのある次元の値が閾値以上かどうかで判別する分類器 • 𝑓1,I 𝒙 = > +1 𝑖𝑓 𝑥1≥ 𝜃 −1 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒 • 例 • ⾝⻑が170cm以上かどうかで性別の分類 • ある単語が出現しているかどうかでスパム判定 • 特徴: 単語頻度、閾値0.5 © 2017 Retrieva, Inc. 11 ⾝⻑ ≥ 𝟏𝟕𝟎 cm 男性 ⼥性 決定株のイメージ
  • 12.
    • 決定⽊(decision tree) •分類ルールが⽊構造 • 分類はルートから条件を満たす枝を辿る • 決定株より賢い(1つの分類器で複数の特徴を考慮できる)が、候補が多 いので良いものを選ぶのが⼤変 • 決定⽊の学習アルゴリズム • CART(簡単で計算しやすいのでよく使われる) • ID3(平均情報量が⼩さくなるように決める) • C4.5(ID3の拡張、ノイズに強い) • ※今回は詳細省きます(組み合わせ⽅の話がメインなので) © 2017 Retrieva, Inc. 12 ⾝⻑ ≥ 𝟏𝟕𝟎 cm 男性 ⼥性 決定⽊のイメージ(決定株を積み重ねた構造) 体重 ≥ 𝟕𝟎 kg 男性 yes yes no no
  • 13.
    • 性能の低い学習器を組み合わせて、⾼性能な学習器を作る⼿法 • 教師あり機械学習の枠組みの⼀つ •三⼈寄れば⽂殊の知恵 • アンサンブル学習の種類(組み合わせ⽅の種類) • バギング • ブースティング • スタッキング(今回は間に合わず) • ... © 2017 Retrieva, Inc. 13
  • 14.
    • 弱学習器を並列に学習して組み合わせる⼿法 • bagging= bootstrap(ブートストラップ) + aggregating(集約) © 2017 Retrieva, Inc. 14 3. 集約2. 学習 分類結果1. ブートストラップ 元データ 弱学習器ブートストラップ標本
  • 15.
    • N個のデータから重複を許してランダムにN回データを選ぶこと • 統計の分野で⺟集団の統計量の推定に使われてきた⼿法 •ちょっとだけ違うデータセットをたくさん作れる © 2017 Retrieva, Inc. 15 ブートストラップ 元データ ブートストラップ標本
  • 16.
    • ちょっとだけ違う学習器が作れる • 並列に学習できる ©2017 Retrieva, Inc. 16 学習 ブートストラップ標本 ⾝⻑ ≥ 𝟏𝟕𝟎 cm 男性 ⼥性 体重 ≥ 𝟕𝟎 kg 男性 ⼥性 ⾝⻑ ≥ 𝟏𝟖𝟎 cm 男性 ⼥性 決定株の場合のイメージ
  • 17.
    • 集約 • 弱学習器の出⼒の多数決を出⼒(回帰なら平均を出⼒) •𝐹 𝒙 = - O ∑ 𝑓Q(𝒙)O QR- © 2017 Retrieva, Inc. 17 集約 分類結果 +1 +1 -1 +1
  • 18.
    • 弱学習器を並列に学習して組み合わせる⼿法 • bagging= bootstrap + aggregating(集約) • 利点 • 学習器は並列に学習できる • 過学習しにくい(安定している) • ⽋点 • 精度ではブースティングに負けることが多い(らしい) © 2017 Retrieva, Inc. 18
  • 19.
  • 20.
    • 弱学習器を順番に学習して組み合わせて強くしていく⼿法 • 前の学習器が誤分類したデータを優先的に正しく分類できるように学 習していく ©2017 Retrieva, Inc. 20 4.集約 分類結果 データ 1. 学習 データの重み データの重み データの重み 2. 学習 3. 学習 学習器の重み𝛼- 学習器の重み𝛼T 学習器の重み𝛼U 弱学習器
  • 21.
    • 弱学習器を順番に学習して組み合わせて強くしていく⼿法 • 前の学習器が誤分類したデータを優先的に正しく分類できるように学習していく •利点 • 精度がよい • ⽋点 • 学習に時間がかかる(並列に学習できない) • 弱学習器の数を増やしすぎると過学習を起こす • 交差検定して決めた⽅が良い • 誤差や外れ値に影響を受けやすい © 2017 Retrieva, Inc. 21
  • 22.
    • Adaptive Boosting(適応的ブースティング)の略 •AdaBoostの分類器 • 𝐹 𝒙 = 𝑠𝑖𝑔𝑛(∑ 𝛼Q 𝑓Q(𝒙))O QR- • 𝑓Q 𝒙 : m番⽬の弱学習器 • 𝛼Q: m番⽬の学習器の重み • ようは、重み付きの多数決 • ※学習中に更新していた学習データの重みは予測には使わない • 学習時には𝑓Q 𝒙 と𝛼Qを決める © 2017 Retrieva, Inc. 22
  • 23.
    • 1. 学習データの重み𝑤1を初期化する。 𝑤1= - ] , 𝑓𝑜𝑟 𝑖 = 1, … , 𝑁 • 2. m = 1, …, M繰り返す • 重み付き誤分類率𝜖Q(0 ≤ 𝜖Q ≤ 0.5)の最も⼩さい弱学習器𝑓Q(𝒙)を学習 する • 𝜖Q = ∑ 𝑤1 H 1R- [𝑦1 ≠ 𝑓Q 𝒙1 ] • 弱学習器の重み𝛼Qを計算する • 𝛼Q = - T log -fgh gh • データの重み𝑤1を更新する • 𝑤1 = 𝑤1 ∗ - jh 𝑒fklmh(𝒙l) 𝑓𝑜𝑟 𝑖 = 1, … , 𝑁 ただし、正規化定数は、𝑍Q = ∑ 𝑒fkomh(𝒙o)H pR- © 2017 Retrieva, Inc. 23 ⼊⼒: 学習データ= 𝒙-, 𝑦- , … , 𝒙H, 𝑦H 弱学習器の数 = M 出⼒: 学習器 𝐹 𝒙 = 𝑠𝑖𝑔𝑛(∑ 𝛼Q 𝑓Q(𝒙))O QR-
  • 24.
    • 2. … •重み付き誤分類率𝜖Q(0 ≤ 𝜖Q ≤ 0.5)の最も⼩さい弱学習器𝑓Q(𝒙)を学習 する • 決定株でナイーブに実装してみると、ここが⼀番重い • ある素性を使う決定株(d個)を作って全データ(N個)を分類する • O(d * N)をM回… • ここをサンプリングでサボる技法はフィルタリングというらしい • 弱学習器の複雑さと期待する精度のトレードオフになりそう • 決定⽊やもっと複雑な学習器にすると精度が上がりそうだが、重み付 き誤分類率が最も⼩さい弱学習器を⾒つけるのに時間がかかる © 2017 Retrieva, Inc. 24
  • 25.
    • 2. … •弱学習器の重み𝛼Qを計算する • 𝜶 𝒎 = 𝟏 𝟐 𝒍𝒐𝒈 𝟏f𝝐 𝒎 𝝐 𝒎 © 2017 Retrieva, Inc. 25 • 誤分類率𝜖x = 0 のとき𝛂 𝐦 → +∞ ∶ 全部正解の場合 • 誤分類率𝜖x = 0.5 のとき𝛂 𝐦 = 0 ∶ ランダムと同じ場合 • 誤分類率𝜖x = 1 のとき𝛂 𝐦 → −∞ : 全部誤りの場合 正解率の⾼い弱学習器の重み𝛂 𝐦は⼤きくなり、正解率が下がると⼩さくなる
  • 26.
    • 2. … •データの重み𝑤1を更新する • 𝑤1 = 𝑤1 ∗ - jh 𝑒fklmh(𝒙l) 𝑓𝑜𝑟 𝑖 = 1, … , 𝑁 ただし、正規化定数は 𝑍Q = ∑ 𝑒fkomh(𝒙o)H pR- © 2017 Retrieva, Inc. 26 正解したデータの重み𝑤1は⼩さくなり、誤分類したデータの重みは⼤きくなる • 正解したデータの重み: −𝑦1 𝑓Q 𝒙1 = −1なので、𝑒fklmh(𝒙l) = 𝑒f- = 0.36 … < 1 • 誤分類したデータの重み: −𝑦1 𝑓Q 𝒙1 = +1なので、𝑒fklmh(𝒙l) = 𝑒€- (= 2.78 … ) > 1
  • 27.
    • 弱学習器の重み𝛼Qとデータの重み𝑤1の正当性 • 他にも良い決め⽅はありそう •指数損失関数L 𝐱 = 𝑒f ∑ kmh(𝒙)‡ hˆ‰ を最⼩化するように、逐次的 に弱学習器𝑓Q(𝒙)と重み𝛼Qを求めようとするとAdaBoostの重み の計算式になる • 実は、AdaBoostは指数損失の最⼩化問題を解いている • 証明はイラストで学ぶ機械学習とかこの記事を読んでネ… • 別の損失関数に基づいたブースティングアルゴリズムがある • MadaBoost(誤差や外れ値に強い) • LogitBoost(確率的な解釈ができる) © 2017 Retrieva, Inc. 27
  • 28.
    • 1. 学習データの重み𝑤1を初期化する。 𝑤1= - ] , 𝑓𝑜𝑟 𝑖 = 1, … , 𝑁 • 2. m = 1, …, M繰り返す • 重み付き誤分類率𝜖Q(0 ≤ 𝜖Q ≤ 0.5)の最も⼩さい弱学習器𝑓Q(𝒙)を学習 する • 𝜖Q = ∑ 𝑤1 H 1R- [𝑦1 ≠ 𝑓Q 𝒙1 ] • 弱学習器の重み𝛼Qを計算する • 𝛼Q = - T log -fgh gh • データの重み𝑤1を更新する • 𝑤1 = 𝑤1 ∗ - jh 𝑒fklmh(𝒙l) 𝑓𝑜𝑟 𝑖 = 1, … , 𝑁 ただし、正規化定数は、𝑍Q = ∑ 𝑒fkomh(𝒙o)H pR- © 2017 Retrieva, Inc. 28 ⼊⼒: 学習データ= 𝒙-, 𝑦- , … , 𝒙H, 𝑦H 弱学習器の数 = M 出⼒: 学習器 𝐹 𝒙 = 𝑠𝑖𝑔𝑛(∑ 𝛼Q 𝑓Q(𝒙))O QR-
  • 29.
    • 2値分類問題からの拡張 • 多クラス分類 •回帰(連続値) • 弱仮説クラスの決め⽅ • 精度と計算時間のトレードオフになる • 誤差や外れ値に強いブースティング • ⼊⼒𝒙に誤差がある、正解ラベル𝑦が間違っているような場合 • ブースティング性 • 毎回ある程度よい弱学習器が⾒つかると仮定したとき、収束の回数を保証で きる(⽬標の誤識別率によるけど) • フィルタリング技法 • ⼀番良い弱学習器を⾒つけるときに全データみずにサンプリングでサボる © 2017 Retrieva, Inc. 29
  • 30.
    • 性能の低い学習器を組み合わせて、⾼性能な学習器を作る⼿法 • 教師あり機械学習の枠組みの⼀つ •三⼈寄れば⽂殊の知恵 • アンサンブル学習の種類(組み合わせ⽅の種類) • バギング • ブースティング • スタッキング(今回は間に合わず) • ... © 2017 Retrieva, Inc. 30
  • 31.
    • ブースティング -学習アルゴリズムの設計技法- •確率的近似学習から⼊ってしっかりと議論する • フィルタリング技法 • 誤差や外れ値に強いブースティング、など • ブースティングの話に特化している • 研究者の⼈向けかも • イラストで学ぶ機械学習 • イラストでは学べない気がする… • 説明は分かりやすいと思う • ブースティング以外も学べる © 2017 Retrieva, Inc. 31
  • 32.
    • ⼊⾨パターン認識と機械学習 • 決定⽊の学習アルゴリズム(CART)なども載っている •ランダムフォレストも • フリーソフトではじめる機械学習⼊⾨ • AdaBoostの重みの更新式の簡単版が載ってた © 2017 Retrieva, Inc. 32
  • 33.