AI
2024/08/23
小山 佳祐

【機械学習】モデルの評価指標

AI

 今回は機械学習モデルを作成した際の評価指標について解説していきたいと思います。

はじめに

 今回は機械学習モデルを作成した際の評価指標について解説していきたいと思います。当然のことながらデータを活用し予測を立てる際、モデルを作成するだけでは役に立ちません。作成したモデルが適切なものになっているかを確認し、適切なものになっているならば使用、そうでなければモデルを再構築、または他のモデルから選択する必要があります。このように評価指標は機械学習手法において重要な役割を担います。今回のブログでは分類のモデルの評価としてよく用いられる基礎的な評価値、「正解率」「適合率」「再現率」「F1スコア」、回帰モデルの評価としてよく用いられる「平均絶対誤差」「平均二乗誤差」「ルート平均二乗誤差」「決定係数」について解説していきます。

分類モデル、回帰モデルとは

 では評価指標について解説する前に各モデルについて簡単におさらいします。分類モデルとは「真」か「偽」かなど各カテゴリーを予測するモデルです。回帰モデルは「値」そのものを予測するモデルです。したがってそれぞれのモデルについて予測する目標が異なるためモデルを評価する指標が異なるのです。

正解率とは

まず一つ目のモデル評価指標、「正解率」について解説してきます。正解率とはその名の通り、全ケースのうち正解(予測が真で実際も真、または予測が偽で実際も偽)である割合です。


今回は下記のデータを使用し説明していきます。


 


この時正しく予測されたのは(4+3=)7データであり、この時正解率は


$$

Accuracy = \frac{7}{10} =0.7

$$


となります。


この指標はどれだけ正確に予測できたかを表すのでシンプルです。しかしながら元データが不均衡だと適切なモデルが作成されない場合があります。例えば実際のクラスにおいて「負」が90%を占める場合、予測結果をすべて負としても正解率は0.9となり高い数値になりますが「正」の予測が重要になる場合は全く意味のないモデルになってしまいます。

適合率

次に適合率です。適合率とは正と予測されたもののうち、実際に正であったものの割合です。


上記の例では正と予測されたものが6データ、そのうち正であるものが4データであるので適合率は


$$

Precision = \frac{4}{5} = 0.8

$$


となります。


この指標は偽陽性が重要となる場合に有効です。例えば迷惑メール振り分けなどです。正と予測、


すなわち迷惑メールと予測されたもののうち、実際に迷惑メールであった割合を表します。この値が低いと迷惑メールと予測されたのに実際は重要なメールである場合が多くなってしまいます。

再現率

再現率です。再現率とは実際に正であるデータのうち、正であると予測された割合です。


 上記の例では実際に正であるデータが5データ、そのうち正と予測されたデータが4データであるので再現率は


$$

Recall = \frac{4}{6} = 0.667\dots

$$


となります。


この指標は正解率と同様に正と多く予測すれば再現率は高まりますが誤検知が増えてしまいます。再現率は実際に正であるものを逃したくない場合に使用されます。例えば異常検知や病気の検出が当てはまります。

F1スコア

最後にF1スコアです。これは適合率と再現率の調和平均です。


$$

F1Score = 2 * \frac{Precision * Recall}{Precision + Recall} = 2 * \frac{0.8*0.667}{0.8 + 0.667} = 0.7276

$$


この指標はトレードオフの関係である適合率と再現率をバランスよく実現した指標です。再現率はすべて正と予測すれば高く評価されますが、適合率の観点からは低く評価される場合があります。どちらの観点からも評価することでより適切なモデルが作成されます。


F1スコアは適合率と再現率どちらもバランスよく実現することが目標であるため、調和平均が使用されています。調和平均はどちらか一方の値が小さいと全体のスコアも小さくなるという性質があります。


例えば、適合率が 0.9 再現率が 0.1 の場合


$$

F1Score = 2 * \frac{Precision * Recall}{Precision + Recall} = 2 * \frac{0.9*0.1}{0.9 + 0.1} = 0.18

$$


となり極端に低い評価がされます。これによりバランスよく高いことを求めることが出来るのです。

平均絶対誤差(MAE)

以下では回帰モデルの評価指標について解説していきます。これは


$$

MAE = \frac{1}{n} \sum_{i=1}^{n} |y_i – \hat{y}_i|

$$


として表されます。予測値と実際の差を絶対値として扱いその平均を評価値とします。ずれの大きさをそのまま評価値として用いるので分かりやすい指標です。外れ値の影響を大きく受けにくいです。

平均二乗誤差(MSE)

$$

MSE = \frac{1}{n} \sum_{i=1}^{n} (y_i – \hat{y}_i)^2

$$


これはずれの大きさを二乗した値の評価値です。MAEに比べ大きな誤差を強く評価するため外れ値に引っ張られやすくなります。また二乗するため計算が容易で行えますが単位が変化してしまう欠点があります。

ルート平均二乗誤差(RMSE)

$$

RMSE = \sqrt{\frac{1}{n} \sum_{i=1}^{n} (y_i – \hat{y}_i)^2}

$$


この評価値はMSEに対してルートを取ったものです。MSEの特徴を持ちながら元の単位で考えることが出来ます。MSEに比べて単位の解釈が重要な場合に用いられます。

決定係数(R^2)

$$

R^2 = 1 – \frac{\sum_{i=1}^{n} (y_i – \hat{y}_i)^2}{\sum_{i=1}^{n} (y_i – \bar{y})^2}



$$



この評価値はモデルがデータの変動をどれだけ説明しているかを表しています。1に近いほどモデルの説明力が高いことを示しています。ここでデータの変動について、分母はデータの平均値から各データポイントのずれを表し、分子はモデルが予測した値と各データポイントのずれを表しています。したがって分子はモデルで予測できなかった分を表し、全体で全変動のうちモデルが予測できなかった割合を示しています。これを1から引くことで全変動のうちモデルが予測できた割合を表しているのです。


終わりに

今回はモデルの評価指標について基礎的なものを説明していきました。実際にモデルを構築する際、適切な評価指標を用いることでより良いモデルを作成することが出来ます。次回は今回紹介しきれなかった評価指標「加重絶対パーセント誤差」や「対数損失」などについて解説していきたいと思います。

New call-to-action