ROC曲線とAUCによるモデル評価

ROC曲線とAUCによるモデル評価

AIを知りたい

先生、「ROC曲線とAUC」がよくわからないです。具体的にどういうもので、何が良いのか教えてください。

AIエンジニア

ROC曲線は、実際に正しいものを正しいと予測できた割合と、間違っているものを誤って正しいと予測した割合の関係を示すグラフだよ。AUCはそのグラフの下の面積のことだ。AUCが大きいほど、モデルの精度が高いと言えるんだ。

AIを知りたい

なるほど。つまり、正しいものを正しく見つける能力が高く、かつ、間違っているものを間違っていると判断する能力も高いほど、AUCが大きくなるということですね?

AIエンジニア

その通り!まさにそういうことだ。簡単に言うと、AUCはモデルがどれだけうまくデータを分類できるかを示す指標の一つと考えて良いよ。

ROC 曲線と AUCとは。

人工知能で使われる言葉、『ROC曲線とAUC』について説明します。ROC曲線とは、実際に正しいデータを正しく当てられた割合(真陽性率)と、実際は間違っているデータを誤って正しいと当ててしまった割合(偽陽性率)をグラフにしたものです。AUCとは、このROC曲線の下の面積のことです。一つのモデルで、正と負を分ける境目をいろいろ変えて、ROC曲線を描きます。AUCの値が大きいほど、精度の良いモデルと言えます。

ROC曲線とは

ROC曲線とは

二値分類とは、対象を二つの種類に区分けする作業のことです。例えば、健康診断の結果から、病気に罹患しているかいないかを判断する場合や、メールが迷惑メールかそうでないかを判別する場合などが挙げられます。このような二値分類の精度を測る方法の一つに受信者動作特性曲線、略してROC曲線と呼ばれるものがあります。

ROC曲線は、縦軸に真陽性率、横軸に偽陽性率をとって描かれるグラフです。真陽性率とは、実際に陽性であるものの中から、正しく陽性と予測できた割合のことです。病気の診断で例えるなら、実際に病気に罹患している人の中で、検査によって正しく病気と診断できた人の割合です。これは、感度や再現率とも呼ばれます。一方で、偽陽性率とは、実際は陰性であるものの中から、誤って陽性と予測した割合のことです。病気の診断の例では、実際には健康な人の中で、検査によって誤って病気と診断されてしまった人の割合に当たります。

ROC曲線を描くためには、様々な閾値を用います。閾値とは、陽性と陰性を区別する境界線の値のことです。この閾値を変化させることで、真陽性率と偽陽性率の値が変化し、ROC曲線が描かれます。理想的な分類モデルは、真陽性率が高く、偽陽性率が低い、つまり、病気の人を正しく病気と診断し、健康な人を誤って病気と診断することが少ないモデルです。ROC曲線上で、左上に近いほど理想的なモデルと言えます。

ROC曲線を見ることで、様々な閾値におけるモデルの性能を一度に評価できるため、特定の閾値だけに頼った評価よりも、より多角的で詳細な分析が可能になります。これは、目的に合わせて最適な閾値を選択する際に役立ちます。例えば、病気の早期発見を重視する場合には、多少偽陽性率が高くなっても、真陽性率の高い閾値を選ぶ方が良いでしょう。このように、ROC曲線は二値分類モデルの性能評価において重要な役割を果たします。

ROC曲線とは

AUCとは

AUCとは

AUCとは、受信者動作特性曲線(ROC曲線)の下部の面積を数値化したものです。これは、機械学習モデル、特に分類モデルの性能を測る物差しとして使われます。

ROC曲線は、様々な判定基準でモデルを評価した結果をグラフにしたものです。横軸には「偽陽性率」を、縦軸には「真陽性率」を置きます。偽陽性率とは、本当は陰性なのに誤って陽性と判断した割合です。真陽性率とは、本当は陽性であるものを正しく陽性と判断できた割合です。

AUCの値は0から1までの範囲で表されます。1に近いほどモデルの性能が良いと考えられます。例えば、AUCが1であれば、陽性と陰性の判別を全て完璧に行える理想的なモデルです。陽性のものは全て陽性と正しく判断し、陰性のものも全て陰性と正しく判断できます。

反対に、AUCが0.5の場合は、でたらめに予測した場合と同じ程度の性能しかありません。つまり、モデルとして役に立たないということです。ちょうどコインを投げて表が出たら陽性、裏が出たら陰性と判断するようなものです。

AUCが0.5より小さい場合は、モデルが陽性と陰性を逆向きに判断していることを示します。例えば、本来陽性と判断すべきものを陰性、陰性と判断すべきものを陽性と判断している状態です。このような場合は、モデルの出力結果を反転させることで性能を向上させることができます。

