365 Views
August 15, 23
スライド概要
機械学習や音声認識に関する書籍を執筆しています。
5章 アンサンブル学習 p.146 2コマ目 • 荒木雅弘(著), 渡まかな(作画), ウェルテ(制作) : 『マンガでわかる機械学習』 (オーム社, 2018年) • サポートページ
5章のストーリー • 清原はディープラーニングを使って糖尿病診断システムに再 チャレンジしようとする • さやかは識別精度を向上させる別の方法としてアンサンブル 学習を教える
アンサンブル学習 • アンサンブル学習とは • 識別器を複数組み合わせ、それらの結果を統合することで、 個々の識別器よりも性能を向上させる方法 • なぜ複数の識別器で性能が向上するのか 確率 • 誤り率20%の識別器を11個作成 • それぞれが誤るのは独立 多数決を取った場合 半数以上が 誤る確率 ⇒ 半数以上が誤るのは1.2% 誤る識別器の数
アンサンブル学習 • ここまでの議論の非現実的なところ 「それぞれの識別器の誤りが独立」 ⇒ データの誤りやすさに差はない × 多くの識別器が誤る • アンサンブル学習の目標 • なるべく異なる振る舞いをする識別器を作成する
アンサンブル学習 • アンサンブル学習の手法 • バギング • ランダムフォレスト • ブースティング
バギング • バギングのアイディア • 異なる学習データから作成された識別器は異なる • 手順 元データと同じサイズの復元抽出 ⇒ 約1/3が含まれない 入力 データ1 データ2 識別器1 識別器2 結果1 結果2 ... データm 識別器m 多数決 結果 結果m 識別器には決定木 がよく用いられる ⇒ データが異なれ ば結果が大きく異 なる
ランダムフォレスト • ランダムフォレストのアイディア • バギング+識別器を作成する毎に異なる特徴を用いることで異なった 識別器を複数作成する • 手順 この分岐条件を選ぶときに... 年齢 血圧 BMI 血糖値 乱数で抽出して 年齢 血圧 情報獲得量の 多い方を選択 BMI 血糖値 あえて使わない
ブースティング • ブースティングのアイディア • 現在の識別器が誤識別を起こすデータを正しく識別する識別器を逐 次的に追加 • 過学習とならないように、識別器として浅い決定木を用いることが 多い
AdaBoost • 前段の識別器が誤ったデータの重みを重くする 入力 x1 x1 x2 x2 x3 識 別 器 1 x3 ... xn 結果1 x2 識 別 器 2 x3 ... 識 別 器 m ... ... xn x1 xn 結果2 重み付き投票 結果 結果m
勾配ブースティング • 損失が最小となるような識別器を逐次加える 入力 x1 x2 x3 識 別 器 1 識 別 器 2 ... F2=h1+α2h2 h1 xn 結果1 を用いて計算 した損失が最小 になるように α2とh2を求める h2 ... F3=F2+α3h3 を用いて計算 した損失が最小 になるように α3とh3を求める 識 別 器 m hm αm α2 結果2 重み付き投票 結果 結果m