受信者動作特性曲線
受信者動作特性曲線(ROC曲線, receiver operator characteristics curve)
ROC曲線の概要
受信者動作特性曲線は、もともとレーダー技術で雑音の中から敵機の存在を検出するための方法として開発されました。そのため「受信者動作特性」というレーダーっぽい感じの名前がついているようですが、この計算方法は、分類アルゴリズムの性能評価法として特に医療分野でよく使われています。
混合行列
2クラス分類の場合は、対象$ xが一つのクラスに属しているか否かの問題と等価で、属していると判断する場合を$ p(陽性, positive), 属していないと判断する場合を$ n(陰性, negative)と表記することにします。また、$ xの真のクラスを$ *p, \ *nで表すことにします。
table: 2クラス分類問題の混合行列
識別クラス
p n
真のクラス *p True Positive: 真陽性 (TP) False Negative: 偽陰性 (FN)
*n False Positive: 偽陽性 (FP) True Negative: 真陰性 (TN)
上に示すような混合行列から、以下のように性能評価値を計算することができます。
偽陽性率 (false positive rate) = FP / (FP + TN)
陰性のものを陽性と判断した割合。
真陽性率 (true positive rate) = TP / (TP + FN)
陽性のものを正しく陽性と判断した割合。
適合率 (精度, precision) = TP / (TP + FP)
検索(検索者が必要とするページだと予測)された文書中の適合文書(実際に検索者が必要とするページ)の割合(予測正解率/予測がどれだけ当たっているか)。
例:検索エンジンで100件表示されたとき、検索者が必要とするページ数の割合。
再現率 (recall) = TP / (TP + FN)
適合している全文書(実際に検索者が必要とするページ)から、どれだけ検索(検索者が必要とするページだと予測)できているか(網羅率/陽性をどれだけ網羅できているか)。
例:検索エンジンで100件表示されたとき、検索者が必要とする全ページのうち何件がそこに含まれているかという割合。ただし、検索者が必要とする全ページ数は分からないので、真陽性率を使って推定を行う(真陽性率だと正しいものの数が正確に分かっているため)。
正確度 (accuracy) = (TP + TN) / (TP + FN + FP + TN)
真と偽を正しく識別した割合
F - 値 (F - measure) = 2 / (1 / precision + 1 / recall)
適合率と再現率の調和をとったもの
ROC曲線の求め方
ROC曲線は、偽陽性率と真陽性率の関係をグラフにしたものです。偽陽性率は本来偽であるものの中のみで、真陽性率は本来真であるものの中のみで計算されます。したがって、真のクラスのデータ数と偽のクラスのデータ数の間に大きな差があっても、ROC曲線は影響を受けないという特徴を持っています(そのため医療分野でよく使われる)。
https://gyazo.com/17906d25510e792e8277e017e05ef3b8
ROC曲線による性能評価
https://gyazo.com/7c1a2cd9b5159b8b8c7093a2ab7babb5https://gyazo.com/170a2893913c2151f38133688b991272