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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
NearMeの技術発表資料です
PRO
June 16, 2023
Research
320
0
Share
Gurobi Machine Learning 1 因果推論とアップリフトモデリング
NearMeの技術発表資料です
PRO
June 16, 2023
More Decks by NearMeの技術発表資料です
See All by NearMeの技術発表資料です
OpenCode Introduction
nearme_tech
PRO
0
14
【Browser Automation × AI】 Stagehandを試してみよう
nearme_tech
PRO
0
53
AIを用いた PID制御で部屋 の温度制御をしてみた
nearme_tech
PRO
0
60
CopilotKit + AG-UIを学ぶ
nearme_tech
PRO
3
280
Tile38 Overview
nearme_tech
PRO
0
65
Rust 製のコードエディタ “Zed” を使ってみた
nearme_tech
PRO
0
870
実践で使えるtorchのテンソル演算
nearme_tech
PRO
0
39
ローカルLLMを⽤いてコード補完を⾏う VSCode拡張機能を作ってみた
nearme_tech
PRO
0
680
初めてのmarimo (ハンズオン)
nearme_tech
PRO
0
53
Other Decks in Research
See All in Research
ウェブ・ソーシャルメディア論文読み会 第36回: The Stepwise Deception: Simulating the Evolution from True News to Fake News with LLM Agents (EMNLP, 2025)
hkefka385
0
210
An Open and Reproducible Deep Research Agent for Long-Form Question Answering
ikuyamada
0
380
Thirty Years of Progress in Speech Synthesis: A Personal Perspective on the Past, Present, and Future
ktokuda
0
200
湯村研究室の紹介2025 / yumulab2025
yumulab
0
330
[チュートリアル] 電波マップ構築入門 :研究動向と課題設定の勘所
k_sato
0
370
R&Dチームを起ち上げる
shibuiwilliam
1
210
AIを叩き台として、 「検証」から「共創」へと進化するリサーチ
mela_dayo
0
220
英語教育 “研究” のあり方:学術知とアウトリーチの緊張関係
terasawat
1
780
データサイエンティストの業務変化
datascientistsociety
PRO
0
350
第二言語習得研究における 明示的・暗示的知識の再検討:この分類は何に役に立つか,何に役に立たないか
tam07pb915
0
3k
離散凸解析に基づく予測付き離散最適化手法 (IBIS '25)
taihei_oki
PRO
1
740
視覚から身体性を持つAIへ: 巧緻な動作の3次元理解
tkhkaeio
1
230
Featured
See All Featured
Practical Orchestrator
shlominoach
191
11k
Amusing Abliteration
ianozsvald
1
150
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
99
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
95
Building Adaptive Systems
keathley
44
3k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
430
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
The SEO identity crisis: Don't let AI make you average
varn
0
430
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
1k
How to train your dragon (web standard)
notwaldorf
97
6.6k
Ruling the World: When Life Gets Gamed
codingconduct
0
190
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