クラスごとの件数の偏りを補正するため
クラスの偏りの補正は、サンプリングや重み付けで行う別の取り組みです。
3 分割の目的は、学習に使っていないデータで汎化性能を公正に測ることのため不正解です。
ある ML チームが、モデル開発の品質管理ルールを定めています。機械学習で、データを学習用(train)・検証用(validation)・テスト用(test)に分割する主な目的として、最も適切なものはどれですか。
train/validation/test 分割の目的を選ぶ問題。
クラスごとの件数の偏りを補正するため
クラスの偏りの補正は、サンプリングや重み付けで行う別の取り組みです。
3 分割の目的は、学習に使っていないデータで汎化性能を公正に測ることのため不正解です。
学習データとテストデータを同一にして精度を上げるため
学習とテストを同一にすると、丸暗記の結果を評価してしまい過大評価になります。
公正な評価という目的とは正反対のため不正解です。
同じデータで学習を 3 回繰り返して精度を高めるため
3 つに分けるのは役割を分担させるためで、同じ学習を繰り返すためではありません。
学習に使うのは train のみで、validation・test は評価専用のため不正解です。
未知データへの汎化性能を、偏りなく公正に推定するため
正解。データを 3 つに分けるのは、それぞれに役割を持たせて汎化性能を公正に測るためです。
・学習データ(train): モデルに繰り返し見せて、パラメータ(重み)を学習させるためのデータ。
・検証データ(validation): 学習途中のモデルを試し、ハイパーパラメータの調整・モデルの選択・過学習の確認に使うデータ(学習そのものには使わない)。
・テストデータ(test): すべてが決まった後に一度だけ使い、未知データへの最終的な汎化性能を偏りなく測るためのデータ。
学習に使っていないデータで評価することで、丸暗記による過大評価を避けられます。
データを train/validation/test に分ける主目的は『未知データへの汎化性能を偏りなく公正に推定する』ことです。学習に使っていないデータで評価することで、丸暗記による過大評価を防ぎます。『件数を減らす』『学習とテストを同一にする』『応答速度を上げる』はいずれも目的ではなく、特に学習=テストは公正な評価とは正反対です。