AUCは、モデルが陽性と陰性をどれくらい正確に区別できるかを示す重要な指標です。特に、データの偏り(陽性と陰性の数の差が大きい場合)がある場合でも、安定した評価指標として用いられます。そのため、様々な分野でモデルの性能評価に活用されています。

AUC ROC曲線 偽陽性率 真陽性率 値の範囲 評価
受信者動作特性曲線下面積 様々な判定基準でモデルを評価した結果をグラフ化したもの 本当は陰性なのに誤って陽性と判断した割合 本当は陽性であるものを正しく陽性と判断できた割合 0~1 1に近いほど良い
1 理想的なモデル、陽性と陰性の判別を完璧に行える
0.5 ランダム予測と同じ、モデルとして役に立たない
0.5未満 陽性と陰性を逆向きに判断、出力を反転で性能向上可能

閾値の役割

閾値の役割

二つの値に分ける問題を扱う場面では、機械学習の模型は、ある事柄が起こる見込みを数値で示します。この数値は、例えば0から1までの間の値を取り、1に近づくほど見込みは高くなります。しかし、最終的には、それが起こるか起こらないかのどちらかに決める必要があります。そこで『閾値』と呼ばれる基準値を用います。

例として、病気の検査を考えてみましょう。検査の結果、病気である確率が0から1までの数値で表されるとします。ここで閾値を0.5と設定した場合、確率が0.5以上であれば『病気である』、0.5未満であれば『病気ではない』と判断します。この0.5という値が閾値です。閾値は、いわば判断の境界線です。

この閾値の値を変えることで、検査結果の正しさに影響が出ます。例えば、閾値を0.7に上げると、『病気である』と判断される人の数は減ります。これは、より確実に病気の人を見つけようとするため、基準を厳しくしたことに当たります。その結果、本当に病気の人を見逃す可能性は低くなりますが、健康な人を誤って病気と判断する可能性も出てきます。逆に、閾値を0.3に下げると、『病気である』と判断される人の数は増えます。これは、病気の人を見逃さないように、基準を緩くしたことに当たります。その結果、健康な人を誤って病気と判断する可能性が高くなりますが、本当に病気の人を見逃す可能性は低くなります。

このように、閾値を調整することで、どれくらい正確に見分けられるかと、どれくらい誤って判断してしまうかのバランスを取ることができます。そして、このバランスを様々な閾値で調べ、グラフに描いたものが『ROC曲線』です。この曲線を見ることで、模型の性能を様々な角度から評価することができます。最適な閾値は、扱う問題の性質や、何を重視するかによって変わります。病気の検査のように、見逃しを避けたい場合は低い閾値、健康な人を誤診したくない場合は高い閾値が適切と言えるでしょう。

閾値 病気であると判断される人の数 本当に病気の人を見逃す可能性 健康な人を誤って病気と判断する可能性
0.7 減少 低い あり
0.5 基準 中程度 中程度
0.3 増加 高い 低い

ROC曲線の解釈

ROC曲線の解釈

受信者動作特性曲線(ROC曲線)は、様々な分類の閾値における、真陽性率と偽陽性率をプロットしたグラフです。真陽性率とは、実際に陽性であるデータの中で、正しく陽性と予測できた割合のことです。偽陽性率とは、実際には陰性であるデータの中で、誤って陽性と予測してしまった割合です。

ROC曲線は、一般的に左上に向かってカーブを描きます。理想的なROC曲線は、グラフの左上隅を通る形になります。これは、全ての陽性データを正しく陽性と予測し、同時に全ての陰性データを正しく陰性と予測できる、つまり完全な予測を意味します。左上隅に近いほど、真陽性率は高く、偽陽性率は低いため、モデルの性能が良いと言えます。

一方で、ROC曲線がグラフの対角線と一致する場合は、ランダムに予測した場合と変わらない性能しか持ちません。つまり、モデルによる予測は全く役に立たないということです。対角線から左上に向かってカーブしているほど、ランダムな予測よりも優れた性能を示していることになります。

ROC曲線の形状視覚的に確認することで、モデルの性能を直感的に把握することができます。複数のモデルを比較する場合、それぞれのROC曲線を重ねて表示することで、どのモデルが優れているかを容易に判断できます。例えば、あるモデルのROC曲線が他のモデルのROC曲線を完全に上回っている場合、上回っているモデルの方が全体的に優れた性能を持っていると判断できます。また、AUC(曲線下面積)という指標を計算することで、ROC曲線を数値化し、モデルの性能を定量的に評価することも可能です。

指標 説明 ROC曲線上の位置 モデル性能
真陽性率 (TPR) 実際に陽性であるデータの中で、正しく陽性と予測できた割合 Y軸 高いほど良い
偽陽性率 (FPR) 実際には陰性であるデータの中で、誤って陽性と予測してしまった割合 X軸 低いほど良い
理想的なROC曲線 全ての陽性データを正しく陽性と予測し、同時に全ての陰性データを正しく陰性と予測できる グラフの左上隅 完全な予測
ランダムな予測 モデルによる予測は全く役に立たない グラフの対角線 予測性能なし
良いモデル 真陽性率は高く、偽陽性率は低い 対角線から左上に向かってカーブ ランダムな予測よりも優れた性能

