Traffine I/O

日本語

2022-05-24

分類問題の評価指標

はじめに

性能評価指標は、機械学習モデルの評価や比較において必要不可欠です。これらの評価指標は、入力データに基づいて結果を予測するモデルの有効性を客観的に決定する方法を提供します。これらの評価指標は、異なるアルゴリズムの強みと弱点を特定するだけでなく、特定のタスクに最適なモデルを選択するための指針となります。さらに、性能評価指標は、モデル選択、ハイパーパラメータ調整、およびトレーニングプロセスでの潜在的な問題の診断にも役立ちます。

機械学習の問題は、回帰と分類の2つに大別されます。回帰問題は連続値の予測を行い、分類問題は離散的なラベルまたはカテゴリの予測を行います。

回帰問題と分類問題の性能評価指標は、それぞれの予測の性質により異なります。回帰評価指標は、予測値と実際値の差に焦点を当て、分類評価指標は、入力データを事前に定義されたカテゴリに正しく分類できるモデルの能力を評価します。

この記事では、分類問題に対する一般的な性能評価指標について説明します。

分類問題の評価指標

分類問題は、入力データに基づいて離散的なラベルまたはカテゴリを予測することを含みます。この章では、分類タスクのためにもっとも一般的に使用される性能評価指標について説明し、機械学習モデルの効果を評価する方法について説明します。

混同行列

混同行列は、予測されたラベルと実際のラベルを比較することによって、分類モデルの性能をまとめる表です。行は実際のクラスを表し、列は予測されたクラスを表します。バイナリ混同行列の4つの主要な要素は次のとおりです。

  • 真陽性 (TP)
    実際のクラスが陽性で予測も陽性
  • 真陰性 (TN)
    実際のクラスが陰性で予測も陰性
  • 偽陽性 (FP)
    実際のクラスは陰性で予測が陽性
  • 偽陰性 (FN)
    実際のクラスは陽性で予測が陰性

正解率

正解率は、全体のサンプルのうち正しく分類されたサンプルの割合です。分類問題に広く使用される評価指標ですが、データが不均衡な場合に誤解を招く可能性があります。正解率の式は次のとおりです。

Accuracy = \frac{TP + TN}{TP + TN + FP + FN}

適合率

適合率は、陽性と予測されたサンプルのうち、真陽性のサンプルの割合を測定する指標で、モデルが陽性サンプルを正しく特定する能力を示します。適合率の式は次のとおりです。

Precision = \frac{TP}{TP + FP}

再現率(リコール)

再現率は、実際の陽性サンプルのうち、真陽性のサンプルの割合を測定する指標で、モデルが全ての陽性サンプルを特定する能力を示します。再現率の式は次のとおりです。

Recall = \frac{TP}{TP + FN}

F1スコア

F1スコアは、適合率と再現率の調和平均であり、両者のバランスを提供します。不均衡なデータセットを扱う場合に特に有用です。F1スコアの式は次のとおりです。

F1 = 2 \times \frac{Precision \times Recall}{Precision + Recall}

ROC-AUC

ROC曲線は、検出閾値を変化させたときの真陽性率と偽陽性率のトレードオフを表すグラフです。AUC-ROCスコアは、分類器の全体的な性能を測定する指標で、高い値ほど優れた性能を示します。AUC-ROCスコアは0から1までの値を取り、0.5はランダム分類器を表します。

PR-AUC

PR (Precision-Recall)曲線は、検出閾値を変化させたときの適合率と再現率のトレードオフを表すグラフです。AUC-PRスコアは、データが不均衡な場合や、偽陽性と偽陰性のコストが異なる場合の分類器の全体的な性能を測定する指標です。AUC-ROCと同様、AUC-PRスコアは0から1までの値を取り、高い値ほど優れた性能を示します。

マシューズ相関係数

マシューズ相関係数 (MCC) は、真陽性と偽陽性、真陰性と偽陰性を考慮したバランスの取れた指標で、分類モデルの総合評価を提供します。MCCは-1から1までの値を取り、絶対値が高いほど優れた性能を示します。MCCの式は次のとおりです。

