概要
CounterFactual Machine Learning勉強会 #1
近年因果推論の知識を機械学習に応用したり、逆に因果推論の為に機械学習を応用するといった方法論が提案されています。 この勉強会はCounterfactual Machine Learningと呼ばれるこれらの手法に関する研究や実例の紹介を行う事を目的としたものです。
発表内容
CFMLの概要と研究動向
-
Counterfactual Machine learning
- 反事実が生じるデータを用いた機械学習
Interative LeaningとCasual Inferenceが共変量シフトの部分問題
-
問題設定 intereactive leaning
- 複数の候補の中から単一のアイテムをユーザに推薦し、ユーザからフィードバックを得る問題を考える
- ユーザの情報から商品を決定するための方策(Policy)について考える
- Policyを評価したい
- 既存のログから新しいPolicyを学習したい
-
評価について
- オンライン評価(A/Bテスト)
- 正確な比較を行うことが可能
- 結果が出るまでに時間がかかる
- 開発側のコストが高い
- オフライン評価
- 既存のログから新しいPolicyを評価する
- 実際に見せていない商品を選択する際は評価できない(Counterfactua: (反事実)
- 学習は評価値が最大になる方策を探す
- オンライン評価(A/Bテスト)
-
Interactive Learning
- 入力:コンテキスト
- 方策に従ってアクションを決定
- アクションに基づいて報酬が得られる
- 関連
- Recommendation
- Contextual bandit
- Reinforcement Learning
-
Causal Inference
- ある薬を患者に投下するか(treatment)で、3日後に病気が治ったかどうかの因果関係を測りたい
- 実際に観測するのはどちらか一方のみ(因果推論の根本問題)
-
共変量シフト
- 異なる分布の入力だが(p(x)=p'(x))、予測したい関数・確率が一致する(p(y|x)=p'(y|x))
- 例: xが画像データ、yが人物、p(x)が室内の画像データの分布、p'(x)が屋外の画像データの分布
- 共変量シフト下の予測モデルは、入力密度の密度比を用いることで学習可能
- 異なる分布の入力だが(p(x)=p'(x))、予測したい関数・確率が一致する(p(y|x)=p'(y|x))
-
共変量シフトとの関係
- Dの生成過程に、観測があるかどうかの違い(pとP')
- Dの生成過程に、treatmentがあるかどうかの違い(pとP')
-
動向
- Criteo Ad Placement Challenge
- Counterfactualを扱った機械学習のコンペティション
- 世界最大のDSPのCriteoがデータセットを公開
- 広告配置予測にCounterfactualを考慮した評価指標を導入
- KDD, NIPS, RecSysなどでワークショップ
- Criteo Ad Placement Challenge
バンディットと因果推論
※私の事前知識が不足しており、発表の意図をあまり汲み取れてなかったので、最低限の掲載に留める
-
Off-Plicy Evaluation
- Policyの実装は大変 & 微妙なPolicyを投入するリスク & 検証時間の限界
- なるべくABテストせずに、オフライン検証したい
- ログ上では評価できないCounterfactualをどうやって評価するか
- 評価時に傾向スコアの逆数で重みづけ(IPS: Inverce Propensity Score)
- そのほかDoubly Robust, More Robust Doubly Robust(MRDR)
因果推論で推薦システムを問い直す
-
Recommendation × Causality 界隈
- 情報検索・検索のトップカンファレンスで高く評価されている
- 推薦周りのトレンドの1つ
-
フィードバックループに起因する推薦システムの問題
- ログデータに対してよく予測できるPolicyを良しとするシステム
-
観測されるデータは過去の方策に依存する
- ログ上では、ユーザ×アイテムの観測数に偏りがある
- 単純なMAEによる評価では、観測数が多い組み合わせを当てられるモデルが高い評価になるバイアスが発生する
新規のユーザ×アイテムの組み合わせは?
-
分布の偏り
- 推薦されるアイテムの観測数
- 真のRating分布と観測されるRating分布の乖離
-
因果推論と推薦システム
- 推薦システムで観測するデータは、過去の推薦方策とrating時のバイアスが発生する
- 実際の分布との乖離を取り扱うために、因果推論のテクニックを取り扱う
-
分布の乖離の補正方法
- 観測データを利用して、実際の分布における損失の推定値を使って、評価・学習したい
- 観測されたデータに対して、シンプルに損失を平均をとったNaive推定量は、傾向スコアによるバイアスがかかる
- 傾向スコアの逆数IPS(Inverse Propensity Score)で損失を重みづけする
- 傾向スコアが小さいケースの場合、損失が大きく重みづけられるため、過学習に繋がる