AUCによるモデル比較

AUCによるモデル比較

様々な計算のやり方を試した結果を比べる時、AUCという数字はとても役に立ちます。この数字は、ROC曲線と呼ばれるグラフの下の面積で表されます。ROC曲線は、結果の正しさ(真陽性率)と間違っている割合(偽陽性率)の関係を表したグラフです。AUCは一つのしきい値だけで決まるのではなく、様々なしきい値での性能を総合的に見ているため、モデル全体の性能を把握するのに役立ちます。

複数の計算方法を比べるには、それぞれの計算方法でROC曲線を描いて、同じグラフに重ねて表示します。そして、それぞれの曲線の下の面積、つまりAUCを比べます。AUCの値が大きいほど、その計算方法は正しいものとそうでないものをより正確に見分けることができると言えます。つまり、AUCが高いモデルほど、一般的に良いモデルだと考えられます。

例えば、病気かどうかを判断する計算方法を開発したとします。AUCが大きいモデルは、実際に病気の人を病気だと正しく判断する割合が高く、健康な人を健康だと正しく判断する割合も高いと言えます。

しかし、AUCだけでモデルの良し悪しを判断するのは危険です。AUCは全体的な性能を見るための指標なので、特定の状況における性能は分かりません。例えば、病気の診断では、病気の人を見逃すこと(偽陰性)は、健康な人を病気と誤診すること(偽陽性)よりも重大な問題です。このような場合、偽陰性を少なくすることに重点を置いた指標も合わせて考える必要があります。

また、データの性質によってAUCの解釈も変わってきます。データの中に、正しいものとそうでないものの数が大きく偏っている場合、AUCが高くても、実際に使ってみるとあまり役に立たないこともあります。

つまり、AUCはモデルを選ぶ際の重要な指標の一つですが、これだけで判断するのではなく、他の指標と合わせて総合的に判断することが大切です。

項目 説明
AUC ROC曲線下の面積。モデルの全体的な性能を示す指標。値が大きいほど、正しいものとそうでないものを正確に見分ける能力が高い。
ROC曲線 真陽性率と偽陽性率の関係を表したグラフ。様々なしきい値でのモデルの性能を視覚化。
真陽性率 結果の正しさ。実際に正しいものを正しくと判断できた割合。
偽陽性率 結果の間違い。実際には正しくないものを正しくと判断してしまった割合。
モデル比較 複数のROC曲線を重ねて表示し、AUCを比較することで、モデルの性能を比較。
AUCの限界
  • 全体的な性能を示す指標であり、特定の状況における性能は不明。
  • 偽陰性のような、AUCでは捉えきれない重要な指標もある。
  • データの偏りによって、AUCが高くても実用性が低い場合も存在。
結論 AUCは重要な指標だが、他の指標と合わせて総合的に判断する必要がある。

まとめ

まとめ

二つの値を選ぶ問題で、機械学習がどのくらいうまく答えられるかを調べる方法として、ROC曲線とAUCという考え方があります。ROC曲線は、様々な境い目で機械学習の正答率と誤答率をグラフに描いたものです。このグラフを見ると、機械学習がどれくらいうまく答えを分けられているかが分かります。たとえば、病気かどうかを診断する機械学習を作ったとします。この機械学習は、ある数値を境い目にして、「この数値より大きい人は病気、小さい人は健康」と判断します。この境い目の数値をいろいろ変えて、それぞれの正答率と誤答率を計算し、グラフに点を打っていきます。すべての点を線でつなげると、ROC曲線が出来上がります。AUCは、ROC曲線の下側の面積のことです。AUCの値は0から1までの間の数字で表されます。1に近いほど、機械学習の性能が良いことを示します。つまり、病気の人と健康な人をうまく区別できているということです。もし、AUCが0.5だとしたら、それは、でたらめに答えているのと同じくらい役に立たないことを意味します。ROC曲線とAUCを使うことで、機械学習の性能を視覚的に分かりやすく、そして数値的に比較しやすくなります。しかし、ROC曲線とAUCだけで機械学習の良し悪しを判断するのは危険です。他の評価方法も組み合わせて、データの特徴や、実際に使いたい場面での条件などを考えながら、一番良い機械学習を選ぶことが大切です。たとえば、病気の診断では、健康な人を病気と判断してしまう誤診よりも、病気の人を見逃してしまう誤診の方が深刻です。このような場合は、ROC曲線とAUCだけでなく、他の指標も合わせて総合的に判断する必要があります。

まとめ