こんにちは。
前回、交差検証というワードに触れ、その図を確認して終わりました。今回はその交差検証をしっかりと理解しましょう。
What is Cross-Validation?
モデルの誤差値を検証すること
この精度であっているのか?などの疑問を交差検証により解決します。
Cross-Validation consists of two main parts
- Leave one out Cross-Validation (LOOCV)
- K-Folds Cross Validation
という基本的な2つを紹介します。Holdout methodというものが他にありますがK-foldの下位互換と思っていいでしょう。
まずは「K-Folds Cross Validation」についてです。
- データセットをK分割する(k-foldと名付ける)。
に対して
i-foldを除いた他の全foldでモデルを学習させる
i-foldを用いてモデルのerrorを計算する- k個のerrorを平均する
図で確認しましょう。
では次に「Leave one out Cross-Validation (LOOCV)」についてです。これは上においてデータの数としたものです。なのでerrorの平均は次のようにかけます。
ただしはデータ数、
は
番目を除いたデータで学習をしたのちの
に対するpredictionです。しかし、こちらが利用されている例を見たことがありません。なので特に気にしなくていいでしょう。
交差検証=KFOLD
で行きましょう。では以下で実装例を見て見ましょう。ちなみにニューラルネットワークと前処理についての記事を復習しておくといいかもしれません。(ニューラルネットワークについては新しい記事を書く予定です)
話が逸れてしまいましたがこれで交差検証は大丈夫そうですね。次回からは再度、正則化についてのお話です。
でわ
READMORE