評価について:超基礎(機械学習)
評価について学ぶ
機械学習の「前処理」「学習」について学んできました。
今回は最後となる「評価」について学んでいきます!
評価とは...生成されたモデルの精度を調べて評価すること
この記事では「二値分類」タスクを用いて、モデルの評価の手法を学びます。
二値分類
二値分類とは...「データが属するクラスを予測する」分類方法
二値分類ではクラスは2つのため、2項分類や2クラス分類とも呼ばれる
このようなモデルであった場合、どのように評価していくか
混同行列
二値分類のタスクの場合、出力された分類結果をマトリックスにまとめることで
機械学習の性能を測る指標として使うことができる
このマトリックスを混同行列という
例:画像を真値として入れ、予測値を出すモデル
- True Positive
予測値がPositiveであり、真値もPositiveであった場合
例:画像が犬で、予測値も犬 - False Positive
予測値がPositiveではあるが、真値はNegativeであった場合
例:画像が猫だが、予測値は犬 - False Negative
予測値がNegativeであるが、真値はPositiveであった場合
例:画像が犬だが、予測値は犬ではない - True Nagative
予測値がNegativeであり、真値もNegativeの場合
例:画像が猫で、予測値も犬ではない
混同行列を用いた評価指標
正解率
全予測に対して、どれくらい正しく分類できたか、を表す指標
(TP+TN)/(TP+TN+FN+FP)
これだけでいいじゃん!と思うけれど他の指標も必要
なぜならすべてがTNの可能性もあるから!
適合率
Positiveと予測したデータのうち、実際にPositiveであったデータの割合
(TP+FP)/ TP
再現率
実際にPositiveであるもののうち、Positiveであると予測されたものの割合
(TP+FN)/ TP
適合率と再現率はトレードオフの関係にある。
適合率を高めると再現率は低下し、再現率を高めると適合率は低くなる。
どちらを重視するかはタスクによって変わる!
F値
F値とは…再現率と適合率の調和平均をとった値
F値の範囲は0~1であり、値が1に近いほうが「性能が良い」ということになる
F値=TP/{TP+1/2(FP+FN)}
交差検証
学習の際に学習用の訓練データと評価用の検証データを分割して性能を評価すること
例:データを10分割して9割のデータで学習、残りの1割で評価を行う
所感
評価の基礎を学習しましたが、知らない単語が多く出てきました。
ややこしい部分もありますが、これが評価の一部分だと思うと先は長く見えます、、!
不思議とRubyをやっていた時より楽しい!
全体が見えてきたので、次はもっと細部まで学習していきます。
Discussion