Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
NGBoost論文読んでみた
Search
Taro Masuda
November 05, 2019
Technology
2
3.8k
NGBoost論文読んでみた
@ Connehito Marché vol.6 〜機械学習・データ分析市〜
Taro Masuda
November 05, 2019
Tweet
Share
More Decks by Taro Masuda
See All by Taro Masuda
Rist_Meetup_Kaggleは業務の役にたつ - ビジネスコンテンツ情報を活用する BtoB 事業編 - / rist-meetup-20241012
taro_masuda
1
470
白金鉱業Meetup_経験値ゼロから始める A_B テスト布教活動と意思決定に活かしやすいA_Bテスト設計の一案 / brainpad-meetup-20240919
taro_masuda
2
390
企業・業界動向抽出のための経済情報ラベルの定義とタグ付きコーパスの構築 / yans2023-poster-s3-p21
taro_masuda
0
86
NLP2024 参加報告LT ~RAGの生成評価と懇親戦略~ / nlp2024_attendee_presentation_LT_masuda
taro_masuda
1
390
BtoBプロダクト改善のためのデータドリブン活動と組織の概要/b2b_data_driven_team
taro_masuda
0
840
企業の業界分類予測における共変量シフト問題の抑制
taro_masuda
3
1.4k
ディジタル信号処理の入り口に立つ
taro_masuda
3
310
歌声の特徴に基づいて曲を探そう!
taro_masuda
1
1.5k
Other Decks in Technology
See All in Technology
サイバーセキュリティと認知バイアス:対策の隙を埋める心理学的アプローチ
shumei_ito
0
360
リンクアンドモチベーション ソフトウェアエンジニア向け紹介資料 / Introduction to Link and Motivation for Software Engineers
lmi
4
300k
Team Dynamicsを目指すウイングアーク1stのQAチーム
sadonosake
1
290
AWS⼊社という選択肢、⾒えていますか
iwamot
2
1.1k
ドメインの本質を掴む / Get the essence of the domain
sinsoku
2
140
AIチャットボット開発への生成AI活用
ryomrt
0
150
Oracle Cloud Infrastructureデータベース・クラウド:各バージョンのサポート期間
oracle4engineer
PRO
28
12k
なぜ今 AI Agent なのか _近藤憲児
kenjikondobai
2
1.2k
FOSS4G 2024 Japan コアデイ 一般発表25 PythonでPLATEAUのデータを手軽に扱ってみる
ra0kley
1
140
組み込みLinuxの時系列
puhitaku
4
1.1k
State of Open Source Web Mapping Libraries
dayjournal
0
230
フルカイテン株式会社 採用資料
fullkaiten
0
40k
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.8k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
43
2.2k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
Designing for humans not robots
tammielis
250
25k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9k
Navigating Team Friction
lara
183
14k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.7k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Side Projects
sachag
452
42k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
47
2.1k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Transcript
NGBoost論文読んでみた @ Connehito Marché vol.6 〜機械学習・データ分析市〜 増田 太郎 2019/11/05
自己紹介 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/ef7495960f472ec14377 GBDT(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モデル • 回帰問題で精度を比較した結果、既存手法と遜色ない結果に • 分からなかったこと • 情報幾何・多様体周りの数学的バックグラウンド全般 • なぜ学習率 η 以外にさらに スケーリングファクター ρ が必要? • 論文曰く「局所的な近似は遠い点で成り立たないことがあるため」 • 「不確実性の予測」の正しさの定義?(確率分布の良い仮定は?) • サンプル数大のデータセットで出力分布が鋭くなるか試してみたい