しきい値と混同行列

スパムメール検出用のロジスティック回帰モデルがあるとします。このモデルは、特定のメールがスパムである確率を表す 0 ~ 1 の値を予測します。予測値が 0.50 の場合、メールがスパムである確率は 50% です。予測値が 0.75 の場合、メールがスパムである確率は 75% です。

このモデルをメール アプリケーションにデプロイして、スパムを別のメールフォルダにフィルタリングしたいとします。しかしそのためには モデルの未加工の数値出力を 変換する必要があります0.75)を「スパム」または「非スパム」のいずれかに分類します。

この変換を行うには、分類しきい値と呼ばれるしきい値の確率を選択します。しきい値を超える確率の例は、正クラス(テスト対象のクラス、ここでは spam)に割り当てられます。確率が低い例は、負クラス(代替クラス、ここでは not spam)に割り当てられます。

分類しきい値について詳しくは、こちらをクリックしてください

予測スコアが分類しきい値と等しい場合(分類しきい値が 0.5 の場合にスコアが 0.5 など)はどうなりますか?このケースの処理は、分類モデルに選択した特定の実装によって異なります。Keras ライブラリは、スコアとしきい値が等しい場合に負クラスを予測しますが、他のツールやフレームワークではこのケースが異なる方法で処理される場合があります。

モデルが 1 通のメールに対してスコア 0.99 を割り当て、そのメールがスパムである確率が 99% であると予測し、別のメールに対してスコア 0.51 を割り当て、そのメールがスパムである確率が 51% であると予測したとします。分類しきい値を 0.5 に設定すると、モデルは両方のメールを迷惑メールに分類します。しきい値を 0.95 に設定すると、スコアが 0.99 のメールのみが迷惑メールとして分類されます。

0.5 は直感的なしきい値のように思えますが、あるタイプの誤分類のコストが他よりも大きい場合や、クラスが不均衡な場合は、適切ではありません。メールの 0.01% のみが迷惑メールである場合や、正当なメールを誤って分類することが迷惑メールを受信トレイに入れるよりも悪い場合、モデルが迷惑メールである可能性を 50% 以上と判断したすべてのメールに迷惑メールのラベルを付けると、望ましくない結果が得られます。

混同行列

確率スコアは現実、つまりグラウンド トゥルースではありません。バイナリ分類器の出力には、それぞれ 4 つの結果があります。スパム分類子の例では、正解を列に、モデルの予測を行に配置すると、混同行列と呼ばれる次の表が得られます。

実際の陽性 実際のマイナス
予測陽性 真陽性(TP): 迷惑メールとして正しく分類された迷惑メール。スパムフォルダに自動的に送信されるスパム メールです。 偽陽性(FP): 迷惑メールではないメールが迷惑メールとして誤って分類される。これらは、迷惑メールフォルダに振り分けられる正当なメールです。
ネガティブと予測 偽陰性(FN): 迷惑メールが迷惑メールではないと誤って分類されたメール。これらは、迷惑メールフィルタで捕捉されず、受信トレイに届く迷惑メールです。 真陰性(TN): 迷惑メールでないと正しく分類されたメール。これらは、受信トレイに直接送信される正当なメールです。

各行の合計は、有効性に関わらず、すべての予測陽性(TP + FP)とすべての予測陰性(FN + TN)を示します。一方、各列の合計は、モデルの分類に関係なく、すべての真陽性(TP + FN)とすべての真陰性(FP + TN)を示します。

実際の陽性の総数が実際の陰性の総数に近くない場合、データセットは不均衡になります。アンバランスなデータセットの例としては、雲の写真が数千枚あるセットで、興味のあるまれな雲の種類(巻雲など)が数回しか登場しない場合があります。

しきい値が真陽性、偽陽性、偽陰性に及ぼす影響

通常、しきい値が異なると、真陽性と偽陽性、真陰性と偽陰性の数が異なります。次の動画でその理由を説明しています。

ご自身でしきい値を変更してみてください。

このウィジェットには、次の 3 つのトイデータセットが含まれています。

  • 分離: 通常、正例と負例は明確に区別され、ほとんどの正例のスコアは負例よりも高くなります。
  • 分離なし: 多くのポジティブ サンプルのスコアがネガティブ サンプルのスコアよりも低く、多くのネガティブ サンプルのスコアがポジティブ サンプルのスコアよりも高い。
  • 不均衡: 陽性クラスのサンプルが少数しか含まれていない。

理解度を確認する

1. フィッシングまたはマルウェアの分類モデルを想像してみてください。フィッシング サイトとマルウェア サイトはラベル 1(true)のクラスに、無害なサイトはラベル 0(false)のクラスに分類されます。このモデルは、正当なウェブサイトを誤ってマルウェアとして分類します。これを何と呼びますか。
誤検知
否定的な例(正当なサイト)が、肯定的な例(マルウェア サイト)として誤って分類されている。
真陽性
真陽性とは、マルウェアとして正しく分類されたマルウェア サイトです。
偽陰性
偽陰性とは、マルウェア サイトが正当なサイトとして誤って分類されることです。
真陰性
真陰性とは、正当なサイトが正当なサイトとして正しく分類されることです。
2. 一般に、分類しきい値が増加すると、偽陽性の数はどうなりますか?真陽性とは何でしょうか。上記のスライダーで試してみてください。
真陽性と偽陽性の両方が減少します。
しきい値が大きくなるにつれて、モデルは真陽性と偽陰性の両方で、全体的に陽性の予測数が少なくなる可能性があります。しきい値が .9999 の迷惑メール分類システムは、分類の確率が 99.99% 以上であると判断した場合にのみ、メールに迷惑メールのラベルを付けます。つまり、正当なメールに誤ってラベルを付ける可能性は非常に低くなりますが、実際の迷惑メールを見逃す可能性もあります。
真陽性と偽陽性の両方が増加します。
上部のスライダーを使用して、しきい値を 0.1 に設定してから、0.9 までドラッグします。偽陽性と真陽性の数はどうなりますか?
真陽性が向上します。誤検出が減少します。
上部のスライダーを使用して、しきい値を 0.1 に設定してから、0.9 までドラッグします。偽陽性と真陽性の数はどうなるでしょうか。
3. 一般に、分類しきい値を上げると、誤判定の数はどうなりますか?真陰性はどうですか?上のスライダーでテストしてください。
真陰性と偽陰性はどちらも増加します。
しきい値が増加するにつれて、モデルは真偽(真偽)の両方でより多くの陰性を予測する可能性があります。非常に高いしきい値を設定すると、ほぼすべてのメール(迷惑メールと迷惑メール以外の両方)が迷惑メールではないと分類されます。
真陰性と偽陰性の両方が減少します。
上部のスライダーを使用して、しきい値を 0.1 に設定してから、0.9 にドラッグします。偽陰性と真陰性の数は どうなるでしょうか
真陰性は増加します。偽陰性が減少します。
上部のスライダーを使用して、しきい値を 0.1 に設定してから、0.9 にドラッグします。偽陰性と真陰性の数は どうなるでしょうか