Model yang menghafal data training nyaris tidak berguna. Section ini membahas gap antara performa pada data training dan data baru, lalu menyusun perangkat untuk menutup gap tersebut: regularisasi dropout dan weight decay, early stopping, augmentasi data, serta pemanfaatan transfer learning dan fine-tuning.
Definisikan overfitting dan underfitting secara presisi lewat gap metrik latih-validasi, kenali kurva karakteristiknya, lalu ukur keduanya secara nyata dengan tiga MLP berkapasitas berbeda pada 100 sampel make_moons.
Buka → # Bias-VarianceUraikan galat prediksi menjadi bias, variance, dan noise lewat dekomposisi klasik, lihat trade-offnya pada regresi polinomial derajat 1, 3, dan 15, lalu estimasi variance secara empiris dengan 40 ulangan pengacakan data latih.
Buka → # DropoutPahami mekanisme inverted dropout lewat nn.Dropout — neuron dimatikan acak selama latih dan diskalakan 1/(1-p), lalu buktikan efeknya pada gap latih-validasi dua MLP berbobot awal identik dengan dan tanpa dropout.
Buka → # Weight DecayPahami penalti L2 yang menarik bobot menuju nol, buktikan kesetaraannya dengan weight_decay pada SGD, lalu bandingkan weight decay 0, 0.01, dan 0.1 pada AdamW — optimizer yang memisahkan decay dari penskalaan adaptif gradien.
Buka → # Early StoppingHentikan pelatihan saat loss validasi berhenti membaik: pantau val loss dengan patience, simpan dan pulihkan bobot terbaik — kerangka manual PyTorch dan callbacks.EarlyStopping Keras yang sama-sama diuji nyata.
Buka → # Data AugmentationPerluas data latih tanpa mengumpulkan satu sampel pun lewat transformasi label-preserving — flip, geser, dan noise gaussian — yang diimplementasikan dengan NumPy murni dan diuji nyata: 12 sampel diperluas menjadi 60, akurasi test naik dari 0.792 ke 1.000, sementara validasi dan test tetap bersih tanpa augmentasi.
Buka → # Transfer LearningPakai ulang representasi dari model pretrained untuk tugas baru berdata kecil: pahami dua strategi feature extraction dan fine-tuning, bekukan layer dengan requires_grad=False, lalu lihat demo buatan tanpa unduhan — head baru di atas body beku mencapai validasi 0.95 pada epoch 4, sementara model dari nol berhenti di 0.908 setelah 20 epoch.
Buka → # Fine-TuningBuka kembali layer beku dengan learning rate kecil: pelajari urutan benar freeze-latih head-unfreeze-poles, differential learning rate lewat param group optimizer, dan demo teruji nyata yang menunjukkan lr body 0.005 menaikkan validasi ke 0.920 sementara lr 5.0 menurunkannya ke 0.815 dengan pergeseran bobot 200x lebih besar.
Buka → # Generalisasi ModelSintesis penutup section: definisi generalisasi sebagai performa pada data baru, peta seluruh alat dari dropout hingga fine-tuning beserta kapan dipakainya, pengukuran dengan k-fold cross validation teruji nyata lewat cross_val_score, dan posisi test set sebagai hakim final yang dipakai sekali.
Buka →