【G 検定】モデルの評価

G 検定シラバス 2021 に基づき,学習されたモデルの精度の評価方法と評価指標を理解する。

正解率・適合率・再現率・F 値

例えば,10,000 枚のイヌ,オオカミの画像を用いて,別の 2,000 枚の画像がイヌなのかオオカミなのかを予測する分類問題を考えてみる。

このとき,予測値と実際の値は,それぞれイヌ・オオカミとあるから,全組み合わせは 2 × 2 = 4 通りあることになる。また,この組み合わせ表のことを混同行例(confusion matrix)という。

表内の偽陽性,偽陰性のことを,統計用語でそれぞれ第一種過誤 (type I error),第二種過誤 (type II error) と呼ぶこともある。

実際の値・予測値イヌ (Positive)オオカミ (Negative)
イヌ (Positive)真陽性
(True Positive : TP)
偽陰性
(False Negative : FN)
オオカミ (Negative)偽陽性
(False Positive : FP)
真陰性
(True Negative : TN)
表 混同行列
正解率 (accuracy)

混同行列の中で,予測が当たっているのは真陽性と真陰性になるから,正解率 (accuracy) は,次式で表される。

正解率 = (真陽性のデータ数 + 真陰性のデータ数) / 全データ数

accuracy = (TP + TN) / (TP + TN + FP + FN)

適合率 (precision)

適合率 (precision) は,予測が正の中で,実際に正であったものの割合である。

precision = TP / (TP + FP)

再現率 (recall)

再現率 (recall) は,実際に正であるものの中で,正だと予測できた割合である。

recall = TP / (TP + FN)

F 値 (F measure)

F 値 (F measure) は,適合率と再現率の調和平均である。適合率のみ,あるいは,再現率のみで判断すると,予測が偏っているときも値が高くなってしまうので,F 値を用いることも多い。

ROC 曲線と AUC

ROC 曲線を理解するために,混同行列を用いて,下式で表される TPR (True Positive Rate),FPR (False Positive Rate) を定義する。

TPR = TP / (TP + NF)

FPR = FP / (FP + TN)

ROC 曲線は,横軸に FPR,縦軸に TPR を取り,閾値を 0 から 1 に変化させていった際の両者の値をプロットしたものを指す。

ROC 曲線は視覚的にモデル性能を捉えることができる指標になる。また,ROC 曲線より下部の面積のことを AUC と呼ぶ。

モデルの解釈

機械学習によって様々なタスクの予測精度を高めることができるが,その一方で,学習によって得られたモデルが「どのように予測をしているか」も考慮しなくてはならない。機械学習のモデルが説明可能か,解釈可能かは,予測精度を高めること同様,抑えておくべき重要な課題である。

モデル全体を説明するのは困難でも,局所的に説明性をもたせていこうというアプローチがある。例えば LIME という手法は,元々の複雑なモデルを(特定のデータを対象に)単純な線形モデルに近似することによって,予測の節笑み性をもたせようとしている。他にも SHAP といった手法があるが,いずれも単純なモデルによる近似を行い,特徴量の寄与度を測ることでモデルの解釈を行っている。

モデルの選択と情報量

モデルを複雑にすればするほど複雑な表現ができる,すなわち難しいタスクも予測ができる可能性はあるが,逆にいうと,表現しなくても良いノイズ部分まで表現してしまう(過学習してしまう)可能性もあるので,一概に複雑にすれば良いかと言われると,必ずしもそうではない。また,モデルが複雑になればなるほど,学習に必要な計算コストも増えてしまうので,「ある事柄を説明するためには,必要以上に多くを仮定するべきではない」という指針を表すオッカムの剃刀 (Occam’s razor / Ockham’s razor) に従うのが望ましいと言える。

解きたいタスクに対して実施にモデルをどれくらい複雑にすれば良いのかは難しい問題ではあるが,この問いに対してのひとつの目安となるのが赤池情報量基準 (AIC : Akaike’s Information Criterion) という指標になる。

AIC = 2log L + 2k

ここで,L はモデルの尤度,k はパラメータ数を表す。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です