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.9k
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
720
白金鉱業Meetup_経験値ゼロから始める A_B テスト布教活動と意思決定に活かしやすいA_Bテスト設計の一案 / brainpad-meetup-20240919
taro_masuda
2
560
企業・業界動向抽出のための経済情報ラベルの定義とタグ付きコーパスの構築 / yans2023-poster-s3-p21
taro_masuda
0
110
NLP2024 参加報告LT ~RAGの生成評価と懇親戦略~ / nlp2024_attendee_presentation_LT_masuda
taro_masuda
1
430
BtoBプロダクト改善のためのデータドリブン活動と組織の概要/b2b_data_driven_team
taro_masuda
0
950
企業の業界分類予測における共変量シフト問題の抑制
taro_masuda
3
1.4k
ディジタル信号処理の入り口に立つ
taro_masuda
3
330
歌声の特徴に基づいて曲を探そう!
taro_masuda
1
1.6k
Other Decks in Technology
See All in Technology
エンジニアの育成を支える爆速フィードバック文化
sansantech
PRO
3
990
あれは良かった、あれは苦労したB2B2C型SaaSの新規開発におけるCloud Spanner
hirohito1108
2
370
『衛星データ利用の方々にとって近いようで触れる機会のなさそうな小話 ~ 衛星搭載ソフトウェアと衛星運用ソフトウェア (実物) を動かしながらわいわいする編 ~』 @日本衛星データコミニティ勉強会
meltingrabbit
0
140
インフラをつくるとはどういうことなのか、 あるいはPlatform Engineeringについて
nwiizo
5
2.4k
飲食店予約台帳を支えるインタラクティブ UI 設計と実装
siropaca
7
1.6k
データの品質が低いと何が困るのか
kzykmyzw
6
1.1k
転生CISOサバイバル・ガイド / CISO Career Transition Survival Guide
kanny
3
920
Datadog APM におけるトレース収集の流れ及び Retention Filters のはなし / datadog-apm-trace-retention-filters
k6s4i53rx
0
330
個人開発から公式機能へ: PlaywrightとRailsをつなげた3年の軌跡
yusukeiwaki
11
2.9k
AndroidデバイスにFTPサーバを建立する
e10dokup
0
240
Tech Blogを書きやすい環境づくり
lycorptech_jp
PRO
1
230
Postmanを使いこなす!2025年ぜひとも押さえておきたいPostmanの10の機能
nagix
2
140
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
How GitHub (no longer) Works
holman
313
140k
For a Future-Friendly Web
brad_frost
176
9.5k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
10
1.3k
It's Worth the Effort
3n
184
28k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.4k
Measuring & Analyzing Core Web Vitals
bluesmoon
6
240
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
114
50k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Typedesign – Prime Four
hannesfritz
40
2.5k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
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モデル • 回帰問題で精度を比較した結果、既存手法と遜色ない結果に • 分からなかったこと • 情報幾何・多様体周りの数学的バックグラウンド全般 • なぜ学習率 η 以外にさらに スケーリングファクター ρ が必要? • 論文曰く「局所的な近似は遠い点で成り立たないことがあるため」 • 「不確実性の予測」の正しさの定義?(確率分布の良い仮定は?) • サンプル数大のデータセットで出力分布が鋭くなるか試してみたい