ちょっと話題の記事

Amazon Machine Learningの評価指標まとめ

2015.08.31

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

ご無沙汰してます。平田です。

今日はAmazon MLで評価を行った際に、モデルの性能評価の結果として出力される評価指標について紹介しようと思います。

混同行列について

各モデルの評価値について見ていく前に、まずは混同行列(Confusion Matrix)と呼ばれる行列について説明させてください。

混同行列は、ある手法を用いて分類処理を行った場合に、分類した値(陰/陽)とその正誤(真/偽)について結果をまとめた表です。

分類手法の特徴は、この混同行列にまとめられた値をもとに定量的に評価することができます。もちろんAmazon MLで構築するモデルも、二項分類モデルや多項分類モデルは分類の一種であるため、この混同行列にまとめられた結果をもとに評価が行われます。

表上の各項目は以下のような名前で表現されます。

  • 分類結果が陽であり、予測結果が正しい場合 : 真陽性 (True Positive)
  • 分類結果が陽であり、予測結果が誤りの場合 : 偽陽性 (False Positive)
  • 分類結果が陰であり、予測結果が正しい場合 : 真陰性 (True Negative)
  • 分類結果が陰であり、予測結果が誤りの場合 : 偽陰性 (False Negative)

confusion matrix

例えば画像認識などで、犬の画像を正しく犬と判別した場合はその判定結果は真陽性に、犬ではないと判別されれば偽陰性にカウントされます。

同様に、犬ではない画像を犬であると判別した場合は偽陽性に、犬ではないと正しく判別した場合は真陰性にカウントされます。

confusion matrix 2

この分類結果から得られた混同行列をベースに、分類の指標値を計算することができます。

指標値には、以下のようなものが例としてあります。

名前 算出式 概要
正解率 (accuracy) (TP + TN) / (TP + FP + TN + FN) 分類の正解率。全体のうちでどれだけが正しく分類できたか。
感度 (sensitivity) / 再現率 (Recall) TP / (TP + FN) 陽性のデータのうち、どれだけを陽性と分類できたか
適合率 (precision) TP / (TP + FP) 陽性と判断されたデータのうち、どれだけが正しく分類できたか
特異性 (specificity) TN / (TN + FP) 陰性のデータのうち、どれだけを陰性と分類できたか

例えば、情報検索の分野では、検索アルゴリズムの性能を以下の2つの指標に基づいて評価します。

  • 網羅性 (= 適合率)
  • 検索結果として得られた集合のうち、どれだけが検索に適合した内容を含んでいるか
  • 正確性 (= 再現率)
  • 検索結果に適合した内容を含んだ集合のうち、どれだけが検索結果として得られているか

二項分類モデルの評価指標

これらを踏まえて、まずはAmazon MLの二項分類モデルの評価指標を見ていきたいと思います。

二項分類モデルに対してモデルの評価を行うと、AUCという値でモデルの性能を表現していることがわかります。ここでは、このAUC値とはどういうものなのかを説明していきます。

ROC曲線とAUC

AUC値について説明する前に、ROC曲線について説明させてください(回り道が多くてすみません)。

ROC(Receiver operating characteristic : 受信者操作特性)とは、スクリーニングなどの操作を行った際に、観測される信号から求めたい事象の判別を行うための、判別の基準を示す特性です。

例えば、新しい検査手法を用いて病気を見つけようとした場合に、検査の結果として現れる変化が観測できた場合、その変化がどの程度であれば疾患しているかという判断の基準が必要となります。ROCは、この判断の基準を示す上で重要な特性となります。

もともとはレーダ技術における雑音と敵機の判別を行うために開発された手法であり、名前にもその名残はありますが、現在では臨床検査や分類器の評価などに広く使われています。

ROCは縦軸に感度(sensitivity)、横軸に偽陽性率(1 - 特異性(specificity))をもつグラフ上の曲線として表現されます。

判別の基準となる閾値を操作し、そのときに変化する感度と偽陽性率をグラフ上にプロットすると現れる曲線をROC曲線と呼びます。

この曲線は、判別のための閾値(感度)を操作した際に、陽性と誤識別される割合がどう変わっていくかという傾向を表しています。例えば、最も左上と距離が近い曲線上の地点は、感度に対して偽陽性率が低い閾値の設定ポイントであることがわかります。

ROC curve

AUC値は、ROC曲線の面積を求めた値です。この特徴として、閾値によらずスクリーニング手法全体の評価を行っている点があります。Amazon MLにおいては、AUC値は閾値によらない予測精度の評価といえます。

多項分類モデルの評価指標

次に多項分類モデルの評価指標を見ていきましょう。

多項分類モデルでは、平均F1値と呼ばれる値を評価値に用いています。

F1値

F1値は、感度(再現率)と適合率の調和平均として表される値です。

適合率は陽性と判別されたデータの正誤率、感度(再現率)は全体から陽性と判別された分類データの割合をそれぞれ示しています。

Untitled (1)

この二つの指標は、それぞれが分類のある一面を評価する指標に過ぎません。そこで、これら二つの指標を調和平均という形でまとめ、総合的な指標としたものがF1値となります。

f1_formura

Amazon MLにおける指標値

Amazon MLでは、それぞれの項目に対してこのF1値を算出し、その相加平均を評価値として利用しています。

multiclass F1 matrix

回帰モデルの評価指標

最後に、回帰モデルについての評価指標を見ていきます。

回帰モデルの評価には、RMSEと呼ばれる指標にまとめた値が用いられています。

RMSE

RMSEとは、評価用の各データにおける予測と実測の誤差について、二乗した値の平均をとり、平方根にした値です。主に、全体でどれだけ誤差があったかを示すための値です。

RMSE

Amazon MLでは、このRMSEを評価値とすることで、予測モデルがどれだけの精度で予測を行っているかを測定しています。

最後に

Amazon MLの各モデルについて、それぞれで用いられている評価指標を調べてみたので、簡単にですが内容をまとめてみました。

評価値はあくまでも、予測モデルの一面を示す定量的な値でしかありません。ですが、その一面がなんなのかを理解することは、予測モデルを改善していく上でも有用かもしれません。

参考資料

Confusion matrix - Wikipedia, the free encyclopedia

受信者操作特性 - Wikipedia

F1 score - Wikipedia, the free encyclopedia

二乗平均平方根 - Wikipedia