テクノロジー

機械学習の評価指標に使われる「AUC」って何?使い方の基本を解説

機械学習の評価指標に使われる「AUC」って何?使い方の基本を解説

ここ数年でAI(人工知能)は医療や自動車など、さまざまな分野で活用が広がっているニュースを聞くようになりましたよね。

現在、AI(人工知能)開発で主流技術に使われているのが機械学習。機械学習とは、コンピュータに分類や予測などの人間と同じような知能を備えさせるための学習方法です。

ただし、人間と同じで一度の学習で、すぐに好成績が出せるわけではありません。AI(人工知能)も同じで機械学習をしたら、その時点で備わった性能の評価が必要です。

機械学習の評価指標にはいくつかの手法があり、その中の一つがAUCです。AUCには2種類あり、機械学習に使用したデータの内容で使い分けます。そのため、機械学習の評価にAUCを使うなら、まず基本的なことから学びましょう。

そこで今回は、機械学習の評価指標に使われているAUCについて、基本的な使い方などをお伝えします。

AUCとは

AUCのイメージ
データの分析で結果をわかりやすくするため、曲線グラフに表すことがありますよね。AUCとは、Area Under Curveの略で、グラフに描かれた曲線の下側の面積のことです。AI(人工知能)開発に使用している機械学習の二値分類でAUCは、その性能の評価指標に使われていて、面積が大きいほど評価が高くなります。

機械学習の二値分類とは、入力したデータをAI(人工知能)が2つの種類に振り分ける機能です。例えば、ある人の健康状態のデータを分析し、その人が病気になっているか、いないかを判別するのと同じで、どちらになるか確率を計算して振り分けます。

その二値分類の評価指標はAUCのほかに、次のような手法があります。

  • 正解率 (Accuracy):機械学習の二値分類で、予測した結果の正解率
  • 適合率 (Precision):機械学習の二値分類で正解と予測した結果のうち、実際に正解だった予測結果の割合
  • 再現率(Recall):実際の正解の中で、機械学習の二値分類で正解を予測できた結果の割合
  • F値 (F-measure):対照的な適合率と再現率の値から、機械学習の二値分類の予測結果を評価する指標

AUCを含めて、これらの評価手法を実施するためには、まず機械学習の二値分類で出た予測結果をわかりやすく整理します。その結果をわかりやすく表せるのが混同行列です。

混同行列

混同行列とは、分類した結果を整理する表です。この表を使って分類した結果を、全部で4パターンに振り分けます。例えば正解・不正解の分類だと、次のようになります。

  • 正解を予測できた(真陽性/True Positive、TP)
  • 不正解を予測できた(真陰性/True Negative、TN)
  • 正解を不正解だと予測した(偽陽性/False Positive、FP)
  • 不正解を正解だと予測した(偽陰性/False Negative、FN)

そして、それぞれに当てはまるデータの数を次の表に入れていきます。

予測の正解  予測の不正解
実際の正解    (真陽性/TP)(偽陰性/FN)
実際の不正解   (偽陽性/FP)(真陰性/TN)

上記の表には真陽性のデータが5つだったら、真陽性のところに5を入れます。

そして通常のAUCは、ROC曲線と呼ばれる曲線を基準にした面積で、混同行列の結果をもとに描きます。では、次にROC曲線について紹介しましょう。

ROC曲線とは

曲線のイメージ

ROC曲線とは、Receiver Operatorating Characteristic curveの略で、日本語に訳すと「受信者動作特性曲線」といいます。もともとROC曲線は、第2次世界大戦時にアメリカ軍が、日本の戦闘機の存在を察知するレーダーシステムの開発で生まれました。

ROC曲線を描くためには、まず二値分類で出た結果の確率を閾値(いきち(分類の境界になる値))にします。そして、縦のY軸が機械学習で正解を予測できた割合(真陽性率)を、横のX軸には間違って正解だと予測した割合(偽陽性率)を計算し、その交点をプロット。そして、各確率を計算してプロットした交点をつないだのがROC曲線です。

例えば、二値分類で次のような結果が出たとします。

[A・ネコ(0.9)、 B・ネコ(0.7)、C・イヌ(0.6)、 D・ネコ(0.4)、 E・キツネ(0.3)] (()内はその画像がネコである確率で、表記は0.6なら60%です。)

それぞれの確率を閾値にして、前章で説明した混同行列に整理します。では、混同行列と上記の式を使って、閾値が0.6だった場合で計算しましょう。

予測の正解    予測の不正解
実際の正解     2(真陽性/TP) 1(偽陰性/FN)
実際の不正解    1(偽陽性/FP) 1(真陰性/TN)

