Slide 1

Slide 1 text

CFMLؔ࿈ͷϥΠϒϥϦͷ঺հ Kazuki Taniguchi

Slide 2

Slide 2 text

• ৬ྺ • 2014.4-2019.3 • גࣜձࣾαΠόʔΤʔδΣϯτΞυςΫຊ෦ AI Lab
 Research Scientist / MLΤϯδχΞ / Data Scientist • 2019.4- • ITܥϕϯνϟʔ (ϓϩμΫτ։ൃ/ϚʔέςΟϯά) • ϑϦʔϥϯε (AI/MLͷݚڀ։ൃ) • ݚڀ෼໺ • Pattern Recognition / Image Restoration • Recommendation / Response Prediction • Counterfactual Machine Learning ࣗݾ঺հ ୩ޱ ࿨ً (@kazk1018)

Slide 3

Slide 3 text

ࠓճ঺հ͢ΔϥΠϒϥϦ • DoWhy (Microsoft) • EconML (Microsoft) • CausalML (Uber) • Vowpal Wabbit (OSS)

Slide 4

Slide 4 text

ࠓճ঺հ͢ΔϥΠϒϥϦ • DoWhy (Microsoft) • EconML (Microsoft) • CausalML (Uber) • Vowpal Wabbit (OSS) Causal Inference (uplift modeling) Contextual Bandit (ML)

Slide 5

Slide 5 text

Causal Inference Libraries

Slide 6

Slide 6 text

• ໰୊ઃఆ • ؍ଌ͞ΕΔoutcome͸࣍ͷΑ͏ʹදͤΔ Causal Inference : ಛ௃ϕΫτϧ xi ∈ X : հೖͷׂ౰ Ti ∈ T = {0,1} : potential outcome Y(T) i ∈ ℝ Yi = Ti Y(1) i + (1 − Ti )Y(1) i

Slide 7

Slide 7 text

Treatment Effects • Average Treatment Effect (ATE) • Conditional Average Treatment Effect (CATE) τ = [Y(1) − Y(0)] τ(x) = [Y(1) − Y(0) |X = x]

Slide 8

Slide 8 text

Ͳ͏͍͏৔໘Ͱར༻͞ΕΔͷ͔ • Personalized Pricing • ໨త • ׂҾՁ֨ͰΦϑΝʔ͢Δ͜ͱͰߪೖଅਐΛߦ͏ • ׂҾ෼͸ߪೖ਺͕૿͑Δ͜ͱͰ࠾ࢉΛ߹Θ͍ͤͨ Treatment: Outcome: ΦϑΝʔΛग़͔͢Ͳ͏͔ ߪೖ͢Δ͔Ͳ͏͔ ໰୊ઃఆ ׂҾՁ֨ʹΑΔࢪࡦͷҼՌޮՌΛݟ͍ͨ

Slide 9

Slide 9 text

Ͳ͏͍͏৔໘Ͱར༻͞ΕΔͷ͔ • Personalized Pricing ͜ͷࢪࡦ͸શମΛ௨ͯ͠ ͲΕ͘Β͍ͷޮՌ͕͋ΔΜͩΖ͏͔ ͜ͷࢪࡦ͸୭ʹରͯ͠ ͲΕ͘Β͍ͷޮՌ͕͋ΔΜͩΖ͏͔ → ATE → CATE ҼՌޮՌΛ஌Δ͜ͱͰࢪࡦͷޮՌΛଌΕΔ

Slide 10

Slide 10 text

ࠓճ঺հ͢ΔϥΠϒϥϦ • DoWhy (Microsoft) • EconML (Microsoft) • CausalML (Uber)

Slide 11

Slide 11 text

DoWhy • Microsoft͕։ൃͨ͠Python੡ͷҼՌਪ࿦ͷϥΠϒϥϦ • ҼՌਪ࿦ʹ͓͚ΔԾఆΛνΣοΫ͠ͳ͕Β࠷ऴతʹਪఆ·ͰΛ ߦ͏ (backdoor, IV) • άϥϑ(DAG)ΛࣗΒೖྗ͢Δඞཁ͕͋Δ • ҼՌਪ࿦ΛॳΊֶͯͿਓ͕ؒखΛಈ͔͠ͳ͕Βֶश͢Δͷʹ࠷ దͳϥΠϒϥϦͱ͍͏ҹ৅

Slide 12

Slide 12 text