MCC = \frac{(TP \times TN) - (FP \times FN)}{\sqrt{(TP + FP)(TP + FN)(TN + FP)(TN + FN)}}

コーエンのカッパ

コーエンのカッパは、予測されたラベルと実際のラベルの一致を考慮し、偶然によって発生する可能性のある一致を考慮した指標です。-1から1までの値を取り、値が高いほどモデルの予測と実際のラベルの一致が良いことを示します。コーエンのカッパの式は次のとおりです。

Kappa = \frac{p_o - p_e}{1 - p_e}

ここで、p_o は観測された一致率(正解率)を表し、p_e は偶然による一致率を表します。

マルチクラス分類の評価指標

マルチクラス分類問題は、入力データに基づいて複数の離散的なラベルまたはカテゴリーのいずれかを予測する問題です。この章では、マルチクラス分類タスクのもっとも一般的に使用されるパフォーマンス評価指標について説明し、機械学習モデルの効果を評価する方法について説明します。

マイクロ平均

マイクロ平均は、全てのクラスのパフォーマンスを集計するためのテクニックで、各クラスの真陽性、偽陽性、偽陰性の合計を計算してから、これらの合計を使用して評価指標を計算します。この方法は、全てのサンプルに等しい重みを与えるため、不均衡なデータセットに適しています。マイクロ平均適合率、再現率、F1スコアの式は次のとおりです。

Precision_{micro} = \frac{\sum_{i=1}^{k} TP_i}{\sum_{i=1}^{k} (TP_i + FP_i)}
Recall_{micro} = \frac{\sum_{i=1}^{k} TP_i}{\sum_{i=1}^{k} (TP_i + FN_i)}
F1_{micro} = 2 \times \frac{Precision_{micro} \times Recall_{micro}}{Precision_{micro} + Recall_{micro}}

ここで、k はクラス数であり、TP_iFP_iFN_iはそれぞれクラスiにおける真陽性、偽陽性、偽陰性です。

マクロ平均

マクロ平均は、各クラスごとに評価指標を計算してから、これらの評価指標の平均を計算することで、全てのクラスのパフォーマンスを集計するためのテクニックです。この方法は、各クラスに等しい重みを与えるため、バランスの取れたデータセットに適しています。マクロ平均適合率、再現率、F1スコアの式は次のとおりです。

Precision_{macro} = \frac{1}{k} \sum_{i=1}^{k} \frac{TP_i}{TP_i + FP_i}
Recall_{macro} = \frac{1}{k} \sum_{i=1}^{k} \frac{TP_i}{TP_i + FN_i}
F1_{macro} = \frac{1}{k} \sum_{i=1}^{k} 2 \times \frac{Precision_i \times Recall_i}{Precision_i + Recall_i}

重み付き平均

重み付き平均は、各クラスごとに評価指標を計算してから、各クラスのサンプル数に基づいてこれらの評価指標の重み付き平均を計算することで、全てのクラスのパフォーマンスを集計するためのテクニックです。この方法は、クラスの不均衡を考慮しています。重み付き平均適合率、再現率、F1スコアの式は次のとおりです。

Precision_{weighted} = \frac{1}{n} \sum_{i=1}^{k} (n_i \times \frac{TP_i}{TP_i + FP_i})
Recall_{weighted} = \frac{1}{n} \sum_{i=1}^{k} (n_i \times \frac{TP_i}{TP_i + FN_i})
F1_{weighted} = \frac{1}{n} \sum_{i=1}^{k} (n_i \times 2 \times \frac{Precision_i \times Recall_i}{Precision_i + Recall_i})

where n is the total number of instances, and n_i is the number of instances in class i.

参考

https://neptune.ai/blog/performance-metrics-in-machine-learning-complete-guide
https://www.javatpoint.com/performance-metrics-in-machine-learning
https://towardsdatascience.com/performance-metrics-in-machine-learning-part-1-classification-6c6b8d8a8c92
https://www.altexsoft.com/blog/machine-learning-metrics/

Ryusei Kakujo

researchgatelinkedingithub

Focusing on data science for mobility

Bench Press 100kg!