そして、混同行列をもとに真陽性率と偽陽性率を次の式で算出します。

  • 真陽性率・・・真陽性÷(真陽性+偽陰性)
  • 偽陽性率・・・偽陽性÷(偽陽性+真陰性)

  • 真陽性率・・・2÷(2+1)=0.666…
  • 偽陽性率・・・1÷(1+1)=0.5

計算の結果、Y軸(真陽性率)が0.666…、X軸(偽陽性率)が0.5になり、その交点をプロットします。このようにROC曲線は確率ごとを閾値にして、求めた点をつなぎます。では、次にROC曲線とAUCを使った機械学習の二値分類の評価について紹介しましょう。

AUCやROC曲線でわかること

わかることのイメージ

0の起点からROC曲線が左斜め上に向けて、ふくらむように描かれた面積の大きなAUCであれば機械学習の性能が良いことになります。その反対にROC曲線が0から右斜め上に向かう対角線に近く、AUCが膨らみのない形の面積になれば機械学習の性能はよくありません。

そして、AUCの面積はグラフ上でX軸、Y軸ともに最大で1の範囲で表されます。つまりAUCの面積が1m2 に近ければ機械学習の性能が優秀であり、0.51m2に近くなると機械学習の評価は下がります。

機械学習の二値分類では、入力したデータの分類を確率で振り分けますが、すべて正確に分類できるわけではありません。それについて、さきほどの例で紹介します。

[A・ネコ(0.9)、 B・ネコ(0.7)、C・イヌ(0.6)| D・ネコ(0.4)、 E・キツネ(0.3)] (ネコである)         0.5     (ネコではない)

これは画像がネコなのか、それ以外なのかの確率を計算して分類した結果です。二値分類は結果で、ネコか、それ以外の境界になる閾値(いきち)を0.5(50%)に設定して判定します。

しかし、ご覧いただくとCのイヌがネコだと判別され、Dはネコなのにネコでないとなっています。では実際に、この機械学習の二値分類の性能は良いのか悪いのか知りたいところです。そこで次は、例の二値分類の結果を評価するために、実際にROC曲線とAUCを算出してみましょう。

AUCやROC曲線を使って機械学習の評価指標を出す方法

評価のイメージ

では、実際にROC曲線のAUCを使用した機械学習の評価指標を出す方法を紹介しましょう。今回の記事で使用している下記の例を使って説明を進めます。

[A・ネコ(0.9)、 B・ネコ(0.7)、C・イヌ(0.6)、 D・ネコ(0.4)、 E・キツネ(0.3)]

各画像の確率を閾値にして、真陽性率と偽陽性率を算出した結果は次の通り。

          真陽性率  偽陽性率
C・ネコ (0.9)/  0.333…   0
B・ネコ (0.8)/  0.666…   0
A・イヌ (0.6)/  0.666…   0.5
E・ネコ (0.4)/  1      0.5
D・キツネ(0.3)/  1      1

この結果をもとに、それぞれの真陽性率と偽陽性率の交点をプロットし、つなげてROC曲線を描きます。

次に描いたROC曲線から下のAUCの面積は、台形法で計算します。まずプロットした点から真下に線を引いて、引いた線の左側エリアを台形の面積を求める公式({上辺+下辺}×高さ÷2)で計算。それから算出した面積を足し合わせます。

例を計算してROC曲線に表すと、データ数が少ないので角張っていますが、左上に向けてふくらむ感じの形になり、面積も1 m2に近い0.8333…m2となりました。つまり例の二値分類は、優良な機械学習の二値分類だと評価できます。これがROC曲線のAUCを使用した機械学習の評価指標を出す方法です。

機械学習の二値分類にROC曲線のAUCで評価すると、視覚的に良し悪しがわかり、その二値分類で最適な閾値も判明します。また複数の二値分類を比較することもできます。

しかし、すべての二値分類にROC曲線のAUCが使えるわけではありません。次はROC曲線のAUCを活用するときの注意点を紹介します。

AUCを活用するときの注意点

注意点のイメージ

ROC曲線で算出したAUCの活用に不向きなことがあります。それは二値分類に使用するデータが不均衡な場合です。

不均衡データとは、先ほどのネコ画像でいうと、ネコの画像とネコ以外の画像で、どちらから偏った数になっているデータ。例えば、正解のネコ画像が10枚なのに対して、ネコ以外の画像が1000枚のような場合です。

先ほどのネコ画像だと、5つの画像データのネコ画像が3枚、ネコ以外の画像が2枚と、均衡がとれていますよね。では、もしもネコ画像が1枚、ネコ以外の画像が4枚だった場合で計算してみましょう。

