広義には特徴量の取得コストなどを考慮する学習も含まれるが,狭義には次のクラスの誤分類コストを考慮した問題をコスト考慮型学習 (cost-sensitive learning) と呼ぶことが多い.
予測正解率を最大化するのではなく,実用面でのコストを考慮して予測クラスを決定する学習手法.次のような場合を想定:
コスト行列は,真のクラスが \(j\) (これは実際には観測されない)である事例を,クラス \(i\) と予測してしまったときのコストをまとめた行列.2クラス \(\{+, -\}\) の場合に,コストを \(C(i|j)\) で表した場合のコスト行列:
真のクラス | |||
負 (-) | 正 (+) | ||
予測クラス | 負 (-) | C(-|-) | C(-|+) |
正 (+) | C(+|-) | C(+|+) |
コスト考慮型学習では期待コストを最小化するように予測する.事例 \(\mathbf{x}\) の予測クラスが \(i\) であるときの期待コストは \[\text{期待コスト}(\mathbf{x}, i)=\sum_j \Pr[j|\mathbf{x}] C(i|j) \]
reasonableness (妥当性):意味的に妥当なコスト行列になりうるための条件
また,コスト行列は,シフトとスケーリングに対して不変なので,\(2\times 2\)行列のコスト行列の自由度は2である.
利益を考えた場合,現在の資産というベースラインに対する増減を考えればよいが,コストの場合には,一定のベースラインを想定できず誤ったコスト行列を作る場合がある.
ローンの貸し出しで,不正を受理すると失われる元本 5 をコスト,適正を拒絶すると得られるはずだった 1 の利息を機会コストと考えると次のコスト行列に
不正 | 適正 | |
拒絶 | 0 | 1 |
受理 | 5 | 0 |
ここで各セルの顧客が一人づついるとすると,資産の増減は,利息 1 を取れる場合と元本 5 を失う場合がそれぞれ一度ずつあるので全体として -4.一方,ローンを返した顧客が4人いると全体の利益は +4.両者の差は 8になる.一方,このコストを使うと -6 と 0 の差は 6 となり,利益とは異なることになる.
よって,コスト・利益行列の設計にあたってはベースラインが一定になるように留意すべき.利益行列として考えると妥当な行列は
不正 | 適正 | |
拒絶 | 20円 | -20円 |
受理 | -(元本) | 元本×利率 |
不正を拒絶したコストは不正の摘発に伴う利益,適正を拒絶するコストは顧客の不満によって生じるものなど.
正クラスに予測する確率を \(p=\Pr[+|\mathbf{x}]\) とすると,\(p\ge p^\ast\) の場合に正クラスと予測すると期待コストを最小化する決定ができる \[p^\ast=\frac{C(+|-)-C(-|-)}{C(+|-)-C(-|-)+C(-|+)-C(+|+)}\] シフトとスケーリングによる制約ではコスト行列の自由度は 2 であったが,最適な決定という意味からすれば自由度は 1 となる.
負事例の数量を次の比率に増減した訓練事例で学習すれば,期待コストを最小化する決定をする分類器が学習できる: \[\frac{p^\ast}{1-p^\ast}\frac{1-p_0}{p_0}\] ただし,\(p_0\) は元々の決定しきい値で,通常は \(1/2\).正解時のコストが 0,すなわち,\(C(+|+)=0\) かつ \(C(-|-)=0\) で,\(p_0=1/2\) の特別な場合は \[\frac{p^\ast}{1-p^\ast}=\frac{C(+|-)}{C(-|+)}\] 実際の負例の増減は確率的・確定的なサンプリングを使う
-- しましま