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
Gurobi Machine Learning 1 因果推論とアップリフトモデリング
Search
NearMeの技術発表資料です
PRO
June 16, 2023
Research
0
300
Gurobi Machine Learning 1 因果推論とアップリフトモデリング
NearMeの技術発表資料です
PRO
June 16, 2023
Tweet
Share
More Decks by NearMeの技術発表資料です
See All by NearMeの技術発表資料です
ローカルLLM
nearme_tech
PRO
0
11
LlamaIndex Workflow: Build Practical AI Agents Fast
nearme_tech
PRO
0
8
Box-Muller法
nearme_tech
PRO
1
22
Kiro触ってみた
nearme_tech
PRO
0
98
今だからこそ入門する Server-Sent Events (SSE)
nearme_tech
PRO
4
420
ReactNative のアップグレード作業が (意外に)楽しかった話
nearme_tech
PRO
2
100
強化学習アルゴリズムPPOの改善案を考えてみた
nearme_tech
PRO
0
43
Apple Containerについて調べて触ってみた
nearme_tech
PRO
0
550
Rust 並列強化学習
nearme_tech
PRO
0
37
Other Decks in Research
See All in Research
ドメイン知識がない領域での自然言語処理の始め方
hargon24
1
100
Language Models Are Implicitly Continuous
eumesy
PRO
0
330
AWSで実現した大規模日本語VLM学習用データセット "MOMIJI" 構築パイプライン/buiding-momiji
studio_graph
2
840
ロボット学習における大規模検索技術の展開と応用
denkiwakame
1
140
論文紹介:Safety Alignment Should be Made More Than Just a Few Tokens Deep
kazutoshishinoda
0
120
20250624_熊本経済同友会6月例会講演
trafficbrain
1
750
なめらかなシステムと運用維持の終わらぬ未来 / dicomo2025_coherently_fittable_system
monochromegane
0
4.7k
[RSJ25] Enhancing VLA Performance in Understanding and Executing Free-form Instructions via Visual Prompt-based Paraphrasing
keio_smilab
PRO
0
160
言語モデルの地図:確率分布と情報幾何による類似性の可視化
shimosan
8
2.1k
GPUを利用したStein Particle Filterによる点群6自由度モンテカルロSLAM
takuminakao
0
540
国際論文を出そう!ICRA / IROS / RA-L への論文投稿の心構えとノウハウ / RSJ2025 Luncheon Seminar
koide3
10
5.9k
病院向け生成AIプロダクト開発の実践と課題
hagino3000
0
220
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
65
8k
Optimizing for Happiness
mojombo
379
70k
Code Review Best Practice
trishagee
72
19k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
Scaling GitHub
holman
463
140k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
24
1.5k
Testing 201, or: Great Expectations
jmmastey
46
7.8k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.3k
4 Signs Your Business is Dying
shpigford
186
22k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.2k
Transcript
0 Gurobi Machine Learning 1 因果推論とアップリフトモデリング 2023-06-16 第49回NearMe技術勉強会 @yujiosaka
1 機械学習
2 既知のデータを学習することで、未知のデータについて予測すること 機械学習のおさらい x1とx2の2 変数だけを使って、 メールをSPAMかHAMかに分類したい • x1: 文字化けの数 •
x2: 文中の「おめでとう」の回数 として、以下の分類ができる f(x) > 0: SPAM f(x) < 0: HAM
3 教師あり • 分類 ◦ スパムフィルタ ◦ 画像認識 • 回帰
◦ 株価予測 ◦ 不動産価格予測 教師なし • クラスタリング • GAN(Generative Adversarial Netrowk) 機械学習の分類
4 • 治療を行うことで患者が回復するかどうか • 奨学金を与えることで入学率が向上するかどうか • 割引することで売上が伸ばせるかどうか • etc. リスク
コスト コスト 介入操作が行われる分野 因果推論は、リスクやコストを伴う介入を行う分野とその研究 リスクやコストを最小限に抑えつつ、効果を最大化させたい
5 普通の予測と何が違うのか?
6 因果推論の根本問題 https://ja.wikipedia.org/wiki/%E7%9B%B8%E9%96%A2%E9%96%A2%E4%BF%82%E3%81%A8%E5%9B%A0%E6%9E%9C% E9%96%A2%E4%BF%82
7 アップリフトモデリング
8 対象を4章限に分類 この象限内の対象を分類したい
9 • 「勉強したらテストに合格した」という観測からは 「勉強しなかったらテストに合格しなかった」のかはわからない • 後からこの学生は、「Persuadable」か「Sure Things」かは分類できない • ABテストを行えば、統計的に分類することは可能 •
実用的には、「Persuadable」の分類予測が行えれば十分なことが多い 解説 ABテストを必須としない方法も研究されている 勉強したから合格した 勉強してもしなくても合格した 誰に勉強させる(Treatment)べきかを知りたい
10 勉強した学生(Treated)としなかった学生(Control)の2つのグループにランダムに分ける ①勉強した学生(Treated)を対象に、 過去の成績等のデータから「(勉強した場合の)合格率」を予想するモデルを構築 ②勉強しなかった学生(Control)を対象に、 過去の成績等のデータから「(勉強しなかった場合の)合格率」を予想するモデルを構築 2モデル 過去の成績が分かっている新たな学生に対し、「① - ②
> 0」であれば、 その学生は勉強することで合格率が上がるだろうと予測できる コストの高い勉強(塾に通わせる等)であれば、「① - ②」の差が より大きい学生だけに介入するといった応用もできる
11 • パラメータチューニングが難しくなる • 予測時の計算量が2倍になる • 特徴量の解釈が難しくなる 2モデルの問題点 → それぞれ異なるチューニングをして問題ないかは判断が難しい
→ 一度実行すればいい学習と違って、予測時の計算量は直接サーバーコストに影響する → 2つの学習結果で全く異なる特徴が抽出されてしまう
12 変数Zを導入して、教師として学習 Pythonコード例 1モデル // 学習データ df = pd.DataFrame({ 'y':
[1, 0, 1, 0], //合格したか?(response) 't': [1, 1, 0, 0], // 勉強したか?(treatment) 'x1': [0.2, 0.8, 0.3, 0.4], 'x2': [0.4, 0.4, 0.2, 0.2] }) x = df[['x1', 'x2']] z = 1 - (df['y'] ^ df['t']) // z = [1, 0, 0, 1] model.fit(x, z) // どんな分類器でも可
13 介入の回数や予算に制約がある場合に効果を最大化させたい 例: 試験に合格したn人の学生に対して、奨学金を配ることで入学する学生数を最大化させたい。 ただし、奨学金には予算上限があり、1人あたり250万円以内、n*0.2人までにしか配れない。 どの学生に対して奨学金をどれだけ配るべきか? アップリフトモデリングが答えてくれない問題 数理最適化と機械学習の統合が必要 → 次回
Gurobi Machine Learning を解説
14 • Decision trees for uplift modeling 参考資料
15 Thank you