Platt scalingとisotonicの違い:確率を校正する形とデータの分け方

Platt scalingとisotonicは、分類モデルの出力を確率として校正する方法です。モデルの学習、校正の学習、最終評価を分けて考える必要があります。ここでは文書分類の出力を題材に、変換の形の違いを理解します。実サービスの性能改善を示す記事ではありません。

滑らかな曲線と、単調な階段を比べる

Platt scalingは、モデルのスコアをシグモイドの形で確率に変換し、そのパラメータを学びます。isotonicは、スコアが上がったときに確率が下がらないという制約で、より自由な形を学びます。実装による予測時の補間などは、利用するライブラリの仕様を確認してください。[出典1]

観点Platt scalingisotonic
変換の形シグモイド曲線単調性の制約を持つ柔軟な形
小さい校正データ形の仮定が適切かを確認する過適合しないか特に注意する
順位通常、スコア順を保つ変換として扱う同じ確率になる点が生まれ、順位指標が変わる場合がある
比較同じ独立した評価データで校正前後を比べる

変換の形だけを確かめる教材

パラメータを学ばず、単に p=1/(1+exp(−s)) という曲線を考えます。スコアsが−1、0、1なら、pは約0.269、0.5、0.731です。これは滑らかな形を見るための計算で、学習したPlatt scalingの成果ではありません。

別の教材として、入力0.1と0.2をどちらも0.2に、0.7を0.6に、0.9を0.8に写す単調な対応表を考えます。前半の2点は同じ値になります。これも形を理解するために人が決めた例で、isotonicを実データへfitした結果ではありません。

3つの役割のデータを混ぜない

役割何をするか何をしないか
モデル学習用文書とラベルから元の分類モデルを学ぶ最終評価の正解を使わない
校正用元モデルの出力と正解から変換を学ぶ元モデルを学んだ同じ出力だけで評価を済ませない
最終評価用校正前後の指標を同じ行で比較する結果を見て変換を選び直さない

校正用のデータで指標がよくなるだけでは、未知のデータでの改善は確認できません。時系列データなら各データの時期とラベルの確定時刻も考慮します。分割してあっても、将来の集計値が列に入っていれば問題は残ります。

方法を選ぶ前に記録する項目

個別適用や説明の拡張時に確認する事項:教材では、小さいデータで柔軟な変換を選ぶとどう不安定になるか、分割を変えて観察できます。ただし、都合のよい分割だけを残さず、事前に決めた比較条件を記録します。「isotonicの方が自由だから常によい」「シグモイドだから必ず校正できる」という結論は避けます。

出典

scikit-learn: Probability calibration(sigmoidとisotonic、校正用データ、順位への影響)。