Overfitting & Underfitting
Dalam machine learning, tujuan utama model adalah belajar pola dari data dan mampu membuat prediksi yang akurat pada data baru. Namun, dalam praktiknya sering terjadi dua masalah utama: overfitting dan underfitting.
Keduanya membuat performa model menjadi tidak optimal, meskipun dengan cara yang berbeda.
Artikel ini membahas pengertian overfitting dan underfitting, perbedaannya, penyebab, serta cara mengatasinya.
Apa Itu Overfitting?
Overfitting terjadi ketika model terlalu menyesuaikan diri dengan data training, termasuk noise dan detail yang tidak relevan, sehingga performanya buruk pada data testing atau data baru.
Ciri-ciri Overfitting:
- Akurasi training sangat tinggi
- Akurasi testing rendah
- Model terlalu kompleks
- Sensitif terhadap perubahan kecil pada data
Contoh Sederhana:
Model decision tree dengan kedalaman sangat besar yang “menghafal” setiap data training.
Apa Itu Underfitting?
Underfitting terjadi ketika model terlalu sederhana, sehingga gagal menangkap pola penting dalam data.
Ciri-ciri Underfitting:
- Akurasi training rendah
- Akurasi testing juga rendah
- Model tidak mampu belajar dengan baik
- Bias tinggi
Contoh Sederhana:
Menggunakan regresi linear untuk data yang pola aslinya non-linear.
Perbedaan Overfitting vs Underfitting
| Aspek | Overfitting | Underfitting |
|---|---|---|
| Kompleksitas Model | Terlalu tinggi | Terlalu rendah |
| Akurasi Training | Tinggi | Rendah |
| Akurasi Testing | Rendah | Rendah |
| Bias | Rendah | Tinggi |
| Variance | Tinggi | Rendah |
| Generalisasi | Buruk | Buruk |
Bias–Variance Tradeoff
Overfitting dan underfitting berkaitan erat dengan konsep bias–variance tradeoff:
- Bias tinggi → model terlalu sederhana → underfitting
- Variance tinggi → model terlalu sensitif → overfitting
Tujuan utama adalah menemukan titik keseimbangan antara bias dan variance.
Penyebab Overfitting
- Model terlalu kompleks
- Terlalu banyak parameter
- Dataset kecil
- Training terlalu lama
- Fitur tidak relevan
- Tidak menggunakan regularisasi
Penyebab Underfitting
- Model terlalu sederhana
- Fitur kurang representatif
- Training terlalu singkat
- Regularisasi terlalu kuat
- Hyperparameter tidak optimal
Cara Mengatasi Overfitting
Regularisasi (L1, L2)
Membatasi nilai parameter agar model tidak terlalu kompleks.
Cross-Validation
Mengevaluasi model secara lebih stabil.
Early Stopping
Menghentikan training saat validation loss meningkat.
Data Augmentation
Menambah variasi data training.
Feature Selection
Menghapus fitur yang tidak relevan.
Mengurangi Kompleksitas Model
- Mengurangi depth tree
- Mengurangi neuron/layer
Cara Mengatasi Underfitting
Gunakan Model Lebih Kompleks
Misalnya mengganti regresi linear dengan polynomial regression.
Tambah Fitur yang Relevan
Feature engineering sangat membantu.
Kurangi Regularisasi
Regularisasi terlalu kuat bisa membuat model terlalu lemah.
Training Lebih Lama
Menambah epoch atau iterasi.
Tuning Hyperparameter
Menyesuaikan parameter penting seperti learning rate.
Ilustrasi Kurva Learning
- Underfitting → error training & validation sama-sama tinggi
- Overfitting → error training rendah, validation tinggi
- Model ideal → kedua error rendah dan berdekatan
Learning curve sangat membantu mendeteksi dua masalah ini.
Best Practices
- Selalu gunakan validation set
- Pantau metrik training & validation
- Gunakan cross-validation untuk model selection
- Jangan hanya fokus pada akurasi training
- Lakukan hyperparameter tuning
Kesimpulan
Overfitting dan underfitting adalah masalah umum namun krusial dalam machine learning:
- Overfitting → model terlalu kompleks
- Underfitting → model terlalu sederhana
Dengan memahami penyebab dan solusi keduanya, Anda dapat membangun model yang lebih seimbang, akurat, dan mampu bekerja dengan baik pada data nyata.