《シリーズ人工知能》さまざまな評価指標

人工知能のニュースでよく目にする評価指標

毎日何かしらの人工知能関連のニュースに触れるたび、人工知能技術の隆盛を感じさせてくれます。 つい最近では、Microsoftの音声認識技術が「テープ起こしのプロ」を超える単語誤り率(単語エラー率、ワードエラー率)5.1%を達成したというニュースが流れました。 音声認識は人工知能技術の中でも研究が盛んな領域の一つで、Googleでも単語誤り率4.9%を達成するなど、各社がしのぎを削っている状況です。 ところで、この誤り率5%とは実際どういう計算で算出されるものなのでしょうか。 正直、詳しいことはわからないけどすごいのだろう、となんとなく感じている人も多いはず。 今回は人工知能関連で用いられるさまざまな評価指標について紹介します。

正解率(accuracy)

一番なじみがある評価指標は、正解率(accuracy)でしょう。正解率は予測結果の中で実際に正解した割合です。 たとえば、100問あるテストで89問正解した場合、正解率は0.89です。なお、こうした割合は100%に直さないことが多いです。 データを0-1に規格化したときに1が最大(100%)であるという共通の認識があることや、コンピュータ内での計算の都合上からでしょう。
一般化しましょう。予測が正解した場合をTrueの頭文字をとってT、不正解だった場合をFalseの頭文字をとってFとすると、正解率は次のように表すことができます。

正解率(accuracy)= T / (T + F)

テストの例ですと、正解数89、不正解数11ですので、89/(89+11)=0.89といった具合です。
ところで、人工知能の一分野である機械学習で頻繁に行われるのが、あるデータがどの分類(クラス)に当てはまるのかを予測するクラス分類(classification)です。 たとえば、ある画像に写るのが猫なのか犬なのか、ある指紋が本人のものか他人のものかという課題はイメージしやすいでしょう。 ある音声に含まれる言葉を予測する音声認識もクラス分類の課題です。
クラス分類では、正解、不正解のほかにどんな予測で間違えたのかということも集計します。 たとえば、○×式の2択のテストをしたとき、○と回答して正解が○だった場合、○と回答して正解は×だった場合、×と回答して正解が×だった場合、×と回答して正解は○だった場合という4パターンができます。 この4種には名前があり、 ○と回答して正解は○の場合をTP(True Positive;正の予測で正解、真陽性)、 ○と回答して正解は×だった場合をFP(False Positeive;正の予測で不正解、偽陽性)、 ×と回答して正解が×の場合をTN(True Negative;負の予測で正解、真陰性)、 ×と回答して正解が○だった場合をFN(False Negative;負の予測で不正解、偽陰性)と呼びます。 ちなみに、あるクラスに該当する場合(○)を正(Positive)に、あるクラスに該当しない場合(×)を負(Negative)に割り当てることが一般的です。 分割表にまとめておきましょう。


「正」は「当該クラス」、「負」は「当該クラス以外」とするとイメージが湧きやすいです。


この呼称を先ほどの正解率の式に適用すると、次のようになります。

正解率(accuracy)=(TP + TN) / (TP + FP + FN + TN)

あるテストで、○と答えて正解したのが50問、×と答えて正解したのが39問、○と答えて不正解したのが5問、×と答えて不正解したのが6問だとすると、(50+39)/(50+5+39+6)=0.89といった具合に計算できます。 この分割表を使えば、さまざまな評価指標の理解に大いに役立ちます。

適合率(precision)

正の予測結果に注目した評価指標が適合率(precision)です。単に精度と呼ばれる場合もあります。適合率とは、正と予測したものの中での実際に正である割合のことで、式は次の通りです。

適合率(precision) = TP / (TP + FP)

分類表でいうと、この部分です。


大量の画像の中から犬の画像を自動的にピックアップするシステムを作ったとします。 今回、100枚の画像を対象にシステムを使ってみたところ、犬だと判断した画像は30枚、犬でないと判断した画像70枚だったとします。 犬と判断した30枚の画像の中で実際に犬だった画像が20枚、実際に犬でない画像は10枚だとすると、適合率は20/(10+20)=0.66となります。適合率は正例の予測の正確さを示すのです。
なお、適合率(precision)は正解率(accuracy)と相関することが多いです。

再現率(recall)

事実が正であることに着目した評価指標が再現率(recall)です。これは、事実が正である中で予測結果にどれくらい正が含まれていたを示します。式で表すと次の通りです。

再現率(recall) = TP / (TP + FN)

分類表でいうと、この部分です。


