Upgrade to Pro — share decks privately, control downloads, hide ads and more …

混同行列/ROC曲線/AUCを理解する

Hachimada
February 05, 2024
42

 混同行列/ROC曲線/AUCを理解する

混同行列/ROC曲線/AUCについてボトムアップで解説します。

Hachimada

February 05, 2024
Tweet

Transcript

  1. 【前提】 • 2クラス分類モデルは、0か1かの確率を出⼒ • クラス1の確率p、クラス0の確率1-pを出⼒ • 閾値αを決めて、p > α の時、分類結果を1とし、それ以外の場合は0とする

    モデルの出⼒(分類結果)と実際の値とを⽐較して、性能を測りたい モデルの出⼒と実際の値の組み合わせは4パターン
  2. TP FP FN TN 1 0 1 0 実際 判

    断 4パターン 実際1であるものを1と出⼒ →True Positive 実際0であるものを1と出⼒ →False Positive 実際0であるものを0と出⼒ →True Negative 実際1であるものを0と出⼒ →False Negative 出 ⼒
  3. TP FP FN TN 1 0 1 0 実際 判

    断 実際1であるものを1と出⼒ →True Positive 実際0であるものを1と出⼒ →False Positive 実際0であるものを0と出⼒ →True Negative 実際1であるものを0と出⼒ →False Negative 当たっている 間違っている 間違っている 当たっている 出 ⼒
  4. TP FP FN TN 1 0 1 0 実際 判

    断 これが混同⾏列 出 ⼒
  5. TP FP FN TN 1 0 1 0 実際 判

    断 TP, FP, FN, TN を使って⾊々な評価指標を作れる 出 ⼒
  6. 【例】 画像に写っている動物を「1:⽝」「0:⽝以外」 で分類するモデルに、100枚の画像を分類させてみたとする 30 10 15 45 1 0 1

    0 実際 予 測 実際は「⽝」 45枚 実際は「⽝以外」 55枚 予測は「⽝以外」だった 60枚 予測は「⽝」だった 40枚 出 ⼒
  7. 正解率 30 10 15 45 1 0 1 0 実際

    予 測 全ての判断の数 当たってる判断の数 正解率 = 100 30+45 = = 0.75 TP+FP+FN+FP TP+TN = TP FP FN TN 1 0 1 0 実際 予 測
  8. TP FP FN TN 1 0 1 0 実際 出

    ⼒ TP FP FN TN 1 0 1 0 実際 出 ⼒ TP FP FN TN 1 0 1 0 実際 出 ⼒ TP FP FN TN 1 0 1 0 実際 出 ⼒ TP FP FN TN 1 0 1 0 実際 出 ⼒ TP FP FN TN 1 0 1 0 実際 出 ⼒ TP FP FN TN 1 0 1 0 実際 出 ⼒ TP FP FN TN 1 0 1 0 実際 出 ⼒ ・0であるものを1と出⼒した割合 ・ False Positive Rate ・ ・偽陽性率 ・0と出⼒したのもが0である割合 ・ ・ ・陰性適中率 ・ 0であるものを0と出⼒した割合 ・True Negative Rate ・特異度, Specificity ・真陰性率 ・1と出⼒したものが1である割合 ・ ・適合率,精度,Precision ・陽性適中率 ・1であるものを1と出⼒した割合 ・True Positive Rate ・再現率, Recall ・真陽性率 ど う 判 断 さ れ る か 実 際 ど う で あ る か ・ 1であるものを0と出⼒した割合 ・False Negative Rate ・ ・偽陰性率 ・1と出⼒したのもが0である割合 ・(特に名前はなさそう) ・0と出⼒したのもが1である割合 ・(特に名前はなさそう) どんな評価指標がありうるか(⼀例)
  9. モデルの出⼒する確率に対して、閾値を決めて、0か1かを決めていた ↓ 閾値αを変えると、 TP, FP, FN, TN も変わる 【前提(再掲)】 •

    2クラス分類モデルは、 0か1かの確率を出⼒ • クラス1の確率p、クラス0の確率1-pを出⼒ • 閾値αを決めて、p > α の時、分類結果を1とし、それ以外の場合は0とする
  10. 【⽝画像分類では】 • 分類モデルは、 「⽝」か「⽝以外」かの確率を出⼒ • 「⽝」の確率p、「⽝以外」の確率1-pを出⼒ • 閾値αを決めて、p > α

    の時、分類結果を「⽝」とし、それ以外の場合は「⽝以外」とする 【⼀般的には】 「⽝の画像」 を⽝を分類する割合(TPR)は⾼い⽅がいい 「⽝以外の画像」を⽝と分類する割合(FPR)は低い⽅がいい TP FP FN TN 1 0 1 0 実際 出 ⼒ TP FP FN TN 1 0 1 0 実際 予 測 TPR = TP/TP+FN FPR = FP/FP+TN
  11. 【⽝画像分類では】 • 分類モデルは、 「⽝」か「⽝以外」かの確率を出⼒ • 「⽝」の確率p、「⽝以外」の確率1-pを出⼒ • 閾値αを決めて、p > α

    の時、分類結果を「⽝」とし、それ以外の場合は「⽝以外」とする 【閾値を変えると】 α=0としてしまえば(モデルの出⼒が何であろうと全部「⽝」にしちゃう) TPRは100%になる(嬉しい)が、FPRも100%になる(嬉しくない) 【⼀般的には】 「⽝の画像」 を⽝を分類する割合(TPR)は⾼い⽅がいい 「⽝以外の画像」を⽝と分類する割合(FPR)は低い⽅がいい TP FP FN TN 1 0 1 0 実際 出 ⼒ TP FP FN TN 1 0 1 0 実際 予 測 TPR = TP/TP+FN FPR = FP/FP+TN
  12. 【⽝画像分類では】 • 分類モデルは、 「⽝」か「⽝以外」かの確率を出⼒ • 「⽝」の確率p、「⽝以外」の確率1-pを出⼒ • 閾値αを決めて、p > α

    の時、分類結果を「⽝」とし、それ以外の場合は「⽝以外」とする 【閾値を変えると】 α=0としてしまえば(モデルの出⼒が何であろうと全部「⽝」にしちゃう) TPRは100%になる(嬉しい)が、FPRも100%になる(嬉しくない) α=1とすれば(モデルの出⼒が何であろうと全部「⽝以外」にしちゃう) FPRは0%になる(嬉しい)が、 TPRが0%になる(嬉しくない) 【⼀般的には】 「⽝の画像」 を⽝を分類する割合(TPR)は⾼い⽅がいい 「⽝以外の画像」を⽝と分類する割合(FPR)は低い⽅がいい TP FP FN TN 1 0 1 0 実際 出 ⼒ TP FP FN TN 1 0 1 0 実際 予 測 TPR = TP/TP+FN FPR = FP/FP+TN
  13. 【⽝画像分類では】 • 分類モデルは、 「⽝」か「⽝以外」かの確率を出⼒ • 「⽝」の確率p、「⽝以外」の確率1-pを出⼒ • 閾値αを決めて、p > α

    の時、分類結果を「⽝」とし、それ以外の場合は「⽝以外」とする 【閾値を変えると】 α=0としてしまえば(モデルの出⼒が何であろうと全部「⽝」にしちゃう) TPRは100%になる(嬉しい)が、FPRも100%になる(嬉しくない) α=1とすれば(モデルの出⼒が何であろうと全部「⽝以外」にしちゃう) FPRは0%になる(嬉しい)が、 TPRが0%になる(嬉しくない) 【⼀般的には】 「⽝の画像」 を⽝を分類する割合(TPR)は⾼い⽅がいい 「⽝以外の画像」を⽝と分類する割合(FPR)は低い⽅がいい TP FP FN TN 1 0 1 0 実際 出 ⼒ TP FP FN TN 1 0 1 0 実際 予 測 TPR = TP/TP+FN FPR = FP/FP+TN 様々な閾値も加味してモデルを評価したい
  14. TPR (⾼い⽅が良い) FPR (低い⽅が良い) α=0 → TPR=1, FPR=1 α=0.3 →

    TPR=0.95, FPR=0.7 α=0.0 α=0.3 0.7 0.95 αを変化させてTPRとFPRの変化を⾒てみる
  15. TPR (⾼い⽅が良い) FPR (低い⽅が良い) α=0 → TPR=1, FPR=1 α=0.3 →

    TPR=0.95, FPR=0.7 α=0.4 → TPR=0.9, FPR=0.4 α=0.0 α=0.3 α=0.4 0.4 0.9 αを変化させてTPRとFPRの変化を⾒てみる
  16. TPR (⾼い⽅が良い) FPR (低い⽅が良い) α=0 → TPR=1, FPR=1 α=0.3 →

    TPR=0.95, FPR=0.7 α=0.4 → TPR=0.9, FPR=0.4 α=0.0 α=0.3 α=0.4 0.4 0.9 ⼀般的なグラフでは横軸と⽴って軸の値 が決まってから点がプロットできるが、 ROC曲線では、点がプロットされてから 横軸縦軸の値が決まると考えた⽅がわか りやすいかもしれない αを変化させてTPRとFPRの変化を⾒てみる
  17. TPR (⾼い⽅が良い) FPR (低い⽅が良い) α=0 → TPR=1, FPR=1 α=0.3 →

    TPR=0.95, FPR=0.7 α=0.4 → TPR=9, FPR=0.4 α=0.5 → TPR=0.85, FPR=0.3 α=0.6 → TPR=0.6, FPR=0.2 α=0.8 → TPR=0.3, FPR=0.1 α=1.0 → TPR=0, FPR=1 α=0.0 α=0.3 α=0.4 α=0.5 α=0.6 α=0.8 α=1.0 αを変化させてTPRとFPRの変化を⾒てみる
  18. TPR (⾼い⽅が良い) FPR (低い⽅が良い) これがROC曲線 ROC (Receiver operating Characteristic) 直訳すると受信受信機動作特性

    ROC曲線は、第⼆次世界⼤戦中の1941年から、 戦場で敵の物体を探知するために電気技師とレーダー 技師によって開発されたのが最初で、これがその名前 「受信機動作特性」の由来となっている。 (Wikipediaより)