初めに
こんにちは。将棋と筋トレが好きな、情報系大学生のゆうき(@engieerblog_Yu)です。
今回は、一般的に過学習を避けるために用いられている、k分割交差検証についてまとめていきます。
交差検証とは?
交差検証では、訓練データを変えたモデルを何個も作り、それらを平均化したモデルを作成します。
交差検証の目的は、過学習を避けるためです。
交差検証の概観は以下のようになります。
①全データの中から、テスト用データを10%ランダムに抽出する
②残りのデータから検証データを抽出する
③検証データを差し引いたものを訓練データとし、k個に分割する
④それぞれに回帰アルゴリズムを適用してモデルをk個作成する
⑤k個のモデルを平均化して予測モデルを構築する
⑥予測モデルの性能をテストデータで確認する
ざっくりまとめると以下のような図になります。

③~⑤について、よく分かりにくいと思うのでより具体的に解説していきます。
交差検証は過学習を避けるために用いられる
訓練データをk分割してモデルを平均化する
テスト用のデータをランダムに抽出して、残ったデータを訓練用と検証用データに分けます。

k分割交差検証法では、検証用データを除いた訓練用データをk分割して、それぞれのデータを使ってモデルをk個作成します。
検証用のデータは、回帰アルゴリズムを用いる際の、ハイパーパラメータの調整に使われます。
訓練データのセットがk個あるわけなので、学習済みモデルもk個出来上がります。
それらのk個の学習済みモデルを平均化したものを予測モデルとします。
k分割交差検証全体を図で表したもの
k分割交差検証を図で表したものは以下のようになります。

全データからテストデータを抽出して、残ったデータからk個のモデルを作成し、それらを平均化したものをモデルとします。
適切に分割数kを大きくすると、モデルの精度は良くなる傾向があります。
補足
データセットが大きい場合、テスト用データと検証用データを少なくして、訓練用データを70%より大きくするというようなこともあるようです。
まとめ
k分割交差検証は過学習を避けるために用いられ、以下の流れで実装される
①全データの中から、テスト用データを10%ランダムに抽出する
②残りのデータから検証データを抽出する
③検証データを差し引いたものを訓練データとし、k個に分割する
④それぞれに回帰アルゴリズムを適用してモデルをk個作成する
⑤k個のモデルを平均化して予測モデルを構築する
⑥予測モデルの性能をテストデータで確認する
今回は、過学習対策に用いられるk分割交差検証についてまとめました。
機械学習、ディープラーニングを学びたい方におすすめの入門書籍です。
ディープラーニングの理論が分かりやすくまとめられていて、力を身につけたい方におすすめです。

最後まで読んでいただきありがとうございました。

他にもおすすめ記事があるにゃ。
コメント