3-2 モデルの選択・評価
みかん
今回はG検定の第3章「機械学習の具体的手法」の2節「モデルの選択・評価」を解説します
1. データの扱い
1.1 訓練データとテストデータ
みかん
機械学習の目的は、手元のデータを学習して「未知のデータ」を正しく予測することです。モデルの評価も、未知のデータに対しての予測能力を見ることが適切です。
みかん
しかし未知のデータは手元にありません。そこで手元にあるデータを学習用と評価用にランダムに分割します。学習用のデータを「訓練データ」、評価用を「テストデータ」と言います。
訓練データとテストデータ
訓練データ = 学習に使うデータ。テストデータ = 評価に使うデータ。データを分割して評価することを「交差検証」と言う。
あいで
分割の仕方にもいろいろあるんですか?
1.2 ホールドアウト検証とk-分割交差検証
みかん
交差検証には2種類あります。事前にデータを訓練データとテストデータに分割するだけの「ホールドアウト検証」と、複数回分割を行う「k-分割交差検証」です。
2種類の交差検証
ホールドアウト検証 = 訓練データとテストデータを1回だけ分割する方法。k-分割交差検証 = データをk個に分割し、k回学習・評価を繰り返す方法。データが少ない場合に有効。
みかん
また訓練データをさらに分割する場合もあります。その際に分割されたデータはそれぞれ「訓練データ」と「検証データ」と呼びます。検証データでモデルを調整し、テストデータで最終評価します。
あいで
訓練データで学習して、検証データで調整して、テストデータで最終チェック。3段階なんですね。
2. 評価指標
2.1 予測誤差
みかん
モデルの良し悪しを判断する最も単純な方法は「予測誤差」をそのまま評価に用いることです。一番シンプルな予測誤差の指標は「平均二乗誤差(MSE)」です。
平均二乗誤差
平均二乗誤差(MSE)= 各データの予測値と実際の値との誤差を2乗し、総和を求めたもの。2乗することで正負の誤差の打ち消しを防ぐ。
みかん
MSEの他にも、平均二乗誤差のルートをとった「二乗平均平方根誤差(RMSE)」や、2乗の代わりに絶対値をとった「平均絶対値誤差(MAE)」などが用いられます。
あいで
これらは主に回帰問題で使われるんですか?
みかん
はい。予測誤差は回帰問題で特に用いられます。分類問題では予測の「当たり・外れ」が明確なので、別の評価指標を使います。
2.2 正解率・適合率・再現率・F値
みかん
分類問題では予測値と実際の値の組み合わせ表を「混同行列」と言います。イヌとオオカミの2クラス分類なら、真陽性(TP)・偽陰性(FN)・偽陽性(FP)・真陰性(TN)の4通りになります。
みかん
まず「正解率(accuracy)」は、全データ中どれだけ予測が当たったかの割合です。式は(TP+TN)/(TP+TN+FP+FN)です。
みかん
ただし正解率が適切でない場合もあります。例えば不良品検出で全部「不良品でない」と予測すると正解率は99.97%になりますが、実際には不良品を1つも見つけられていません。
あいで
99.97%なのに全く役に立たないなんて! 正解率だけ見てちゃダメなんですね。
みかん
そこで「適合率(precision)」を使います。これは予測が正の中で実際に正であった割合で、式はTP/(TP+FP)です。「予測の正確さ」を測ります。
みかん
「再現率(recall)」は実際に正であるもの中で正だと予測できた割合で、式はTP/(TP+FN)です。「漏れなく検出できているか」を測ります。
みかん
適合率と再現率の調和平均が「F値(F measure)」です。予測が偏っているときも値が高くなりすぎないので、バランスよく評価できます。
みかん
重要なのは「目的に沿った指標を選択する」ことです。また、モデルの性能は「テストデータ」を用いて評価・比較してください。
指標選択の重要ポイント
評価指標は目的に沿って選択すること。また、モデルの性能はテストデータ(および検証データ)を用いて評価・比較することが重要。
あいで
不良品検出なら再現率重視、スパム判定なら適合率重視、みたいに目的によって変わるんですね。
2.3 過学習
みかん
訓練データに対して正解率が99%でもテストデータでは50%という結果になることがあります。これは訓練データにのみ最適化されすぎた状態で、「過学習(オーバーフィッティング)」と呼ばれます。
過学習(オーバーフィッティング)
過学習(overfitting)= 訓練データにのみ最適化されすぎて、未知のデータに対する予測精度が低い状態。汎化性能が低いモデルのこと。
あいで
テストの過去問を丸暗記しても、初めて見る問題が解けないのと同じですね。
2.4 ROC曲線とAUC
みかん
ROC曲線は分類モデルの性能を視覚的に評価できる指標です。横軸にFPR(偽陽性率)、縦軸にTPR(真陽性率=再現率)をとり、閾値を変化させた際の変化をプロットします。
ROC曲線
ROC曲線 = 横軸FPR(偽陽性率)、縦軸TPR(真陽性率)のグラフ。閾値を0から1に変化させた時の分類性能を視覚的に評価できる。
みかん
ROC曲線より下部の面積のことを「AUC」と呼びます。AUCが1に近いほどモデル性能が高いことを表します。完全にランダムな予測だとAUCは0.5になります。
AUC
AUC(Area Under the Curve)= ROC曲線の下の面積。1に近いほど高性能。ランダム予測では0.5。視覚的だけでなく数値的にもモデル性能を評価できる。
あいで
ROC曲線で見た目の性能がわかり、AUCで数値としても比較できる。便利ですね。
3. モデルの選択と情報量
3.1 オッカムの剃刀
みかん
モデルを複雑にすればするほど表現力が上がりますが、過学習のリスクも高まります。また学習に必要な計算コストも増えてしまいます。
みかん
「ある事柄を説明するためには、必要以上に多くを仮定するべきでない」という指針を表す「オッカムの剃刀」に従うのが望ましいと言えます。
オッカムの剃刀
オッカムの剃刀 = 「ある事柄を説明するためには、必要以上に多くを仮定するべきでない」という考え方。モデルはシンプルなほうが望ましい。
あいで
シンプルなモデルで十分なら、わざわざ複雑にする必要はないってことですね。
3.2 情報量基準
みかん
では実際にどれくらい複雑にすれば良いのか。その目安となるのが「情報量基準」です。代表的なものに「赤池情報量基準(AIC)」と「ベイズ情報量基準(BIC)」があります。
AICとBIC
赤池情報量基準(AIC)・ベイズ情報量基準(BIC)= モデルのパラメータ数が大きすぎる場合にペナルティが課される指標。BICはデータ数が大きい場合にペナルティの影響が大きくなる特徴がある。
みかん
どちらを使うかに明確な線引きはありませんが、どちらもパラメータ数が一定範囲内にあるモデルを良しとする基準です。BICはデータ数が大きい場合にペナルティが大きくなる特徴があります。
あいで
AICとBICは「複雑すぎるモデルにペナルティを与える」指標なんですね。ちょうどいい複雑さを数値で判断できると。
まとめ
みかん
1つ目、データは訓練データ・検証データ・テストデータに分割する。交差検証にはホールドアウト検証とk-分割交差検証がある。
みかん
2つ目、回帰問題にはMSE・RMSE・MAE。分類問題には正解率・適合率・再現率・F値。目的に沿った指標を選択することが重要。
みかん
3つ目、訓練データにのみ最適化されすぎた状態が過学習。テストデータでの性能確認が必須。
みかん
4つ目、ROC曲線とAUCでモデル性能を視覚的・数値的に評価。AICやBICでモデルの複雑さを判断する。
みかん
ということで今回はモデルの選択・評価について解説しました
あいで
このチャンネルでは情報に関することを発信しています。
あいで
よければチャンネル登録、高評価よろしくお願い致します。