Praktek umum yang baik dalam Pembelajaran Mesin adalah melakukan normalisasi fitur atau standardisasi data dari variabel prediktor, hanya itu, pusatkan data dengan mengurangkan rata-rata dan menormalkannya dengan varian (atau standar deviasi juga). Untuk pengendalian diri dan pemahaman saya, kami melakukan ini untuk mencapai dua hal utama:
- Hindari bobot model ekstra kecil untuk tujuan stabilitas numerik.
- Pastikan konvergensi cepat dari algoritma optimasi seperti misalnya Konjugasi Gradien sehingga besarnya satu dimensi prediktor wrt yang lain tidak mengarah pada konvergensi yang lambat.
Kami biasanya membagi data menjadi set pelatihan, validasi dan pengujian. Dalam literatur kita biasanya melihat bahwa untuk melakukan normalisasi fitur mereka mengambil mean dan varians (atau standar deviasi) di seluruh rangkaian variabel prediktor. Kelemahan besar yang saya lihat di sini adalah bahwa jika Anda melakukannya, Anda sebenarnya memasukkan informasi masa depan ke dalam variabel prediktor pelatihan yaitu informasi masa depan yang terkandung dalam mean dan varians.
Oleh karena itu, saya melakukan normalisasi fitur pada data pelatihan dan menyimpan mean dan varians. Kemudian saya menerapkan normalisasi fitur ke variabel prediktor dari validasi dan data uji set menggunakan rata-rata pelatihan dan varians. Apakah ada kelemahan mendasar dengan ini? adakah yang bisa merekomendasikan alternatif yang lebih baik?