AIの基礎

混同行列とは何か?

mm
Unite.AI を Google の優先ソースに追加

機械学習とデータサイエンスの最も強力な分析ツールの1つは、混同行列です。混同行列は、研究者に、機械学習クラス分類器がターゲットクラスに対してどのように実行されたかについて詳細な情報を提供することができます。混同行列は、適切に分類された例と誤って分類された例を示します。混同行列の構造と解釈について詳しく見てみましょう。

混同行列とは何か?

混同行列の定義から始めましょう。混同行列は、予測分析ツールです。具体的には、実際の値とモデルの予測値を比較表示する表です。機械学習の文脈では、混同行列は、機械学習クラス分類器のパフォーマンスを分析するために使用される指標です。混同行列は、精度、精密度、特異度、再現率などのメトリックの視覚化を生成します。

混同行列が特に有用な理由は、他の種類の分類メトリック(たとえば、単純な精度)とは異なり、混同行列はモデルのパフォーマンスについてより包括的な画像を生成することです。精度のみを使用すると、モデルのパフォーマンスが平均的に良好であるにもかかわらず、1つのクラスを完全に誤って識別している可能性があります。一方、混同行列は、さまざまな値(False Negatives、True Negatives、False Positives、True Positives)の比較を提供します。

混同行列で表現されるさまざまなメトリックを定義してみましょう。

混同行列における再現率

再現率は、真正の陽性例の数を、偽陰性例の数と真正の陽性例の数で割った値です。つまり、再現率は、機械学習モデルの真正の陽性例の割合を表します。再現率は、データセット内のすべての陽性例のうち、モデルが正しく分類した陽性例の割合として表されます。この値は、「ヒットレート」とも呼ばれ、関連する値は「感度」で、再現率または真正の陽性予測の可能性を表します。

混同行列における精密度

再現率と同様に、精密度も、モデルの陽性例の分類パフォーマンスを追跡する値です。ただし、精密度は、モデルが陽性とラベル付けした例のうち、真正の陽性例の数を調べることに重点を置いています。精密度を計算するには、真正の陽性例の数を、偽陽性例の数と真正の陽性例の数で割ります。

精密度と再現率の違いを明確にするために、精密度は、すべての陽性例のうち真正の陽性例の割合を決定することを目的とします。一方、再現率は、すべての真正の陽性例のうち、モデルが認識した真正の陽性例の割合を追跡します。

混同行列における特異度

再現率と精密度は、陽性例と真正の陽性率を追跡する値ですが、特異度は、真正の陰性率または、モデルが真正の陰性と分類した例の数を量化します。これは、陰性と分類された例の数を、偽陽性例の数と真正の陰性例の数で割ることで計算されます。

混同行列の解釈

Photo: Jackverr via Wikimedia Commons, (https://commons.wikimedia.org/wiki/File:ConfusionMatrix.png), CC BY SA 3.0

混同行列の例

精度、精密度、感度、特異度などの用語を定義した後、混同行列内でこれらの値がどのように表現されるかを見てみましょう。混同行列は、分類の場合に生成され、2つ以上のクラスがある場合に適用されます。生成される混同行列は、任意の数のクラスを保持できるため、必要なだけ高さと幅を持つことができますが、ここでは、2×2の混同行列を使用して、2項分類タスクを説明します。

例として、分類器が患者が病気であるかどうかを判断するために使用されているとします。特徴は分類器にフィードされ、分類器は2つのクラスのいずれか(患者が病気ではないか、病気であるか)を返します。

行列の左側から始めましょう。混同行列の左側は、分類器が個々のクラスに対して行った予測を表します。2項分類タスクには2行あります。行列の上部は、データインスタンスの実際のクラスラベル(真値)を追跡します。

混同行列を解釈するには、行と列が交差する点を確認します。モデルの予測をモデルの真のラベルと比較します。この場合、真正の陽性値(正しい陽性予測の数)は、行列の左上隅にあります。偽陽性は、上部右隅にあり、実際には陰性ですが、分類器が陽性とラベル付けした例です。

グリッドの左下隅には、分類器が陰性とラベル付けしたが、実際には陽性であった例が表示されます。最後に、混同行列の右下隅には、真正の陰性値(実際には陰性である例)が見つかります。

データセットに2つ以上のクラスがある場合、行列はクラス数に応じて拡大します。たとえば、3つのクラスがある場合、行列は3×3の行列になります。混同行列のサイズに関係なく、解釈方法は同じです。左側には予測値があり、上部には実際のクラスラベルがあります。分類器が正しく予測したインスタンスは、左上から右下に沿って走ります。行列を見て、上記で説明した4つの予測メトリックを判断できます。

たとえば、再現率を計算するには、真正の陽性と偽陰性を加算し、真正の陽性の数で割ります。一方、精密度は、偽陽性と真正の陽性を加算し、真正の陽性の数で割ることで計算できます。

精度、再現率、特異度などのメトリックを手動で計算することはできますが、これらのメトリックは非常に一般的に使用されているため、ほとんどの機械学習ライブラリにはこれらのメトリックを表示するメソッドがあります。たとえば、PythonのScikit-learnには、混同行列を生成する関数があります。

ブログ作家およびプログラマーで、 Machine Learning Deep Learning のトピックを専門としています。Danielは、AIの力を社会のために利用する手助けを他者に与えることを希望しています。