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

AspekOverfittingUnderfitting
Kompleksitas ModelTerlalu tinggiTerlalu rendah
Akurasi TrainingTinggiRendah
Akurasi TestingRendahRendah
BiasRendahTinggi
VarianceTinggiRendah
GeneralisasiBurukBuruk

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

  1. Model terlalu kompleks
  2. Terlalu banyak parameter
  3. Dataset kecil
  4. Training terlalu lama
  5. Fitur tidak relevan
  6. Tidak menggunakan regularisasi

Penyebab Underfitting

  1. Model terlalu sederhana
  2. Fitur kurang representatif
  3. Training terlalu singkat
  4. Regularisasi terlalu kuat
  5. 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.