コスト行列とは、分類問題や最適化問題において、異なる予測ミスや行動の選択に伴う損失や費用を数値化して並べた表です。機械学習モデルの評価や不均衡データの学習、割当問題などにおいて、単なる正解率だけでなく実用上の重要度を考慮するために用いられます。
コスト行列とは
一言でいうとコスト行列とは、予測の誤りや選択肢ごとに発生する金銭的・実用的な損失(ペナルティ)を数値として整理した表のことです。
詳しく解説
機械学習の分類問題では、偽陽性と偽陰性の重要度が異なる場合があります。例えば、医療診断で「病気ではない人を病気と誤診するコスト」と「病気の患者を見落とすコスト」は大きく異なります。コスト行列を用いることで、それぞれの間違いがどれほど深刻であるかをアルゴリズムに組み込むことができます。また、オペレーションズ・リサーチにおける輸送問題や割当問題など、コストを最小化するための最適化アルゴリズムの基礎としても広く利用されています。
具体例・使われ方
迷惑メールフィルタにおいて、通常のメールを迷惑メールと判定する誤りよりも、迷惑メールを受信トレイに入れてしまう誤りのほうがコストが高い場合、コスト行列にその重み付けを反映させます。また、顔認証システムにおいて、他人を本人と誤認するセキュリティリスクのコストを高く設定する場合にも活用されます。
似た用語との違い
一般的な混同行列が単に予測と正解の「サンプル数」を集計するのに対し、コスト行列はそれぞれのセルに対応する「損失の重みや費用」を定義するという違いがあります。コスト行列は混同行列と組み合わせて期待損失を計算するために使われます。
注意点
コスト行列の数値を適切に設定するためには、ドメイン知識が必要不可欠です。不適切なコストを設定すると、かえってモデルの性能を低下させたり、特定のクラスに過剰適合したりする恐れがあるため注意が必要です。