Apa itu regularization dalam machine learning?
Regularization adalah teknik apa pun yang mengurangi overfitting dengan membatasi seberapa dekat model bisa mengikuti data training-nya. Bentuk yang paling umum menambahkan penalti atas ukuran weight ke loss: L_total = L_data + λ·R(w), dengan λ yang menentukan kekuatannya. Bentuk lain mengubah prosedur training, seperti dropout dan early stopping.
Hampir semua model yang dilatih memakai regularization dalam bentuk tertentu. Regresi ridge dan lasso menambahkan penalti L2 dan L1 ke model linear. Deep network biasanya menggabungkan weight decay, dropout, data augmentation, dan early stopping. Large language model dilatih dengan AdamW, yang decoupled weight decay-nya merupakan bentuk regularization L2, dan banyak yang memakai dropout saat fine-tuning.
Ide utama
- Regularization menukar sedikit akurasi training dengan kinerja yang lebih baik pada data baru.
- Regularization L2 mengecilkan semua weight sebanding dengan besarnya.
- Regularization L1 mendorong weight kecil menjadi tepat nol dan menghasilkan model sparse.
- Dropout mematikan neuron secara acak selama training sehingga tidak ada unit yang bisa bergantung pada unit lain.
- Early stopping menghentikan training ketika validation loss berhenti membaik.
- Kekuatan regularization adalah hyperparameter yang dipilih dengan data validation.
Ulasan singkat tentang topik ini
Pertanyaan umum
Apa bedanya regularization L1 dan L2?
L1 memberi penalti pada jumlah nilai absolut weight dan cenderung membuat banyak weight bernilai tepat nol, sehingga berfungsi sebagai feature selection. L2 memberi penalti pada jumlah kuadrat weight dan mengecilkan semuanya secara halus tanpa membuatnya nol. Elastic net menggabungkan kedua penalti itu.
Apakah weight decay sama dengan regularization L2?
Untuk gradient descent biasa, ya: menambahkan λΣw² ke loss setara dengan mengecilkan setiap weight dengan faktor konstan di setiap langkah. Untuk optimizer adaptif seperti Adam, keduanya berbeda, karena Adam menskalakan ulang gradient penalti per weight. AdamW menerapkan decay langsung ke weight, dan hasilnya biasanya lebih baik.
Bagaimana cara memilih kekuatan regularization λ?
Coba nilai pada grid logaritmik, misalnya 0,0001, 0,001, 0,01, dan 0,1, lalu ambil nilai dengan skor validation terbaik. Cross-validation memberi pilihan yang lebih andal ketika datanya terbatas. Kalau validation error tinggi dan dekat dengan training error, λ kemungkinan terlalu besar.
Apakah data augmentation termasuk regularization?
Ya. Membalik, memotong, atau menambahkan noise ke contoh training menciptakan variasi baru dari data, sehingga model lebih sulit menghafal. Cara ini mengubah data, bukan loss atau model, dan termasuk regularizer paling efektif untuk model gambar dan audio.
Penjelasan terkait
- Overfitting dan Underfitting · Bias-variance tradeoff dan generalisasi
- Bias-Variance Tradeoff · Kenapa model mengalami underfitting atau overfitting, lewat dekomposisi dasarnya
- Norm dan Metrik Jarak · L1, L2, cosine similarity: cara mengukur kedekatan di ruang vector
- Data Augmentation · Perbanyak data training secara buatan dengan salinan hasil transformasi untuk mengurangi overfitting
- Optimizer · SGD, momentum, dan Adam: gradient descent yang lebih cerdas
- Cross-Validation · Evaluasi dengan k-fold, stratified, dan leave-one-out
Referensi
- Srivastava et al. (2014), "Dropout: A Simple Way to Prevent Neural Networks from Overfitting", JMLR
- Loshchilov & Hutter (2017), "Decoupled Weight Decay Regularization"
- Goodfellow, Bengio & Courville (2016), "Deep Learning", chapter 7: Regularization for Deep Learning
- James, Witten, Hastie & Tibshirani, "An Introduction to Statistical Learning", chapter 6: ridge regression and the lasso
Terakhir diperbarui