Upgrade to Pro — share decks privately, control downloads, hide ads and more …

機械学習による確率推定とカリブレーション/probabilistic-calibration-on-classification-model

S-Katagiri
April 20, 2024

 機械学習による確率推定とカリブレーション/probabilistic-calibration-on-classification-model

会社の組織改編によりアカウントが消えて閲覧できなくなっていたため, アップロードし直しました. 一部の誤字の修正以外は, 発表当時のものと同じ内容です.

発表時のイベント: https://techplay.jp/event/777148
当時のURL: https://speakerdeck.com/fancomi_tech/ji-jie-xue-xi-niyoruque-lu-tui-ding-tokariburesiyon

S-Katagiri

April 20, 2024
Tweet

More Decks by S-Katagiri

Other Decks in Science

Transcript

  1. 自己紹介 • ファンコミュニケーションズの機械学習エンジニア • リモートワーク中毎日新しい料理に挑戦しています • おすすめの YouTube 料理チャンネル •

    中華: 美食作家王刚 • 中世: Random Innkeeper • ロシア + CIS: Всегда Вкусно!, Сталик Ханкишиев • @ill_identified, 個人ブログ 図 1: 料理の例 2
  2. なぜ機械学習か • 広告の価値に応じて入札価格を決める • オークション理論に基づく話 [16, 17] • 価値 =

    クリック率 (CTR) やコンバージョン率 (CVR) の期待値 • 機械学習で CTR や CVR を予測したい • 入札の時点ではクリック/CV があるかは未知のため 6
  3. 機械学習 = 答え合わせの技術 • 機械学習 (教師あり学習) は答えがないとできない • 特徴量 x

    から計算する予測値 ˆ y を目的変数 y(正解) に できる限り一致させる • = 誤差, 誤答を減らすようなモデルを見つける • 今回は特に「分類」の話 • 機械学習は「回帰」 「分類」の 2 通りに分けて説明 • 機械学習の詳しい話は [20] などを 7
  4. 機械学習: 回帰 • 回帰 (regression) は目的変数 y が数量 • y

    にできるだけ近づけられるように線を引く x y 図 2: 回帰の例 8
  5. 回帰の具体例 惑星の緯度を/// 時/// 刻経度で回帰 • 最古の回帰問題 • 目的変数: 惑星の過去の位置データ •

    特徴量: /// 時/// 刻 位置 (/// 時/// 刻経緯度があ れば理論上の軌道を計算可) 子の身⻑を親の身⻑で回帰 •「回帰分析」の原点 • 目的変数: 子の身⻑ • 特徴量: 親の身⻑ 9
  6. 分類の具体例 画像に何が写っているか (画像認識) • 目的変数: 画像に何が写っているかのラベル • 特徴量: ピクセルごとの色情報 広告表示してクリックするかどうか

    • 目的変数: クリックされたかどうかのログ • 特徴量: ユーザーの IP, 広告のジャンル, 掲載される サイト等 11
  7. まず厳密な話を少し • 0 か 1 かの 2 値分類予測モデルを数式で表現 • N

    件のデータの i 番目のデータ (xi , yi ) • xi は特徴量, yi はラベル (正解値) • 平均値 ¯ y は正例の割合 • 予測モデルは xi から ˆ pi を出力する関数 ˆ pi =g(xi ) • ˆ pi は yi = 1 の可能性スコア • ここでは確率と同一視して 0 ≤ ˆ pi ≤ 1 • スコアに基づいて yi の予測値 ˆ yi を出力 ˆ yi =    0 if ˆ pi < .5 1 if ˆ pi ≥ .5 13
  8. 3 種類の分類 [7] 的中性 (accuracy) • ラベルに対する予測が的中しているか •「的中率」や「F スコア」で評価 判別性

    (discrimination) • スコアがラベルを区別できているか • ROC-AUC や対数損失 (log loss) で評価 確率 (probability/risk) 推定 • スコアが本来の確率を表現できているか • 今回扱う話 14
  9. 三者の関係 • 的中性, 判別性, 確率の順に解像度が細かくなる • 的中‧判別はほとんど同じなので同一視する場合も [6, 1] •

    ラベルさえ一致すれば良い -> 的中性 • 予測のスコアも知りたい -> 判別性 • 判別ができれば的中もできる • ラベルがその値になる確率を知りたい -> 確率推定 • 確率が推定できていれば判別もできる 15
  10. 的中性 • ラベルが一致しているかどうかだけを見る • 正解が yi = 1, に対して予測値も ˆ

    yi = 1 かどうか •「的中率」, F 値などで評価 acc := 1 N N ∑ i=1 1(yi = ˆ yi ) 16
  11. 判別性 • スコア値の分布がどれだけ 0/1 を区別できているか • yi = 0 に対応するスコアが

    yi = 1 に対応するスコア の分布とどれくらい違うか • 評価には ROC-AUC または対数損失がよく使われる 0.25 0.50 0.75 score 0 50 100 150 200 250 0 1 図 5: ˆ pi の分布の例 17
  12. ROC-AUC • ROC 曲線の下側の面積 • (Area Under the Curve, 以下

    AUC) に対応 • 別名: Concordance 統計量 (C-統計量) • ゼロから 1 の範囲で, 1 に近いほど良い • 1 に近いほど ROC 曲線は左上に張り出す 0 0.25 0.50 0.75 1 fpr 0 0.25 0.50 0.75 1 tpr 図 6: ROC 曲線の例 18
  13. 対数損失 • 負の対数尤度とも LogLoss := − 1 N N ∑

    i=1 [yi ln(ˆ pi ) + (1 − yi ) ln(1 − ˆ pi )] • ロジスティック回帰は対数損失の最小化 • ˆ pi が yi に近いほど評価される 図 7: 対数損失 19
  14. 対数損失から RIG/NE へ • どれくらいの値が良いのかという基準がない • 対数損失の欠点 • 相対情報エントロピー (RIG)[19,

    14, 11] • 別名, 正規化交差エントロピー (NE) NE := logloss negentropy(¯ y) , negentropy(¯ y) := − 1 N N ∑ i=1 [yi ln(1 − ¯ y) + (1 − yi ) ln(1 − ¯ y)] = − [¯ y ln ¯ y + (1 − ¯ y) ln(1 − ¯ y)] RIG := 1 − NE 20
  15. RIG/NE の意味 •「手抜きモデル」よりもパフォーマンスが良いか • 一律平均値 ¯ y を返す手抜きモデルとの比較 • RIG

    は 0 以上かどうか, NE は 1 未満かどうか • NE は小さいほうが良く, RIG は大きい方が良い • 不均衡なデータほど評価が厳しくなる ¯ y 対数損失 RIG NE 50 % 0.69 0 1 10 % 0.33 0 1 1 % 0.05 0 1 図 8: y の割合ごとに RIG=0(NE=1) に必要な対数損失 • RIG のマイナス (= NE − 1) が見やすい気がする • (個人の感想) 21
  16. 対数損失 vs AUC • RIG/NE のほうが AUC より使いやすいことが多い • AUC

    は機械学習の典型的な用途では使いにくい? • 以下 AUC の問題点 • 変数選択に使うと, AUC は感度が悪い ([10, 8], 後述) • スケールが一定でないので比較に注意が必要 • データによっては絶対に 1 に到達できない場合も [4] • どこが悪いか直観的にわかりづらい • 改善につなげにくい • AUC と他の指標との比較は [8, 15] が詳しい 22
  17. 予測確率 • CTR 予測として知りたいこと: • X「クリックするかどうか」 • O「クリックする確率はどれくらいか」 • 本当に知りたいのは

    1 つ 1 つの yi の確率 pi • ¯ y はデータの平均値 = データ全体でのクリック割合 • しかし正解 pi はデータにないので答え合わせ不可 • 的中性や判別性とは別の観点が必要 23
  18. AUC の問題点 • AUC は以下の異なる ˆ p, ˜ p に対して同じ値になる

    • スコアの絶対値ではなく順序で評価しているから • 順位和統計量 (WMW 統計量) と同じ [9] • 参考: 弊社ブログの過去記事 • 疑問: 個別の確率を知りたいのに AUC で大丈夫か? y ˆ p ˜ p 1 0.9 0.9 1 0.4 0.8 0 0.3 0.2 0 0.2 0.1 図 9: AUC が差別化できない例 24
  19. 抽象的な話ばかりなので具体例 • ロジスティック回帰は分類問題の定番 • 以下のモデルはより判別性能が高くなりやすい • ランダムフォレスト [2](RF) • ブースティング

    (XGBoost[3], LGBM[13] など) model ACC -RIG AUC train test train test train test Logistic 0.628 0.624 -0.068 -0.062 0.674 0.665 RF 0.881 0.613 -0.294 -0.052 0.955 0.652 XGB 0.825 0.580 -0.337 0.011 0.913 0.610 LGB 0.701 0.626 -0.154 -0.055 0.775 0.657 表 1: 各モデルの性能, ロジスティックより良い値強調 26
  20. カリブレーションプロット [5] • 別名, 信頼性曲線 (reliability curve) • 予測確率 ˆ

    pi の分位点でグループ分け • 根拠はないが慣例的に 10 分割 • グループ毎に yi , ˆ pi の平均値を集計し折れ線プロット • プロットが 45 度線に近いほど確率推定が適切 • ホズマー‧レメショウ検定 [12] と同じアイディア 27
  21. カリブレーションプロットの結果 • train では各指標の良さと曲線の一致度合いに差異 • test では曲線も乱れている 0 0.25 0.50

    0.75 1 0 0.25 0.50 0.75 1 avg. prediction train LGB Logistic RF XGB 0 0.25 0.50 0.75 1 avg. y test 図 10: カリブレーションプロット 28
  22. ここからわかること • 訓練データ • ロジスティック回帰のほうが良好 • 損失の最小化を追求すると対角線から離れていく • テストデータ •

    ロジスティック回帰のほうが良好 • 過学習とは別の問題 • 対数損失や AUC は確率のずれを反映していない • RF や XGB 等が使えないという意味ではない • データ次第でロジスティック回帰でも失敗 • 詳しくはこの後の発表 • 注: カリブレーションプロットも完全ではない 29
  23. カリブレーション評価の種類 [18] 1. 平均的 (大局的, in-the-large) カリブレーション • 予測値と実際の平均値が一致しているか 2.

    弱い (weak) カリブレーション • (1) とほとんど差異がないので説明略 3. 中程度の (moderate) カリブレーション • 大まかなグループごとに頻度が一致しているか 4. 強い (strong) カリブレーション • 特徴量の組み合わせごとに一致しているか 5. 完全 (perfect) カリブレーション • 1 点ごとに確率の期待値が一致しているか • 多くの文献は区別せずに単に「カリブレーション」 30
  24. 平均的カリブレーション • データの平均と予測確率の平均が一致するか ¯ y = N ∑ i=1 ˆ

    pi • 個別の確率の一致は評価してない • 的中性や判別性だけを見る従来方法でも概ね達 成可能 • 正例‧負例のペナルティが等しいため • 不均衡データに対する cost-sensitive な学習に注意 •「手抜きモデル」でも達成可能 31
  25. 中程度のカリブレーション • データをグループ分けし各グループ内での平均カリ ブレーションを評価 1 Ng Ng ∑ i=1 yi

    = 1 Ng Ng ∑ i=1 ˆ pi , g = 1, · · · , G ∑ g Ng =N • 頻度で確率を近似 • 結果が分割に依存する問題 (詳細はこの後の発表) • 分位点でグループ分けしている例 • カリブレーションプロット • HL 検定 32
  26. 強い/完全なカリブレーション • 強いカリブレーション • 中程度よりも細かい解像度で評価 • 特徴量の組み合せ別に平均カリブレーション評価 • 連続変数が特徴量だと計算できない •

    グループごとに件数がばらばら • 一部の重要な特徴量だけで分割することも [15] • 完全カリブレーション • モデルの予測値 ˆ pi の期待値が本当の確率 pi と一致 pi =Eg(xi), i = 1, · · · , N • πi はデータに表れないため計算できない 33
  27. 確率推定をしたいときは • どれを必要としているか考える • 平均的カリブレーション • 従来の方法でも概ね達成できる • RIG や

    AUC でも評価できる • 中程度カリブレーション • カリブレーションプロットの確認 • 較正 (recalibration) • platt scaling, isotonic 回帰, ベイズビニング, 他 • 完全カリブレーション • データに当てはめるだけでは検証不可能 35
  28. まとめ • 機械学習の分類問題は実は 3 種類ある • 的中‧判別‧確率 • 従来の機械学習は的中または判別に注目 •

    確率はあまり考慮されていない • 確率推定の評価基準もまた複数ある • 正解データが存在しないため • 何を目標にモデルを作るか考える • 従来方法でも平均的カリブレーションは達成可能 • NE または RIG で評価すると良い • 従来方法では中程度の保証なし • カリブレーションプロット等で確認が必要 • (再) 較正と呼ばれる調整方法が提案されている 36
  29. [1] Alba, Ana Carolina, Thomas Agoritsas, Michael Walsh, Steven Hanna,

    Alfonso Iorio, P. J. Devereaux, Thomas McGinn, and Gordon Guyatt (2017) “Discrimination and Calibration of Clinical Prediction Models: Users’ Guides to the Medical Literature,” JAMA, Vol. 318, No. 14, p. 1377, October, DOI: 10.1001/jama.2017.12126. [2] Breiman, Leo (2001) “Random Forests,” Machine Learning, Vol. 45, No. 1, pp. 5–32, DOI: 10.1023/A:1010933404324. [3] Chen, Tianqi and Carlos Guestrin (2016) “XGBoost: A Scalable Tree Boosting System,” in Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining - KDD ’16, pp. 785–794, New York, New York, USA: ACM Press, DOI: 10.1145/2939672.2939785. [4] Cook, Nancy R. (2007) “Use and Misuse of the Receiver Operating Characteristic Curve in Risk Prediction,” Circulation, Vol. 115, No. 7, pp. 928–935, February, DOI: 10.1161/CIRCULATIONAHA.106.672402. 36
  30. [5] DeGroot, Morris H. and Stephen E. Fienberg (1983) “The

    Comparison and Evaluation of Forecasters,” The Statistician, Vol. 32, No. 1/2, pp. 12–22, March, DOI: 10.2307/2987588. [6] Diamond, G. A. (1992) “What Price Perfection? Calibration and Discrimination of Clinical Prediction Models,” Journal of Clinical Epidemiology, Vol. 45, No. 1, pp. 85–89, January, DOI: 10.1016/0895-4356(92)90192-P. [7] Gail, Mitchell. H. and Ruth M. Pfeiffer (2005) “On Criteria for Evaluating Models of Absolute Risk,” Biostatistics, Vol. 6, No. 2, pp. 227–239, April, DOI: 10.1093/biostatistics/kxi005. [8] Hand, David J. (2009) “Measuring Classifier Performance: A Coherent Alternative to the Area under the ROC Curve,” Machine Learning, Vol. 77, No. 1, pp. 103–123, October, DOI: 10.1007/s10994-009-5119-5. [9] Hanley, J A and B J McNeil (1982) “The Meaning and Use of the Area under a Receiver Operating Characteristic (ROC) 36
  31. Curve.,” Radiology, Vol. 143, No. 1, pp. 29–36, April, DOI:

    10.1148/radiology.143.1.7063747. [10] Hastie, Trevor, Robert Tibshriani, and Jerome Friedman (2009) The Elements of Statistical Learning: Data Mining, Inference, and Prediction: Springer, 2nd edition, retrieved from here, (杉 山将‧井出剛‧神嶌敏弘‧栗田多喜夫‧前田英作‧井尻善久‧ 岩田具治‧金森敬文‧兼村厚範‧鳥山昌幸‧河原吉伸‧木村昭 悟‧小⻄嘉典‧酒井智弥‧鈴木大慈‧竹内一郎‧玉木徹‧出口 大輔‧冨岡亮太‧波部⻫‧前田新一‧持橋大地‧山田誠訳, 『統 計的学習の基礎 —データマイニング‧推論‧予測—』 ,共立出 版,2014 年). [11] He, Xinran, Stuart Bowers, Joaquin Quiñonero Candela, Junfeng Pan, Ou Jin, Tianbing Xu, Bo Liu, Tao Xu, Yanxin Shi, Antoine Atallah, and Ralf Herbrich (2014) “Practical Lessons from Predicting Clicks on Ads at Facebook,” in Proceedings of 20th ACM SIGKDD Conference on Knowledge Discovery and Data Mining - ADKDD’14, pp. 1–9, New York, NY, USA: ACM 36
  32. Press, DOI: 10.1145/2648584.2648589. [12] Hosmer, David W. and Stanley Lemeshow

    (1980) “Goodness of Fit Tests for the Multiple Logistic Regression Model,” Communications in Statistics - Theory and Methods, Vol. 9, No. 10, pp. 1043–1069, DOI: 10.1080/03610928008827941. [13] Ke, Guolin, Qi Meng, Thomas Finley, Taifeng Wang, Wei Chen, Weidong Ma, Qiwei Ye, and Tie-Yan Liu (2017) “LightGBM: A Highly Efficient Gradient Boosting Decision Tree,” in Guyon, I., U. V. Luxburg, S. Bengio, H. Wallach, R. Fergus, S. Vishwanathan, and R. Garnett eds. Advances in Neural Information Processing Systems 30, pp. 3146–3154: Curran Associates, Inc., retrieved from here. [14] Lefortier, Damien, Anthony Truchet, and Maarten de Rijke (2015) “Sources of Variability in Large-Scale Machine Learning Systems,” in Machine Learning Systems (NIPS 2015 Workshop), retrieved from here. 36
  33. [15] McMahan, H. Brendan, Daniel Golovin, Sharat Chikkerur, Dan Liu,

    Martin Wattenberg, Arnar Mar Hrafnkelsson, Tom Boulos, Jeremy Kubica, Gary Holt, D. Sculley, Michael Young, Dietmar Ebner, Julian Grady, Lan Nie, Todd Phillips, and Eugene Davydov (2013) “Ad Click Prediction: A View from the Trenches,” in Proceedings of the 19th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining - KDD ’13, pp. 1222–1230, Chicago, Illinois, USA: ACM Press, DOI: 10.1145/2487575.2488200. [16] Muthukrishnan, S. (2008) “Internet Ad Auctions: Insights and Directions,” in Aceto, Luca, Ivan Damgård, Leslie Ann Goldberg, Magnús M. Halldórsson, Anna Ingólfsdóttir, and Igor Walukiewicz eds. ICALP 2008, Vol. 5125, pp. 14–23, Berlin, Heidelberg: Springer Berlin Heidelberg, DOI: 10.1007/978-3-540-70575-8_2. [17] (2009) “Ad Exchanges: Research Issues,” in Hutchison, David, Takeo Kanade, Josef Kittler, Jon M. 36
  34. Kleinberg, Friedemann Mattern, John C. Mitchell, Moni Naor, Oscar Nierstrasz,

    C. Pandu Rangan, Bernhard Steffen, Madhu Sudan, Demetri Terzopoulos, Doug Tygar, Moshe Y. Vardi, Gerhard Weikum, and Stefano Leonardi eds. Internet and Network Economics, Vol. 5929, Berlin, Heidelberg: Springer Berlin Heidelberg, pp. 1–12, DOI: 10.1007/978-3-642-10841-9_1. [18] Van Hoorde, Kirsten, Yvonne Vergouwe, Dirk Timmerman, Sabine Van Huffel, Ewout W. Steyerberg, and Ben Van Calster (2014) “Assessing Calibration of Multinomial Risk Prediction Models,” Statistics in Medicine, Vol. 33, No. 15, pp. 2585–2596, July, DOI: 10.1002/sim.6114. [19] Yi, Jeonghee, Ye Chen, Jie Li, Swaraj Sett, and Tak W Yan (2013) “Predictive Model Performance: Offline and Online Evaluations,” in Proceedings of the 19th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining - KDD ’13, p. 1294, New York, New York, USA: ACM Press, DOI: 10.1145/2487575.2488215. 36
  35. [20] 杉山将 (2013) 『イラストで学ぶ機械学習: 最小二乗法による識 別モデル学習を中心に』 ,講談社,東京, retrieved from here.

    [21] 野間久史 (2018) 「臨床予測モデル予測モデルにおける変数選 択と判別‧較正の方法」 ,12 月, retrieved from here. 36