どうも、カタミチです。
さて、機械学習の手法については前回までで終わり、今回からはモデルの評価についてです。それぞれの手法で得られた「学習済みモデル」ってやつをどう評価するか?という点が論点ですかね。
データの扱い
モデルの評価に当たっては、そのモデルが「どれくらいの予測精度を持っているか?」「それをどのように評価するか?」が重要だ、というのは何となく分かりますね。
評価の方法として、未知のデータに対しての予測能力を見るのが適切なのですが、擬似的に未知のデータを作り出すことで、この予測能力を見ます。
…ん?擬似的な未知のデータって、学習用のデータのことじゃないの?と疑問を持ったのですが、それもそのはず。手元にある全データを学習用データと評価用データに分割して評価する、というのです。なるほどなー、イメージとしては、半分のデータは賢くなるために使うけど、残りの半分はどのくらい賢くなったかをテストするために使うってことですね。
この学習用データのことを訓練データ、評価用データのことをテストデータと言い、このようにデータを分割して評価することを交差検証と言うようです。
この交差検証には、ホールドアウト検証、k-分割交差検証の2種類があって…
・【ホールドアウト検証】事前にデータを訓練データとテストデータに分割する
・【k-分割交差検証】訓練データとテストデータの分割を複数回行い、それぞれで学習・評価を行う
という感じです。
…k-分割交差検証だと、モデルが複数できてしまう気がするんですが、最終的にどのモデルを採用するんだろう…(はて)
ちなみに、訓練データを更に訓練データと検証データに分割する場合もあります。検証データで一度モデルの評価を行い、そこでパラメータを調整して最終的なモデルを決定し、テストデータで再度評価する…という流れですね。なるほど、チューニングしてからちゃんとしたテストをするってことですね。しかし、「検証」って言葉と「テスト」って言葉が同時に出てきて、かつ意味が違うので注意しないといけないですね…。
ということで
今日はここまでですかね。データは、全力で訓練に使うのではなく、テスト用に残しておけよ、ってことですね。データが大量にあれば、訓練データもテストデータも潤沢に用意できるんでしょうねー。
ではまた。
勉強に使ってる書籍はこちら↓
深層学習教科書 ディープラーニング G検定(ジェネラリスト)公式テキスト 第2版