前のモジュールでは、データセットをトレーニング セットとテストセットにパーティショニングする方法を紹介しました。このパーティショニングにより、あるサンプルセットでトレーニングしてから、別のサンプルセットでモデルをテストできます。2 つのパーティションを使用する場合、ワークフローは次のようになります。
図 1. 考えられるワークフローは次のうちどれですか。
この図における「モデルの微調整」とは、学習率の変更、特徴の追加または削除、まったく新しいモデルをゼロから設計するなど、思いつくモデルの調整をすべて行うことを意味します。このワークフローの最後で、テストセットで最適なモデルを選択します。
データセットを 2 つのセットに分割するのは良いアイデアですが、万能薬ではありません。次の図に示すように、データセットを 3 つのサブセットに分割することで、過学習の可能性を大幅に低減できます。
図 2. 1 つのデータセットを 3 つのサブセットにスライスする。
検証セットを使用して、トレーニング セットから得られた結果を評価します。次に、モデルが検証セットに「合格」した後、テストセットを使用して評価を再確認します。次の図は、この新しいワークフローを示しています。
図 3. ワークフローの改善。
今回の改善されたワークフローの内容は次のとおりです。
- 検証セットに対して最も性能が高いモデルを選択する。
- そのモデルをテストセットに照らして再確認します。
テストセットの公開が少なくなるため、より適切なワークフローになります。