交差検証は、学習データと評価データに分ける方法の上位互換みたいなものです。ちなみに単純に分ける方法はホールドアウト検証と呼びます。
トレーニングデータをk分割して。。。という手法
ではないです。データを持っているなら、学習データと評価データに分けたりはせず、丸ごと交差検証に入れて良いのです。
もしそうであれば未知のものを予測する際は交差検証は不要ということなのでしょうか?
本当に未知のものは、単純にモデルを使って予測するだけです。
なんでホールドアウト検証や交差検証をやるのかというと、未知のデータを入れて「どれくらいの性能になるか」を手持ちの既知のデータで見積もっておく必要があるからです。
そのために、データを学習用と評価用に分けて、評価用はモデルにとっては未知のデータになるように扱うという手続きを踏みます。交差検証も、やっていることはけっきょくそれです。
交差検証の特徴的な利点は
- 手持ちデータすべてを予測している
- k回やって結果を平均する
の2つで、どちらも評価指標の分布の分散が小さくなる方向に働きます。誤差の少ない見積もりが得られるということです。
参考になりそうなサイトは、
「そのモデルの精度、高過ぎませんか?」過学習・汎化性能・交差検証のはなし - 六本木で働くデータサイエンティストのブログ
を読んでおくといいでしょう。
また、
交差検証 - Wikipedia
も簡潔ながらよくまとまっています。ちゃんとした説明と併読するといいでしょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/27 15:14