[A・ネコ(0.9)、 B・タヌキ(0.7)、C・イヌ(0.6)、 D・イタチ(0.4)、 E・キツネ(0.3)]
         真陽性率  偽陽性率
C・ネコ (0.9)/ 0.333…  0
B・タヌキ(0.8)/ 1     0.25
A・イヌ (0.6)/ 1     0.5
E・イタチ(0.4)/ 1     0.75
D・キツネ(0.3)/ 1     1・AUC面積(0.8333…m2)

上記の結果からROC曲線とAUCを計算すると、数値だけ見れば優良な機械学習の二値分類と評価できます。しかし、C以外はすべてネコ以外の画像なので、実際に優良だとはいえません。これは不均衡データを扱った場合、その偏りの影響をもろに受けてしまうROC曲線の特徴です。

このようにデータが不均衡な場合は、ROC曲線を用いたAUCの評価は不向きです。そんな場合はPR線のAUCを使います。

PR曲線とは、Precision-Recall Curveの略で、縦のY軸に適合率(Precision)、横のX軸に再現率(Recall)を取って、その交点をむすぶ曲線。

PR曲線もROC曲線と同じく閾値を変えて、次の式で計算しグラフ上に点をプロットします。

  1. 適合率・・・真陽性÷(真陽性+偽陽性)
  2. 再現率・・・真陽性÷(真陽性+偽陰性)

プロットした点をつないだのがPR曲線で、そのPR曲線から下のエリアがAUCです。PR曲線のAUCはROC曲線のAUCとは反対で、右上に膨らむような形が機械学習の性能が優良な状態を表します。

このようにAUCには、ROC曲線とPR曲線を基準に使用する2種類があり、通常のAUCといえばROC曲線の方をさします。この2つはデータが不均衡か、均衡がとれているのかで使い分けましょう。

さて、今回は機械学習の二値分類の評価指標に使われている、AUCについてお伝えしました。AUCとはROC曲線とPR曲線の下側の面積のこと。機械学習では二値分類の評価に使用しています。

AUCなどの評価手法を実施するためには、まず機械学習の二値分類の予測結果を混同行列で整理します。混同行列では、全部で次の4パターンに振り分けます。

  • 正解を予測できた(真陽性/True Positive、TP)
  • 不正解を予測できた(真陰性/True Negative、TN)
  • 正解を不正解だと予測した(偽陽性/False Positive、FP)
  • 不正解を正解だと予測した(偽陰性/False Negative、FN)

通常のAUCは、ROC曲線を基準にします。その描き方は、まず二値分類の結果を混同行列で整理。次にその内容をもとに、二値分類で出た結果の各確率を閾値にして、真陽性率と偽陽性率を計算します。

  • 真陽性率・・・真陽性÷(真陽性+偽陰性)
  • 偽陽性率・・・偽陽性÷(偽陽性+真陰性)

そして、上記の計算で算出した各値の交点をつないだのがROC曲線になり、その下側の面積がAUCです。AUCはX軸、Y軸ともに最大で1の範囲で表します。その面積は、各交点真下に線を引いて、台形面積を求める公式({上辺+下辺}×高さ÷2)で、引いた線の左側の面積を算出し合算して求めます。

算出したAUCは、左斜め上にふくらむような形で面積が1m2 に近ければ機械学習の性能が優秀。反対にROC曲線のふくらみがなく面積が0.51m2に近いと評価は下がります。この流れがROC曲線のAUCを使用した機械学習の評価指標を出す方法です。

しかし、ROC曲線のAUCは、正解と不正解が不均衡なデータを使用した二値分類だと、その偏りの影響を受けて正確な評価ができません。その場合は不向きなので、Y軸に適合率(Precision)、X軸に再現率(Recall)を取り、その交点をむすぶPR曲線を基準にするAUCで評価します。

機械学習の二値分類の評価でAUCは、視覚的にその性能の優劣を判断できるのが最大のメリット。また、最適な閾値の選択と、複数の二値分類の比較ができます。

そのためAUCは、優れた機械学習の二値分類の評価指標といえます。なので、データの偏りに合わせROC曲線とPR曲線を上手に使い分けて、機械学習の二値分類を評価しましょう。

【お知らせ】

当メディア(AIZINE)を運営しているAI(人工知能)/DX(デジタルトランスフォーメーション)開発会社お多福ラボでは「福をふりまく」をミッションに、スピード、提案内容、価格、全てにおいて期待を上回り、徹底的な顧客志向で小規模から大規模ソリューションまで幅広く対応しています。

御社の悩みを強みに変える仕組みづくりのお手伝いを致しますので、ぜひご相談ください。

お多福ラボコーポレートサイトへのバナー

トップへ戻る
タイトルとURLをコピーしました