SlideShare a Scribd company logo
1 of 43
Download to read offline
The Selective Labels Problem:
Evaluating Algorithmic Predictions in the Presence of
Unobservables
Himabindu Lakkaraju, Jon Kleinberg, Jure Leskovec, Jens Ludwig, Sendhil Mullainathan
KDD 2017
paper friday 2018/10/26
Shota Yasui
今日の話は・・・
人の意思決定ログから、
人を超える意思決定
ルールを作りたい。
2
大体の概要
● ある意思決定タスクがある時に以下のログが残る
○ 決定した事
○ その時の状況
○ その意思決定の結果
● この様なログから予測モデルを学習させる様な状況を考える
● この場合により適切と思われるMLの評価方法を提案
● テストデータ上の人間の評価と比較する
3
想定している例
(judicial bail decisions/保釈を許可するか?)
4
被告
裁判官
保釈と被告の意思決定
保釈されない場合
保釈された場合
5
保釈と被告の意思決定
保釈されない場合
保釈された場合
再犯
模範的生活
6
保釈と被告の意思決定
保釈されない場合
保釈された場合
再犯
模範的生活
社会的なコスト 7
裁判官のタスク
● 社会的コストの削減の必要性
○ なるべく保釈したい
○ 再犯もなるべく減らしたい
● 再犯しそうな人は保釈しない
● 再犯しなさそうな人は保釈する
→再犯予測を行って意思決定する
予測部分をMLに差し替えられるか? 8
保釈と被告の意思決定
保釈されない場合
(t = 0 & Y = NA)
保釈された場合
(t = 1)
再犯
(t = 1 & Y = 0)
模範的生活
(t = 1 & Y = 1)
9
保釈と被告の意思決定
保釈されない場合
(t = 0 & Y = NA)
保釈された場合
(t = 1)
再犯
(t = 1 & Y = 0)
模範的生活
(t = 1 & Y = 1)
10
教師あり学習の応用
MLの応用が難しい2つの理由
● Unobserved Variable
○ 裁判官には利用できるけど、 MLには利用できない特徴量( Z)がある。
○ 例)法廷審問での被告の挙動や家族の聴講の有無
○ オフィシャルな記録には残らない為に MLでは利用できない
● Selective labels
○ 裁判官が保釈した被告については、再犯の結果がわかる。
○ 保釈しなかった被告についてはわからない。
○ 再犯しそうな被告は Yが観測されにくい(Y = NA)
11
この組み合わせの問題点
12
家族の法廷審問への出席
再犯
(Y = 0)
模範的生活
(Y = 1)
● 家族が法廷審問に出席する場合再犯確率はかなり下がる(家族による監視?)
● 裁判官はこれを判断の要素にしている。
● 若い被告だと家族が出席する比率が高い
この組み合わせの問題点
13
家族の法廷審問への出席
再犯
(Y = 0)
模範的生活
(Y = 1)
● 家族が法廷審問に出席する場合再犯確率はかなり下がる(家族による監視?)
● 裁判官はこれを判断の要素にしている。
● 若い被告だと家族が出席する比率が高い
オフィシャルな記録には残ら
ないので、Unobserved.
この組み合わせの問題点
14
再犯
(Y = 0)
模範的生活
(Y = 1)
● MLには被告の家族の出席のデータは与えられない
● 相関の強い被告の年齢を通してこの効果を学習してしまう
被告が若い
結局ログデータで起きること
15
若い、家族の聴講あり
家族の特徴はunobserved
保釈されやすい 再犯しにくい
保釈されにくい
裁判官は再犯しやすい
のを知っている
Yが観測出来ないので学習データに含まれにくい
本当の再犯率は高め
学習データに含まれる
再犯率は低め
若い、家族の聴講なし
結局ログデータで起きること
16
若い、家族の聴講あり
家族の特徴はunobserved
若い、家族の聴講なし
保釈されやすい 再犯しにくい
保釈されにくい
裁判官は再犯しやすい
のを知っている
Yが観測出来ないので学習データに含まれない
本当の再犯率は高め
学習データに含まれる
再犯率は低め
MLで学習
再犯率低
学習データ内での評価は
いい感じになる
本番で起きること
17
ML model 再犯率予測:低
誤差:高
● 学習データでは消えていたような被告に対しても予測しなければならない
● 被告の年齢を通じて家族の聴講の効果を学習している
● よって、年齢が若いだけの被告に対しても再犯確率が低いという予測を行う
こういったモデルを投入する事は避けたい →オフラインの評価を改善する必要がある
ML model 再犯率予測:低
誤差:低
offlineでの評価を
どうするか?
18
セッティング
● 再犯するか否かの y はSelective labels
● 裁判官は複数人いる
○ それぞれ保釈の意思決定の基準が異なる
○ 裁判ごとに裁判官は ランダムに一人アサインされる
○ アサインされた裁判で自己の予測に基づき保釈 t を決める(0 or 1)
● 特徴量はX, W, Zの3種類
○ X: MLにも裁判官にも利用できる
○ W: MLにも裁判官にも利用出来ない
○ Z: 裁判官のみに利用できる
● MLのモデル B は別のデータで学習済みとする
● テストデータにおける人間の意思決定の評価とMLの評価を比較したい 19
Golden Standard Solution
RCT!
20
テストデータでの評価基準の設定
同じAcceptance Rateを持ちながら、低いFailure Rateを持つ場合、強い。
21
● それぞれの定義
○ 100人の裁判
○ 80人保釈するとAcceptance Rate = 80%
○ そのうち20人再犯するとFailure Rate = 20%
● 右図の様なカーブを描けるはず(黒)
○ 保釈するほど再犯数が上がって FRが上がる
● MLのカーブ(赤)が下回ると嬉しい
○ ARが同じだと刑務所の運用コストは同じ
○ FRが低いと再犯の社会コストが低い acceptance rate
failure rate
大雑把な流れ
22
Acceptance Rate(AR) = 70%での評価を行うとする
1. 最もARが高い裁判官で保釈されているデータを持ってくる(AR = 90%)
2. 評価したいモデルBでそのデータに予測値を出す
3. 評価したいARと同じになるまで再犯率の高い順にデータを捨てる
4. 再犯数を集計してFailure Rate(FR)を算出する(モデルのFR)
5. AR = 70%付近のデータを集めて人間のFRを算出
6. 比較する
絵にしてみる
23
30
50
20
AR = 70%
FR = 20%
評価したい
AR=70%のデータ
10
60
30
AR=90%のデータ
ML Model
55
15
delete
delete
delete
FR = 15%
AR = 70%
・MLで再犯確率を予測
・再犯確率が高い順に削除
 (=保釈しない)