EconML • Microsoft͕։ൃͨ͠Python੡ͷҼՌਪ࿦ͷϥΠϒϥϦ • CATEΛਪఆ͢ΔͨΊͷϞσϧ͕ෳ਺༻ҙ͞Ε͓ͯΓɺ͔ͳΓ ࠷ۙൃද͞Ε͍ͯΔ΋ͷ΋͋Δ (ޙड़) • DoWhyͱൺֱ͢Δͱ؍ଌσʔλͷΈ͔ΒҼՌਪ࿦Λਪఆ͢Δ λεΫʹ͓͍ͯΑΓ࣮༻తͳϥΠϒϥϦ

Slide 13

Slide 13 text

CausalML • Uber͕։ൃͨ͠Python੡ͷҼՌਪ࿦ͷϥΠϒϥϦ • CATEΛਪఆ͢ΔͨΊͷೋͭͷϞσϧ͕࣮૷͞Ε͍ͯΔ (ޙड़) • EconMLͱ໾ׂͱͯ͠͸΄ͱΜͲಉ͡

Slide 14

Slide 14 text

EconMLͱCausalMLͷҧ͍ EconML CausalML estimator.fit(Y, T, X, W) estimator.estimate_ate(Y, T, X) Y: Outcome T: Treatment X: Features W: Controls Y: Outcome T: Treatment X: Features EconML͸CATEʹ͓͚ΔConditionͱͳΔX(Features)ͱ ͦΕҎ֎ͷಛ௃(Controls)Λ෼͚ΔԾఆΛஔ͍͍ͯΔ

Slide 15

Slide 15 text

Algorithms DoWhy EconML CausalML Basic Algorithms (Matching, IV, RD) ̋ Deep IV [1] ̋ Double Machine Learning [2] ̋ Orthogonal Random Forests [3] ̋ Meta-Learners [4] ̋ ̋ Uplift Tree [5] ̋

Slide 16

Slide 16 text

Summary ͜Ε͔ΒҼՌਪ࿦Λֶ΅͏ͱ͢Δਓ ͜Ε͔Β؍ଌσʔλΛ༻͍ͯҼՌޮՌΛਪఆ͍ͨ͠ਓ → EconML / CausalML → DoWhy

Slide 17

Slide 17 text

Contextual Bandit Libraries

Slide 18

Slide 18 text

Contextual Bandit • ໰୊ઃఆ • ΞʔϜΛબ୒͢ΔํࡦΛ࣍ͷΑ͏ʹఆٛ͢Δ : ಛ௃ϕΫτϧ xt ∈ X : ʹબ୒ͨ͠ΞʔϜ at t ∈ A = {a1 , . . , aK } : ΛબΜͰಘΒΕΔใु rat at ∈ ℝ at ∼ π(xt )

Slide 19

Slide 19 text

Contextual Bandit • ࠷దͳarmΛબͼଓ͚ΔํࡦΛ ͱ͢ΔͱɺRegret͸࣍ͷ Α͏ʹදͤΔ • RegretΛ࠷খʹ͢ΔํࡦΛݟ͚͍ͭͨ π*(x) R(π, T) = [ T ∑ t=1 rt,a*] − [ T ∑ t=1 rt,π(x)]

Slide 20

Slide 20 text

Vowpal Wabbit (VW) • C++੡ͷCLIͰಈ͘ػցֶशϥΠϒϥϦ • جຊతͳػցֶशͱόϯσΟοτ͕༻ҙ͞Ε͍ͯΔ • PythonόΠϯσΟϯά΋͋Γ·͢

Slide 21

Slide 21 text

Approaches • Inverse Propensity Score [6] • Doubly Robust Estimator [7] • Direct Method • ୯७ͳใुʹؔ͢Δճؼ (biased) • Multi Task Regression[8]

Slide 22

Slide 22 text

Exploration • ਪ࿦࣌ʹબͿΞΫγϣϯʹ୳ࡧΛؚΊΔ͔Ͳ͏͔ͷΦ ϓγϣϯ͕͋Δ • ୳ࡧΛར༻͢Δ৔߹͸ࣄલʹΞʔϜͷ࠷େ਺Λ஌Δඞཁ ͕͋Δ (ֶश࣌ʹҾ਺ͱͯ͠ೖྗ͢Δ) • ΞʔϜͷ৘ใ͕มԽ͢ΔՄೳੑ͕͋Δ৔߹͸ֶश࣌ͷೖ ྗϑΝΠϧͷϑΥʔϚοτΛมߋ͢Δඞཁ͕͋Δ(adf)

Slide 23

Slide 23 text

