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
650
白金鉱業Meetup_経験値ゼロから始める A_B テスト布教活動と意思決定に活かしやすいA_Bテスト設計の一案 / brainpad-meetup-20240919
taro_masuda
2
530
企業・業界動向抽出のための経済情報ラベルの定義とタグ付きコーパスの構築 / yans2023-poster-s3-p21
taro_masuda
0
110
NLP2024 参加報告LT ~RAGの生成評価と懇親戦略~ / nlp2024_attendee_presentation_LT_masuda
taro_masuda
1
420
BtoBプロダクト改善のためのデータドリブン活動と組織の概要/b2b_data_driven_team
taro_masuda
0
920
企業の業界分類予測における共変量シフト問題の抑制
taro_masuda
3
1.4k
ディジタル信号処理の入り口に立つ
taro_masuda
3
320
歌声の特徴に基づいて曲を探そう!
taro_masuda
1
1.5k
Other Decks in Technology
See All in Technology
.NET 最新アップデート ~ AI とクラウド時代のアプリモダナイゼーション
chack411
0
200
あなたの人生も変わるかも?AWS認定2つで始まったウソみたいな話
iwamot
3
870
2025年に挑戦したいこと
molmolken
0
170
タイミーのデータ活用を支えるdbt Cloud導入とこれから
ttccddtoki
1
290
【JAWS-UG大阪 reInvent reCap LT大会 サンバが始まったら強制終了】“1分”で初めてのソロ参戦reInventを数字で振り返りながら反省する
ttelltte
0
140
フラット構造をやめた理由と、EM / Tech Leadを作った理由
baroqueworksdev
0
110
カップ麺の待ち時間(3分)でわかるPartyRockアップデート
ryutakondo
0
140
月間60万ユーザーを抱える 個人開発サービス「Walica」の 技術スタック変遷
miyachin
1
150
Building Scalable Backend Services with Firebase
wisdommatt
0
110
Visual StudioとかIDE関連小ネタ話
kosmosebi
1
380
Amazon Route 53, 待ちに待った TLSAレコードのサポート開始
kenichinakamura
0
180
Bring Your Own Container: When Containers Turn the Key to EDR Bypass/byoc-avtokyo2024
tkmru
0
860
Featured
See All Featured
Making Projects Easy
brettharned
116
6k
Designing for humans not robots
tammielis
250
25k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Embracing the Ebb and Flow
colly
84
4.5k
Documentation Writing (for coders)
carmenintech
67
4.5k
It's Worth the Effort
3n
183
28k
Building Applications with DynamoDB
mza
93
6.2k
Rails Girls Zürich Keynote
gr2m
94
13k
Making the Leap to Tech Lead
cromwellryan
133
9k
Learning to Love Humans: Emotional Interface Design
aarron
274
40k
GraphQLの誤解/rethinking-graphql
sonatard
68
10k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
4
180
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モデル • 回帰問題で精度を比較した結果、既存手法と遜色ない結果に • 分からなかったこと • 情報幾何・多様体周りの数学的バックグラウンド全般 • なぜ学習率 η 以外にさらに スケーリングファクター ρ が必要? • 論文曰く「局所的な近似は遠い点で成り立たないことがあるため」 • 「不確実性の予測」の正しさの定義?(確率分布の良い仮定は?) • サンプル数大のデータセットで出力分布が鋭くなるか試してみたい