AIや機械学習を勉強していると、「学習データ」と「テストデータ」という言葉が出てきます。似ているようで、実はそれぞれ重要な役割を持っています。この記事では、両者の違いや、混ぜてはいけない理由について、初心者の方にもわかりやすく解説していきます。
学習データ/テストデータとは?
学習データとは、機械学習のモデルを学習させるために使うデータのことを指します。一方テストデータは、できあがったモデルの性能を確かめるために使うデータです。人間で言うと、学習データは「勉強に使う問題集」、テストデータは「本番の試験」に近いイメージです。
学習データ/テストデータが注目されている理由
AIの性能を正しく評価するためには、学習とテストで違うデータを使うことがとても重要です。近年は生成AIなども含めて、「本当に使えるモデルか」を見極める場面が増えており、テストデータをうまく使い分けられるかがサービス品質に大きく関わります。
学習データ/テストデータの仕組み
一般的には、持っているデータセットを以下のように分けて使います。
- 学習データ:モデルを学習させるために使う
- テストデータ:できあがったモデルの性能を確かめるために使う
- 検証データ:学習中にモデルを調整するために使う(使われる場合もあります)
これらは重複させずに分けるのが基本です。
学習データ/テストデータの具体例
例えば、迷惑メールを見分けるAIを作るときには、ある期間のメールを学習データにし、別の期間のメールをテストデータとして使うような進め方がよくとられます。画像認識AIでも、同じ画像データを学習とテストの両方に使わず、それぞれ別のデータとして扱うのが一般的です。
学習データ/テストデータと似た用語との違い
よく似た言葉に「検証データ」があります。検証データは、学習中にモデルの設定を調整するために使われるデータで、本番の試験にあたるテストデータとは役割が違います。学習データ、検証データ、テストデータの3つに分けて使うこともよくあります。
学習データ/テストデータを理解するメリット
学習データとテストデータの違いを知っておくと、AIの性能評価が妥当かどうかを見極めやすくなります。「どのようにデータを分けたのか」を説明できるサービスは、それだけでも信頼できるポイントになります。
学習データ/テストデータの注意点
学習データとテストデータは、必ず重複させずに分けることが大切です。同じデータを両方に使ってしまうと、テストで「高い成績」が出たとしても、それは「見たことのある問題」を解いているだけで、本当の性能とは言えなくなります。これを「データのリーク」と呼ぶこともあります。
学習データ/テストデータに関連する用語
関連する用語には、データセット、検証データ、過学習、評価指標などがあります。とくに過学習は、学習データに合わせすぎて他のデータでは使えなくなる状態のことで、テストデータとセットで語られることが多い言葉です。
まとめ
学習データはモデルを作るためのデータ、テストデータはできあがったモデルの性能を確かめるためのデータです。両者を混ぜてしまうと性能を正しく評価できなくなるため、重複させずに分けることが大切だとされています。AIの評価を見るときは、「どのようなデータでテストしたのか」という視点をもって見てみるとよいでしょう。
よくある質問
学習データとテストデータを混ぜてもよいですか?
原則としては混ぜない方が安全です。同じデータを学習とテストの両方に使ってしまうと、モデルの性能を正しく評価できなくなります。「見たことのある問題だから解けた」という状態になるため、本当の性能が見えなくなってしまう点に注意が必要です。
学習データとテストデータの割合はどれくらいがよいですか?
データの量やタスクによって変わりますが、学習データを多めにし、一部をテストデータにするケースが多いです。全体の2割から3割をテストに使うというやり方もよく見かけます。ただし状況によって適切な割合は変わるため、試しながら調整していくことが多いです。
検証データとテストデータは何が違いますか?
検証データは、学習中にモデルの設定を調整するために使われるデータです。テストデータは、すべての調整が終わった後に、モデルの最終的な性能を確かめるために使います。「調整のため」と「最終評価のため」という役割の違いと考えるとイメージしやすいでしょう。