Input File Format "DUJPO$PTU1SPCBCJMJUZc\'FBUVSFT^ cBD cCE cBCD cCD cBE ྫ) train.dat Format

Slide 24

Slide 24 text

Input File Format ςΩετ ಛ௃ϕΫτϧ ΞΫγϣϯ ίετ ֬཰ cBD <   >    cCE <   >    cBCD \B C D^    cBC cBCD \B C^ \B C D^  ͸ແࢹ   • ೖྗϑΥʔϚοτͱಛ௃ͷྫ ※(adfͷͱ͖) ෳ਺ߦͰΞʔϜΛදݱɺબ୒͞ΕͨΞʔϜʹίετͱ֬཰Λهड़͢Δ ※

Slide 25

Slide 25 text

Example ͖͞΄ͲͷϑΥʔϚοτ௨Γʹ ςΩετΛ࡞ͬͯϝιουʹೖΕ͍͚ͯͩ͘ (͍͔ʹ΋C++ଆʹ߹ΘͤͨPythonόΠϯσΟϯά…) Training

Slide 26

Slide 26 text

Example Prediction Save & Load Model

Slide 27

Slide 27 text

Summary

Slide 28

Slide 28 text

Summary • ҼՌਪ࿦ͷϥΠϒϥϦͷ঺հ • ͜Ε͔ΒҼՌਪ࿦Λֶ΅͏ͱ͢Δਓ • DoWhy
 • ͜Ε͔Β؍ଌσʔλΛ༻͍ͯҼՌޮՌΛਪఆ͍ͨ͠ਓ • EconML / CausalML • Contextual BanditͷϥΠϒϥϦͷ঺հ • Vowpal Wabbit

Slide 29

Slide 29 text

CFML JP Slackάϧʔϓ ্هͷQRίʔυ͔ΒࢀՃͷ΄Ͳ͓ٓ͘͠ئ͍͠·͢

Slide 30

Slide 30 text

References

Slide 31

Slide 31 text

Reference 1. Jason Hartford, Greg Lewis, Kevin Leyton-Brown, and Matt Taddy, "Deep IV: A flexible approach for counterfactual prediction”, Proceedings of the 34th International Conference on Machine Learning, 2017. 2. Chernozhukov, Victor, Denis Chetverikov, Mert Demirer, Esther Duflo, Christian Hansen, Whitney Newey, and James Robins, “Double/Debiased Machine Learning for Treatment and Structural Parameters”, Econometrics Journal, 21, pp.C1–C68. 3. M. Oprescu, V. Syrgkanis and Z. S. Wu, "Orthogonal Random Forest for Causal Inference”, Proceedings of the 36th International Conference on Machine Learning (ICML), 2019. 4. Sören R Künzel, Jasjeet S Sekhon, Peter J Bickel, and Bin Yu, "Meta-learners for estimating heterogeneous treatment effects using machine learning”, arXiv preprint arXiv:1706.03461, 2017. 5. Piotr Rzepakowski and Szymon Jaroszewicz, "Decision trees for uplift modeling with single and multiple treatments”, Knowl. Inf. Syst., 32(2):303–327, August 2012. 6. Horvitz, D. G., & Thompson, D. J., “A Generalization of Sampling Without Replacement from a Finite Universe”, Journal of the American Statistical Association, 47(260), 663–685 7. Dudı́k Miroslav, Langford, J., & Li, L., “Doubly Robust Policy Evaluation and Learning”, In Proceedings of the 28th International Conference on Machine Learning, Bellevue, 2011 (pp. 1097–1104) 8. Karampatziakis, N., & Langford, J.,”Online Importance Weight Aware Updates”, In Proceedings of the Twenty- Seventh Conference on Uncertainty in Artificial Intelligence (pp. 392–399)

Slide 32

Slide 32 text

Reference • DoWhy • DoWhy (https://microsoft.github.io/dowhy/index.html) • ౷ܭతҼՌਪ࿦ͷͨΊͷPythonϥΠϒϥϦDoWhyʹ͍ͭͯղઆɿͳʹ͕Ͱ͖ͯɺͳʹʹ஫ҙ͢΂͖
 (https://www.krsk-phs.com/entry/2018/08/22/060844) • EconML • EconML (https://github.com/microsoft/EconML) • EconMLύοέʔδͷ঺հ (meta-learnersฤ)
 (https://usaito.hatenablog.com/entry/2019/04/07/205756) • CausalML • CausalML (https://github.com/uber/causalml) • Vowpal Wabbit • Vowpal Wabbit (https://vowpalwabbit.org/index.html)