機械学習の一般的なグッドプラクティスは、予測変数の特徴の正規化またはデータの標準化を行うことです。つまり、データを中心に減算し、平均値を分散(または標準偏差)で割って正規化します。自己封じ込めと私の理解のために、これを行って主に2つのことを達成します。
- 数値の安定性のために、余分な小さなモデルの重みを避けます。
- 共役勾配などの最適化アルゴリズムの迅速な収束を確保し、1つの予測子次元の大きさが他の予測子次元よりも大きい場合、収束が遅くならないようにします。
通常、データはトレーニング、検証、テストセットに分割されます。文献では、通常、特徴の正規化を行うには、予測変数のセット全体の平均と分散(または標準偏差)を使用することがわかります。ここで見た大きな欠点は、それを行うと、実際にはトレーニング予測変数に将来の情報、つまり平均と分散に含まれる将来の情報が導入されることです。
したがって、トレーニングデータの正規化を行い、平均と分散を保存します。次に、トレーニング平均と分散を使用して、検証およびテストデータセットの予測変数に特徴の正規化を適用します。これに根本的な欠陥はありますか?誰もがより良い代替案を推奨できますか?