◇混同行列

混同行列とは:

2値分類の機械学習モデルの性能を測る指標
※最終的な答えが2つ(2値:True/False)になる事象に対し、その答えの正確さ(Accuracy)や精度(Precision)を評価するための手段

※株においては「テクニカルの精度・正確性」を統計的な正しさと因果関係としての正しさの両面から評価するために用いたりする

◆理解する構成要素

1.関数とは?
2.予想するときの関数(予想関数)
3.予想した結果の正誤を判定(評価)する関数(評価関数)
4.混同行列としての結果(集計)

1)関数:入力(Input)、出力(Output)、中間処理で構成される

・関数はInputを複数持てる
・関数のInputには数値以外にも文字列や真偽値(True/False)など様々な型で値を取れる
・関数はモデル内部の状態を変化させるだけの場合もあるため、必ずしも何かをOutputする必要は無い

2)予想関数:モデルに組み込む変数(Input)を考えて自分で定義する

・求める結果(Output)を導き出すための要素(Input)を設定する
・Inputの名前と型をまとめて「引数(ひきすう)」と呼ぶ

3)評価関数:予想関数で導き出された答え(Output)が正しいか間違っているかを評価(判定)する

・Input:予測関数の結果(Output)と実際に観測された結果の2つを用いる ※予実管理
・Output:判定結果を示す4つの分類(TP/TN/FP/FN)
※True Positive/True Negative/False Positive/False Negative

4)集計:4分類(TP/TN/FP/FN)をAccuracy(正確さ、正解率)、Precision(精度、適合率)、Recall(再現率、真陽性率)などの公式に当てはめて集計する

※2値分類の機械学習は常に正しい分類をしてくれるとは限らないため、予測されたポジネガ(2値)を実際のポジネガ(4分類:TP/TN/FP/FN)で分類する

◆Accuracyの計算式

・全体のデータの中で正しく分類できたTPとTNがどれだけあるかという指標。高いほど性能が良い

         TP + TN
ーーーーーーーーー = Accuracy
TP + TN + FP + FN

◆Precisionの計算式

・Positiveと分類されたデータ(TP+FP)の中で実際にPositiveだったデータ(TP)数の割合。この値が高いほど性能が良く、間違った分類が少ない

        TP
ーーーーーー = Precision
    TP + FP

◆Recall(True Positive Rate)の計算式

・取りこぼし無くPositiveなデータを正しくPositiveと推測できているかどうか。この値が高いほど性能がよく、間違ったPositiveの判断が少ない。
・本来Positiveと推測すべき全データの内、どれほど回収できたか

        TP
ーーーーーー = Recall(True Positive Rate)
   TP + FN

<例1>

・洗濯後に洗剤残りがあるか?ないか?

:1.予測関数outputを設定:ある・なし
2.予測関数の引数を設定:洗濯物の量、水量、洗剤の量、洗濯時間
3.評価関数のinputを設定:予測関数のoutput(ある・なし)&実際の結果(あった・なかった)
4.評価関数のoutputの4分類:
・TP:洗剤残りがあると思っていて、実際にあった
・TN:洗剤残りがあると思ってたけど、実際はなかった
・FP:洗剤残りがないと思ってたけど、実際はあった
・FN:洗剤残りがないと思っていて、実際になかった
5.集計:Accuracy(正確性)、Precision(適合率)、Recall(再現率)などで計算

<例2>

・目の前にいるのが猫か?猫じゃないか?

1.予測関数outputを設定:吾輩は猫である・吾輩は猫ではない
2.予測関数の引数(input)を設定:しっぽ、ひげ、鳴く、歩き方etc.
3.評価関数のinputを設定:予測関数output(吾輩は猫である・吾輩は猫ではない)&実際の結果(猫である・猫ではない)
4.評価関数のoutputの4分類:
・TP:吾輩は猫であると思っていて、実際に猫であった
・TN:吾輩は猫であると思っていたが、実際は猫ではなかった
・FP:吾輩は猫ではないと思っていたが、実際は猫であった
・FN:吾輩は猫ではないと思っていて、実際に猫ではなかった
5.集計:Accuracy(正確性)、Precision(適合率)、Recall(再現率)などで計算

この記事が気に入ったらサポートをしてみませんか?