Bagaimana Cara Menghindari Overfitting Data dalam Machine Learning?

Mengenal apa itu overfitting, suatu problem yang terjadi dalam pelatihan machine learning. Apa yang bisa dilakukan untuk menghindarinya?

Bunga Dea Laraswati
Bunga Dea Laraswati

Table of Contents

Overfitting adalah sebuah istilah yang kerap digunakan dalam data science, tepatnya machine learning atau ML. Istilah ini selalu berkaitan dengan model data science. Dalam data science, model adalah sistem yang memetakan input hingga menghasilkan output. Namun, ada kalanya, model yang dirancang menghasilkan output tidak sesuai ekspektasi alias overfitting. Bagaimana hal ini bisa terjadi? Untuk menjawab pertanyaan ini, mari simak penjelasan berikut.

Apa Itu Overfitting Data dalam Machine Learning?

Overfitting data dalam machine learning berhubungan erat dengan derajat polinomial. Derajat polinomial mewakili fleksibilitas model. Makin fleksibel suatu model, maka makin tinggi tingkat kebebasannya untuk mencapai titik data sebanyak mungkin.

Suatu model yang overfitting berarti dianggap terlalu fleksibel. Itu artinya, interpretasi data yang dihasilkan model terlalu luas sehingga sulit untuk dipahami. Bagaimana hal ini bisa terjadi? Sebenarnya, ketika overfitting terjadi, model statistik sangat cocok dengan data pelatihan. Hanya saja, kondisi ini justru membuat algoritma tidak dapat bekerja dengan optimal, terutama pada data yang tidak terlihat. Hasilnya, machine learning tidak dapat melakukan tugas klasifikasi yang diharapkan.

Cara Mendeteksi Model Ketika Overfitting

Overfitting data jelas akan merugikan karena machine learning tidak dapat bekerja sebagaimana mestinya. Untuk itu, ada baiknya Anda memahami cara mendeteksi gejala overfitting. Untuk bisa memahami tingkat akurasi model machine learning, Anda harus menguji kesesuaian model. Salah satu teknik pengujian yang banyak digunakan adalah K-fold cross-validation.

Dalam teknik K-fold cross-validation, data dibagi menjadi beberapa subset berukuran sama. Tiap subset ini kemudian disebut fold. Satu fold nantinya akan bertindak sebagai test set (kadang disebut holdout set atau set validasi). Sisa fold kemudian akan melatih model. Proses ini dilakukan secara berulang hingga seluruh fold mendapat giliran menjadi test set. Dari setiap evaluasi, skor tiap fold dicatat. Ketika seluruh iterasi selesai, maka skor folds dicari rata-ratanya untuk menilai kinerja model.

Bagaimana Menghindari Overfitting?

Overfitting dalam machine learning dapat dihindari. Pendekatan yang paling umum adalah dengan menerapkan model linear. Namun, sayangnya, ada banyak permasalahan di kehidupan nyata yang memiliki model nonlinear. Berikut adalah beberapa cara yang bisa dilakukan untuk menghindari overfitting data:

1. Lakukan penghentian awal

Langkah pencegahan ini menghentikan pelatihan sebelum model mulai mempelajari kebisingan di dalamnya. Sayangnya, pendekatan ini justru akan menghentikan proses pelatihan secara prematur. Hal ini nantinya dapat menimbulkan masalah lain, yaitu underfitting.

2. Melatih lebih banyak data

Cara lainnya adalah dengan memperluas set pelatihan Anda. Dengan lebih banyak data, maka akurasi model pun akan naik. Ini akan menghasilkan lebih banyak peluang untuk menguraikan hubungan dominan antara variabel input dan output.

3. Pemilihan fitur

Ketika membuat model, Anda akan memiliki sejumlah fitur untuk memprediksi hasil yang diberikan nantinya. Namun, terkadang fitur ini juga bisa memicu terjadinya overfitting. Untuk itu, lakukan seleksi fitur terlebih dulu. Ini merupakan proses identifikasi paling penting dalam data pelatihan untuk menghilangkan fitur yang tidak relevan atau berlebihan.

4. Augmentasi data

Meskipun Anda sudah memasukkan data yang relevan ke dalam data pelatihan, terkadang diperlukan data dengan noise untuk menciptakan keseimbangan. Namun, cara ini harus dilakukan dengan cermat agar jumlah data tetap seimbang.

Overfitting vs Underfitting

Selain masalah overfitting, ada juga masalah underfitting. Sama seperti overfitting, masalah underfitting pun masih berkaitan dengan derajat polinomial. Suatu model dikatakan underfitting jika tingkat fleksibilitasnya begitu rendah sehingga sulit untuk menjelaskan data. Hal ini bisa terjadi ketika Anda menghentikan proses pelatihan terlalu dini atau menghilangkan terlalu banyak fitur penting dari data.

Keduanya sama-sama tidak menguntungkan model. Oleh karenanya, dalam merancang suatu model pembelajaran machine learning, Anda perlu mencari titik tengah di antara overfitting dan underfitting. Dengan begitu, Anda bisa menemukan tren dominan dan kemudian menerapkannya secara luas terhadap kumpulan data baru.

Kesimpulan

Jika disimpulkan, masalah overfitting berhubungan erat dengan derajat polinomial. Ketika masalah ini timbul, artinya model statistik sangat cocok dengan data pelatihan. Namun, situasi ini menjadi berat bagi algoritma yang ada pada machine learning. Untuk mencegah terjadinya masalah ini, perlu dilakukan pengujian, salah satunya adalah dengan melakukan K-fold cross-validation.

Mempelajari problem seperti overfitting dan underfitting ini amat penting bagi Anda yang berminat membangun machine learning sendiri. Dengan memahami problem, Anda bisa mengetahui tindakan preventif apa saja yang dapat dilakukan sebagai pencegahan. Pelajari lebih lanjut mengenai machine learning dan data science di Algoritma Data Science School. Kami menghadirkan pelatihan, baik itu untuk individu maupun perusahaan. Informasi selengkapnya, silakan klik di sini!

Referensi:

  • IBM – Overfitting (diakses 29 Juli 2022)
  • Towards Data Science – Overfitting vs. Underfitting: A Complete Example (diakses 29 Juli 2022)

Get Free Learning Resources

* indicates required
Insights

Bunga Dea Laraswati

Sr. Writer Algoritma Data Science School


Upcoming Workshop