@ Connehito Marché vol.6 〜機械学習・データ分析市〜
NGBoost論文読んでみた@ Connehito Marché vol.6〜機械学習・データ分析市〜増田 太郎2019/11/05
View Slide
自己紹介1増田 太郎(ますだ たろう) @ml_taro• 仕事:(株)電通国際情報サービス• 画像認識や音響解析まわりの機械学習の技術検証、研究開発、新規事業の企画提案• 興味• 音響信号処理• 機械学習、特にモデルの動作原理など理論に興味あり、ベイズ(PRML)• Kaggle(メダル無し)• 経歴• 機械学習を用いた音楽信号処理の研究 @修士• 論文: https://staff.aist.go.jp/m.goto/PAPER/ISMIR2014masuda.pdf• 音声信号処理の研究 @電機メーカー研究職• 論文: https://ieeexplore.ieee.org/document/7952201
目次1. NGBoost論文を選んだ理由2. GBDTとは3. 提案手法4. 実験結果5. まとめ2
1. NGBoost論文を選んだ理由3① GBDT系の手法が精度が出やすいと注目を集めているから• 特にKaggleのテーブルコンペにおいて上位解法のド定番② 機械学習の多様な教師あり学習問題に適用できそうな手法なので• 論文中では回帰問題で評価しているが、原理的には分類問題にも適用可③ つよつよAndrew Ng先生が共著者に入っているから• Hinton, LeCun, Bengio 先生方に匹敵するDeep Learning界隈の貢献者• Coursera設立者であり、自身のMachine Learning講義も有名 (オススメ)• 余談:NG (Natural Gradient) Boost という手法名が偶然言葉遊びになっている※図:https://twitter.com/kaggle , https://twitter.com/AndrewYNg
(補足)教師あり学習 = {分類問題, 回帰問題}4予測器(モデル)予測器(モデル)入力変数X入力変数X犬生存猫 人…家賃:7万円明日の気温:20℃患者の寿命:11.3ヶ月分類問題はカテゴリ(クラス)分けを予測 回帰問題は数値を予測出力変数Y出力変数Y死亡…
2. GBDTとは ( 1 / 2 )5※図:https://qiita.com/3000manJPY/items/ef7495960f472ec14377GBDT(Gradient Boosting Decision Tree) = 決定木を複数寄せ集めて予測を行うモデル決定木 = ある入力変数について、閾値を定めてif…thenのルールで分ける木構造→ 学習サンプルをルールで区分していくとき、不純度がなるべく低くなるようなルールを学習していく
2. GBDTとは ( 2 / 2 )6※図:『Kaggleで勝つデータ分析の技術』, p.232.GBDT(Gradient Boosting Decision Tree) = 決定木を複数寄せ集めて予測を行うモデル→ ある決定木による予測と正解との差を次の決定木が学習していくことで、単一の決定木よりも高精度な予測を出しやすくなる
3. 提案手法7今までのGBDTでは予測の値のみを出力していた予測器(モデル)入力変数X明日の気温:73.4℉、 患者の寿命:11.3ヶ月出力変数Y予測器(モデル)入力変数X出力変数Y気温(℉) 月(Month)確率確率※グラフ:https://stanfordmlgroup.github.io/projects/ngboost/NGBoostは出力の不確実性を確率値として出力する
(補足)勾配降下法(Gradient Descent)による最適化について8• 下図のように、ある目的関数 J(θ) を最小とするパラメータ θ を求めたい• 最小の点を探しに行く = 山を下るイメージ• その点での微分(導関数) = その点での勾配(上り方向)であることから、逆向き (-1) * 微分係数 に値を更新することで山を下る※図:https://hackernoon.com/gradient-descent-aynk-7cbe95a778da、いらすとや
3. 提案手法9• 具体的には、以下の3つのモジュールから構成される※図:https://arxiv.org/pdf/1910.03225.pdf自然勾配(Natural Gradient)の計算式 = フィッシャー情報量の逆数 * 通常の勾配→ 2階導関数の大きさで更新量を調節→ 勾配が大きく変化する場所は慎重に&勾配があまり変化しない場所は大胆に= 効率的な最適化!入力 モデル(M個)入力xが与えられたときの出力yの条件付き確率出力yのスコア付け基準(最尤推定など) 出力
3. 提案手法:勾配場を図示した例10• 勾配が大きく変化する場所では慎重に、歩幅を小さく• 勾配の変化が小さい場所では大胆に、歩幅を大きく※図:https://arxiv.org/pdf/1910.03225.pdf
3. 提案手法11• まず、分布パラメタの初期値 θ(0)を用いてNatural Gradientを算出※図:https://arxiv.org/pdf/1910.03225.pdf入力 モデル(M個)入力xが与えられたときの出力yの条件付き確率出力yのスコア付け基準(最尤推定など) 出力
3. 提案手法12• 次に、Natural Gradientを用いて m=1個目のモデルを学習させθ(m=1)を予測※図:https://arxiv.org/pdf/1910.03225.pdf入力 モデル(M個)入力xが与えられたときの出力yの条件付き確率出力yのスコア付け基準(最尤推定など) 出力
3. 提案手法13• 分布のパラメタ θ(m=1)を用いてNatural Gradientを更新…以下NG更新とモデル学習を m=M まで繰り返し※図:https://arxiv.org/pdf/1910.03225.pdf入力 モデル(M個)入力xが与えられたときの出力yの条件付き確率出力yのスコア付け基準(最尤推定など) 出力
4. 実験結果14比較手法と互角の性能• 指標:平均2乗誤差の平方根(RMSE)、負の対数尤度(NLL) 注:小さいほど良い• 比較手法:MC dropout、Deep Ensembles• データセット:ボストン家賃予測など10種類※表:https://arxiv.org/pdf/1910.03225.pdf
5. まとめ15• NGBoost = 予測値そのものだけでなく、不確実性 ≒ 自信の無さ を確率値として出力する GBDTモデル• 回帰問題で精度を比較した結果、既存手法と遜色ない結果に• 分からなかったこと• 情報幾何・多様体周りの数学的バックグラウンド全般• なぜ学習率 η 以外にさらに スケーリングファクター ρ が必要?• 論文曰く「局所的な近似は遠い点で成り立たないことがあるため」• 「不確実性の予測」の正しさの定義?(確率分布の良い仮定は?)• サンプル数大のデータセットで出力分布が鋭くなるか試してみたい