検証データとは
検証データとは、機械学習で、訓練データで学んだAIの調整やモデル選びのために使う、訓練とは別のデータのことです。学習そのものには使わず、「いまの設定でうまく学べているか」を途中で確かめ、ハイパーパラメータの調整や、どのモデルを採用するかの判断に役立てます。
訓練データ・テストデータとの違い
機械学習では、手元のデータをふつう3つに分けて使います。訓練データで実際に学ばせ、検証データで調整し、テストデータで最後の実力を測るという役割分担です。学校の勉強にたとえると、訓練データは教科書、検証データは模試、テストデータは本番試験。模試で手応えを見ながら勉強のやり方を直し、本番で本当の実力を試す、という流れに近いといえます。
なぜ分けて使うのか
検証データを別に用意するのは、学習に使ったデータだけで評価すると、AIが「丸暗記」して見かけ上は良い点を取ってしまうからです。訓練に使っていないデータで確かめることで、本当に応用が利くか(過学習していないか)を早めに察知できます。経営の場でAIの精度を語るときも、どのデータで測った数字かを意識すると、評価の見え方が変わってくるでしょう。
Topicテストデータを調整に使うのは「カンニング」
3つのデータには、踏んではいけない一線があります。最後の力試しに使うテストデータは、調整の段階で一度も見てはいけないというルールです。検証データで調整を繰り返すと、そのデータに合わせ込みすぎる恐れがあるため、本当の実力は「一度も触れていない」テストデータで測ります。本番試験の問題を先に見てしまっては、正しい実力が分からないのと同じ理屈です。
関連用語
検証データに関するよくある質問
- 最後の力試しに使うテストデータを、途中の調整に使ってはいけないのですか?
- いけません。テストデータは調整の段階で一度も見てはいけないルールです。検証データで調整を繰り返すとそのデータに合わせ込みすぎる恐れがあるため、本当の実力は「一度も触れていない」テストデータで測ります。本番試験の問題を先に見てしまっては、正しい実力が分からないのと同じ理屈です。
- 訓練データ・検証データ・テストデータはどう違いますか?
- 学校の勉強にたとえると、訓練データは教科書、検証データは模試、テストデータは本番試験にあたります。訓練データで学ばせ、検証データで調整し、テストデータで最後の実力を測る、という役割分担です。
- なぜ学習に使ったデータで評価してはいけないのですか?
- 学習に使ったデータだけで評価すると、AIが「丸暗記」して見かけ上は良い点を取ってしまうからです。訓練に使っていない検証データで確かめることで、本当に応用が利くか(過学習していないか)を早めに察知できます。