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
590
白金鉱業Meetup_経験値ゼロから始める A_B テスト布教活動と意思決定に活かしやすいA_Bテスト設計の一案 / brainpad-meetup-20240919
taro_masuda
2
480
企業・業界動向抽出のための経済情報ラベルの定義とタグ付きコーパスの構築 / yans2023-poster-s3-p21
taro_masuda
0
95
NLP2024 参加報告LT ~RAGの生成評価と懇親戦略~ / nlp2024_attendee_presentation_LT_masuda
taro_masuda
1
410
BtoBプロダクト改善のためのデータドリブン活動と組織の概要/b2b_data_driven_team
taro_masuda
0
900
企業の業界分類予測における共変量シフト問題の抑制
taro_masuda
3
1.4k
ディジタル信号処理の入り口に立つ
taro_masuda
3
320
歌声の特徴に基づいて曲を探そう!
taro_masuda
1
1.5k
Other Decks in Technology
See All in Technology
5分でわかるDuckDB
chanyou0311
10
3.1k
re:Invent をおうちで楽しんでみた ~CloudWatch のオブザーバビリティ機能がスゴい!/ Enjoyed AWS re:Invent from Home and CloudWatch Observability Feature is Amazing!
yuj1osm
0
110
Snykで始めるセキュリティ担当者とSREと開発者が楽になる脆弱性対応 / Getting started with Snyk Vulnerability Response
yamaguchitk333
2
170
私なりのAIのご紹介 [2024年版]
qt_luigi
1
110
Classmethod_regrowth_2024_tokyo_security_identity_governance_summary
hiashisan
0
980
ニューモーフィズムってどうなの
toridori_dev
0
110
ブラックフライデーで購入したPixel9で、Gemini Nanoを動かしてみた
marchin1989
1
380
GPTsで模擬問題生成して資格対策してみる
hsg_alf
2
130
統計データで2024年の クラウド・インフラ動向を眺める
ysknsid25
2
810
どちらを使う?GitHub or Azure DevOps Ver. 24H2
kkamegawa
0
320
プロダクト開発を加速させるためのQA文化の築き方 / How to build QA culture to accelerate product development
mii3king
1
240
なぜCodeceptJSを選んだか
goataka
0
110
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Practical Orchestrator
shlominoach
186
10k
Designing for humans not robots
tammielis
250
25k
Why Our Code Smells
bkeepers
PRO
335
57k
BBQ
matthewcrist
85
9.4k
How to Think Like a Performance Engineer
csswizardry
22
1.2k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.8k
Done Done
chrislema
181
16k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Optimising Largest Contentful Paint
csswizardry
33
3k
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モデル • 回帰問題で精度を比較した結果、既存手法と遜色ない結果に • 分からなかったこと • 情報幾何・多様体周りの数学的バックグラウンド全般 • なぜ学習率 η 以外にさらに スケーリングファクター ρ が必要? • 論文曰く「局所的な近似は遠い点で成り立たないことがあるため」 • 「不確実性の予測」の正しさの定義?(確率分布の良い仮定は?) • サンプル数大のデータセットで出力分布が鋭くなるか試してみたい