大量の画像の中から犬の画像を自動的にピックアップするシステムの例を思い出してください。今回用意した100枚の画像には犬の画像が35枚、犬でない画像は65枚だったとします。 35枚の犬の画像の中でシステムが犬と判断したのは20枚、犬でないと判断したのは15枚であれば、再現率は20/(20+15)=0.57となります。再現率は正例の取りこぼしのなさを示すのです。

F値(F-measure)

適合率(precision)と再現率(recall)は逆相関の関係を持ちます。ものすごく慎重に、確実に正と判断できるものだけを正だと判断すれば、適合率は上がります。しかし取りこぼしが増え、再現率は下がります。 逆に、慎重さを欠いてすべてを正と判断すれば、取りこぼしゼロで再現率は最大となりますが、適合率は最低となるのです。
両方の指標を統合するため、適合率と再現率の調和平均であるF値(F-measure)を評価指標に用いることも多々あります。

F値(F-measure)= (2×適合率×再現率)/(適合率+再現率)

ROC曲線とAUC

縦軸にTP、横軸にFPの割合とった2次元平面上に、プロットを曲線でつないだグラフがROC曲線です。


ROC曲線のROCはReceiver Operating Characteristicの略で受信者操作特性というレーダーの研究から生まれた概念です。 AUCはArea Under the Curveの略で、ROC曲線の曲線より下側の面積を示し、この面積が最大の1に近いほど性能が良いシステムといえます。 なお、ランダムに出力するシステムであればAUCは0.5となります。

BERと等価エラー率(EER)

どれくらい間違いを起こさないか、つまり誤分類の少なさが求められるシステムの評価指標があります。 本人認証システムがその例で、権限を持つユーザが認証時にシステムに拒絶される割合を本人拒否率(False Rejection Rate; FRR)といい、 権限のないユーザが認証時にシステムに受け入れられてしまう割合を他人受入率(False Acceptance Rate; FAR)といいます。

本人拒否率(False Rejection Rate; FRR) = FN / (FN + TP)
他人受入率(False Acceptance Rate; FAR) = FP / (TN + FP)

両指標ともに低ければ低いほど良いのですが、これらは逆相関の関係にあるため、しばしばこれらの平均をとったBER(Balanced Error Rate)で性能を評価します。

BER(Balanced Error Rate) = 0.5 * (FP / (TN + FP) + FN / (FN + TP))

システムのパラメータによってFARやFRRは変化するため、そのままでは性能の比較は困難です。そこで、FARやFRRをプロットしそれぞれが等しくなるポイントで性能の評価をします。 これが等価エラー率(Equal Error Rate; EER)です。等価エラー率は同率エラー率や同等エラー率とも訳され、多くのシステムの性能評価に使われています。

オッズ(odds)、オッズ比(OR)

ついでに、医学で良く用いられる指標も紹介します。
事象が起こった回数と起こらなかった回数の比をオッズといい、次の式で求めます。

オッズ(odds)=TP / FN、FP / TN

オッズを使って事象の起こりやすさを示すオッズ比を求めることができます。

オッズ比(odds ratio; OR)= (TP / FN) / (FP / TN)

オッズ比は0以上の値をとり、事象が無関係であれば1に近づき、そうでなければ1から離れた値になります。信頼区間を構成できない場合に求めることが多いです。

単語認識率(word correct)、単語認識精度(word accuracy)

さあ、いよいよ音声認識で使われる評価指標です。 多く用いられるのは単語認識率と単語認識精度です。それぞれ、次の式で求めることができます。

単語認識率(word correct) = 正解単語数 /(正解単語数 + 置換単語数 + 削除単語数)
単語認識精度(word accuracy) =(正解単語数 - 挿入単語数)/(正解単語数 + 置換単語数 + 削除単語数)

単語認識率と単語認識精度の違いは、挿入されたことによる誤りを加味するかどうかです。 単語認識率は余計な単語が挿入されていても認識率は低下しませんが、単語認識精度は挿入誤りも考慮して評価します。

単語誤り率(Word Error Rate; WER)

最後に、件の単語誤り率(Word Error Rate; WER)です。 単語誤り率とは、正解文の単語総数に対する誤り単語の割合で、次の式で算出します。

単語誤り率(Word Error Rate; WER)=(挿入単語数 + 置換単語数 + 削除単語数)/正解単語数

式の通り、正解単語に比べて、挿入、置換、削除の誤りがどれぐらい少なかったのかを示します。 聞き間違え率と解釈してもよいでしょう。 ニュースによれば、特定の環境においては人工知能が人間をもしのぐ聞き間違えのなさを達成したということですが、雑音環境における性能向上などまだまだ課題はたくさんあります。 こうしたニュースを見聞きした際にリファレンスとして使用できるよう今後も適宜拡張していく予定です。

【WARAI+からのお知らせ】

その他のコラム

コラムをもっと見る