・AR = 70%になるまで消す
もう一度
24
30
50
20
AR = 70%
FR = 20%
評価したい
AR=70%のデータ
10
60
30
AR=90%のデータ
ML Model
55
15
delete
delete
delete
FR = 15%
AR = 70%
・MLで再犯確率を予測
・再犯確率が高い順に削除
 (=保釈しない)
・AR = 70%になるまで消す
この二つを比べる事に妥当性は有るのか?
比較の妥当性
● 違う裁判官のデータを持ってくる事はアリなのか?
○ 裁判官がランダムにアサインされているのであればアリ
○ この場合持ってきたデータは評価したいデータと同質
○ よって、MLの性能も評価したいデータでの性能とほぼ同じになる・・・はず
○ 裁判官の判断基準も大きくは変わらないという想定も必要
● FRを比較するのはアリなのか?
○ FRは与えられたデータの中でどれだけ再犯を許してしまったか?という値
○ ARが同一なのであればこの比較は妥当
○ そしてARが揃う様に予測値に応じてデータを消しているので OK
○ 代わりに各ARの値毎にFRの比較が必要→カーブを描く 25
algorithm
26
モデル B の AR = r での u(FR) を推定
S: Bによる再犯確率の予測値
ARが最も高い意思決定しゃが生んだデータに絞る
さらに保釈されたデータのみに絞る
予測値Sでデータを降順にソートする
評価したい r とARが一致するまでデータを上から消す
結果手に残ったデータはMLが保釈するべきと判断したデータ
FRを計算する
FR estimationのquality
● 最も甘い裁判官の意思決定とMLの意思決定がずれる場合
○ 最も甘い裁判官が保釈しなかった被告を MLが保釈する様な選択をする場合
○ この場合にはFRの推定誤差が大きい可能性がある
● 論文内ではworst-case boundの定義が行われている
○ 実験で完全にスルーだったのでここでもスルーします
27
実験①
● シミュレーションデータ
○ 裁判官の数:M = 100
○ 裁判官一人当たりの裁判の数: 500
○ 裁判の数:N = 50,000
○ 特徴:X, Z, W (全て 平均0 分散1の正規分布から生成)
○ 裁判官毎のAR: r ( [0.1 - 0.9]の間で一様分布から生成してラウンドを取る)
● Y = 0になる確率が0.5以上であれば Y = 0としそれ以外は1とする
● Tの決定は以下の様な手順で行う
○ 非保釈確率を決定する
○ 裁判官毎にデータをグループ化して非保釈確率を高い順に並べる
○ それぞれのグループで上から (1-r)*100%分だけ T=0として残りをT = 1とする
28
実験①
● モデルの学習
○ テストデータの t = 1 のデータだけで学習
○ モデルはLogistic Regression
● 試す評価方法について
○ True Evaluation
■ 全てのサンプルに予測値を出して、ARの値に応じて保釈対象を決定させてFRを集計したもの。
■ 本番投入したらどんな評価になるかを示している(所謂Oracle)
○ Contraction
■ 提案手法
○ Labeled Outcomes
■ t = 1 のデータのみに予測値をつけて下から AR%分のデータのYでFRを算出する
■ 現実的に手に入るデータだけで機械学習的な評価を試しているもの(Conventional Practice)
○ Propensity Score
■ PSを利用してt = 1のデータからt = 0のYを埋める
■ そのデータを使ってAR毎にFRを集計する
29
結果①
● Human Evaluationは比較したい人間の評価
○ t=1のデータでAR毎にFRを計算すれば出てくる
● Labeled OutcomesもPropensity ScoreもTrue Evaluationと
乖離が大きい。
○ 両者に差がほぼないのはunobservedの影響?
● ContractionはTrue Evaluationとの乖離が非常に少ない
○ Human Evaluationとの比較ではMLの方が評価が低
いという判断になる。
うまく行っている感じある
30
結果①
● Unobservedの影響を増やしてみる
● Contractionはrobust
● 他の方法はTEとのMAEが上昇
31
結果①
32
● 最も甘い裁判官のARが下がるとどうなるか?(左)
○ ARが下がるとデータが限られて評価の誤差が上る
● 最も甘い裁判官が保釈しないと決めた人と、 MLが保釈しないと決めた人の一致率(中央)
○ Agreement Rateが落ちるとMAEが下がる
● 最も甘い裁判官が受け持つ裁判数(右)
○ 裁判数が増えるとMAEは下がる
MLで予測させるデータの質と MAEの関係性
実験②
● bail dataset
○ 裁判の数:N = 9,000
○ 裁判官の数:M = 18
● 保釈された場合に再犯するか否かを予測したい
○ 被告の特徴量はデモグラ+犯罪履歴
○ selectively labeled
■ 裁判官に保釈を却下された場合に起きる
■ 保釈の許可か却下かのデータはある
● oracleのデータはないので、相対的な比較のみ。
33
実験②
34
Labeled Outcomeは過度にMLの評価を高く見積もっている
実験③
● medical treatment dataset
○ N = 60,000 咳や喘鳴を訴える患者
○ 患者の特徴量 デモグラ+症状+過去の病気の履歴+テスト結果(?)
○ 治療は短期間の薬を処方されるか、長期間の強い薬を処方される。
■ 簡単に治りそうに無ければ長期の薬を処方する
● 15日以内に症状の再発が見られるか?を予測する
○ selectively labeled
■ 長期間の強い薬を処方された場合再発率は0
■ 長期間のアサインをされた人は短期間のアサインをされた場合のラベルがわからない
35
実験③
36
Labeled Outcomeは過度にMLの評価を高く見積もっている
実験④
● insurance dataset
○ N = 50,000 顧客からの保険の申請
○ M = 74
● 顧客に保険を売った場合に保険会社が損するか否かを予測したい
○ それに基づいて申請に対して却下するかを決めたい
○ 顧客の特徴 業種+損益+資産+ previous expertise?
○ selectively labeled
■ 却下した申請については、損益額は不明。
37
実験④
38
Labeled Outcomeは過度にMLの評価を高く見積もっている
まとめ
● 人の意思決定データでモデルを評価する方法を提案した
● Unobserved + selective labelsという問題を克服
● 評価は出来るようになったが、大体負けている事がわかった。
○ どれだけまともにチューニングしているかとかは書いてない
39
おしまい
40
感想
● Selectively labeled + unmeasured featureはビジネス上よくある問題
● ワークフローを大きく変更できないけどログは溜まる状態
○ 様々な人が勝手気ままに意思決定をしたデータ
○ 意思決定の詳細なログはなく根拠となる特徴が欠損
○ 実験してないのでラベルも不明
○ The 代理店環境という感じ
○ コンサル会社が請け負う AIタスクはこんな感じな気がする
● 意思決定タスクがランダムにアサインという仮定はきつい
○ 難しい判断は熟練者に行く傾向は当然存在するはず
○ 運用額の大きいクライアントにはベテランがつく
○ この点の改善可能性はあるのだろうか?
○ IPWの出番な気もするけど・・・
41
感想
● 意思決定の基準が人毎に大きく異なる場合にはどうなるか?
○ そもそもARが20%の人も80%の人もいるって結構ヤバいのでは w
● 一番甘い意思決定者のデータだけを使う意味はあるのか?
○ サンプル数が増えると MAEが落ちるが、ARも下がる
○ 結果的に誤差はどうなるんだろうか?
○ 良い塩梅のポイントがある気がするが推定は難しそうに思える
● Contractの評価を評価関数にしてモデルを学習できるか?
○ = interactive learningの世界に持ってこれるのか?
42
感想
● 再犯の社会的コストにはheterogeneityがあるのでは?
○ 分類以外の評価ができるなら対応出来そうだけど・・・
43

More Related Content

More from Shota Yasui

Xgboost for share
Xgboost for shareXgboost for share
Xgboost for shareShota Yasui
 
重回帰分析で頑張る
重回帰分析で頑張る重回帰分析で頑張る
重回帰分析で頑張るShota Yasui
 
Dynamic panel in tokyo r
Dynamic panel in tokyo rDynamic panel in tokyo r
Dynamic panel in tokyo rShota Yasui
 
Rで部屋探し For slide share
Rで部屋探し For slide shareRで部屋探し For slide share
Rで部屋探し For slide shareShota Yasui
 

More from Shota Yasui (6)

Prml nn
Prml nnPrml nn
Prml nn
 
Xgboost for share
Xgboost for shareXgboost for share
Xgboost for share
 
重回帰分析で頑張る
重回帰分析で頑張る重回帰分析で頑張る
重回帰分析で頑張る
 
Dynamic panel in tokyo r
Dynamic panel in tokyo rDynamic panel in tokyo r
Dynamic panel in tokyo r
 
Rで部屋探し For slide share
Rで部屋探し For slide shareRで部屋探し For slide share
Rで部屋探し For slide share
 
Salmon cycle
Salmon cycleSalmon cycle
Salmon cycle
 

PaperFriday: The selective labels problem