モデル評価機械学習

K-Fold交差検証

けーふぉーるどこうさけんしょう · K-Fold Cross-Validation
4 views

K-Fold交差検証(K-分割交差検証)は、機械学習モデルの予測性能を評価するための検証手法です。手元のデータをK個のグループに分割し、そのうちの1つをテストデータ、残りのK-1個を学習データとして用いて評価を行うプロセスをK回繰り返します。限られたデータを有効活用し、データの偏りによる評価のブレを抑えることができます。

K-Fold交差検証とは

K-Fold交差検証とは、手元にあるデータ全体をK個に均等に分割し、その中から「学習用」と「検証用」のデータを交代させながら計K回の学習と評価を行う、機械学習における代表的なモデル評価手法です。

詳しく解説

K-Fold交差検証は、過学習を防ぎ、未知のデータに対するモデルの「汎化性能」をより正確に測定するために用いられます。具体的な手順としては、まず全データをシャッフルした上でK個のグループ(フォールド)に等分割します。第1回目の試行では、1番目のフォールドを検証データ(テストデータ)、残りのK-1個のフォールドを学習データとしてモデルを訓練・評価します。この手順を、検証データとなるフォールドを順次入れ替えながらK回繰り返します。最終的に、K回の評価結果の平均値をそのモデルの最終的な性能評価指標とします。これにより、データセットの一部がたまたま扱いやすいデータであったり、偏っていたりすることによる評価のばらつき(バイアス)を最小限に抑えることができます。一般的なKの選択肢としては5や10がよく用いられます。

具体例・使われ方

例えば、1,000件 of 顧客データを用いて、顧客の購買予測モデルを評価する場合を考えます。K=5とした5-Fold交差検証では、データを200件ずつの5つのグループに分けます。第1回目はグループ1〜4(800件)で学習し、グループ5(200件)で予測精度をテストします。第2回目はグループ1、2、3、5で学習し、グループ4でテストします。これを5回繰り返し、得られた5つの精度スコアの平均値を算出します。これにより、1,000件すべてのデータが少なくとも1回は学習と検証の双方に利用され、特定のデータ分割に依存しない信頼性の高い評価が可能になります。

似た用語との違い

ホールドアウト検証との違い:ホールドアウト検証は、データを単純に「学習用」と「テスト用」の2つに1回だけ分割して評価する手法です。データ量が少ない場合、分割の仕方によって評価結果が大きく変動する弱点があります。一方、K-Fold交差検証は複数回の分割と評価を行うため、評価の安定性が高くなりますが、計算コストはK倍に増加します。層化K-Fold交差検証との違い:クラスの割合(例:スパムメールか否か)に偏りがある分類問題では、通常のK-Foldでは各フォールド内のクラス比率が不均一になる恐れがあります。層化K-Fold交差検証は、各フォールド内のクラス比率が元のデータ全体の比率とほぼ等しくなるように分割を行う発展形の手法です。

注意点

K-Fold交差検証を利用する際の主な注意点は計算コストの増大です。モデルの学習をK回繰り返す必要があるため、ディープラーニングなどの学習に膨大な時間がかかる大規模なモデルでは、処理時間が実用上のボトルネックとなります。また、時系列データに対して通常のK-Foldを適用すると、未来のデータを使って過去を予測するような状況が発生し、正しく評価できなくなります。時系列データには時系列交差検証などの専用の手法を使用する必要があります。

更新日時: 2026年8月30日 00:41