質問: 機械学習で,データを"訓練データ(モデル構築用)","検証データ(ハイパーパラメータの選択用)","テストデータ(評価用)"に分割することは重要であることは,関連する書籍から理解しました. また,"訓練データ"と"検証データ"だけでモデル選択をし,"テストデータ"は最後の評価として使うということも理解しました. ここで,解決したいことは,データのスケーリングについてです. 全てのデータのスケーリング(平均0,分散1)で平均値と標準偏差を使うにあたり,"テストデータ"の情報を入れてはいけないことは,理解できます. しかし,全てのデータをスケーリングをするときに,"テストデータ"のみを除く"訓練+検証データ"の情報(平均値,標準偏差)を使うのか,それとも"訓練データ"の情報(平均値,標準偏差)を使うのかはっきりしません. 個人的には,"テストデータ"で最終評価をするので,"訓練+検証データ"の平均値と標準偏差を使って,全てのデータのスケーリングをするのが良いのではないかと考えています. また,主成分分析を使ってデータを次元縮減するときも,"訓練+検証データ"の平均値と標準偏差を使った方法で良いのか,疑問のままです. 以上の点について詳しい方,教えていただけますと幸いです. よろしくお願い致します.
回答: 訓練・検証・テスト用の3つに分割するのであれば、スケーリングや次元削減で用いて良い情報は訓練用データのみです。検証用データはテスト用データに準じた扱いをします。