Apa Itu Overfitting? Penyebab, Contoh, dan Cara Deteksinya

Siti Khadijah Azzukhruf Firdausi

•

03 May 2024

•

275

Image Banner

Sobat MinDi pernah dengar tidak kalau hasil prediksi dari machine learning belum tentu akurat? Ini benar dan mungkin terjadi kalau modelnya berhadapan dengan data baru yang belum pernah dilihat. Ternyata, overfitting adalah penyebab utama dari masalah ini.


Karena dampaknya cukup signifikan, overfitting adalah salah satu momok para praktisi data atau machine learning. Penasaran kenapa overfitting begitu berdampak sama model machine learning?


Yuk, baca penjelasan lengkapnya di bawah ini!



Apa Itu Overfitting?


Secara umum, overfitting adalah tantangan umum dalam machine learning. Mengutip dari datacamp, overfitting adalah masalah yang terjadi karena model belajar darI data pelatihan terlalu baik.


Apabila pembelajaran data pelatihannya terlalu kaku, maka kinerja model bakal jadi buruk kalau berhadapan dengan data yang belum pernah dilihat sebelumnya. 


Pembelajaran yang terlalu kaku ini bisa berupa perhitungan mendetail dari noise atau outliers data pelatihan.


Pemahaman sederhana terkait cara kerjanya bisa dianologikan dengan proses ketika mengajari anak kecil. Misalnya, kamu mau ajari adikmu untuk memahami burung. 


Saat mengajarinya, kamu hanya menunjukkan gambar burung dara. Setelah menunjukkan gambar, kamu bahkan tidak mendefinisikan tiap karakter umum burung.


Dengan demikian, adikmu akan menganggap burung elang sebagai dara karena itulah yang dia pelajari.


Analogi ini mencerminkan bagaiman overfitting terjadi di dalam machine learning. Apabila model terlalu biasa dengan data pelatihan tertentu, ia cenderung tidak mampu menggeneralisasi pola umum. 


Hal ini berdampak besar pada akurasi hasil ketika melakukan prediksi pada data yang baru dan belum pernah dilihat sebelumnya. Maka dari itu, overfitting perlu diatasi karena akurasi adalah kunci machine learning.


Baca Juga: 7 Cara Belajar Machine Learning Dengan Python Bagi Pemula



Apa Sih Penyebab Overfitting?



Sumber: Freepik


Seperti penjelasan di atas, overfitting bisa berdampak pada akurasi hasil akhir. Lantas, apa sih yang menyebabkan overfitting terjadi?


Biar Sobat MinDi tidak penasaran, MinDi bakal rangkum beberapa penyebab terjadinya overfitting. Dilansir dari Amazon, penyebab overfitting mencakup tiga hal utama yakni kompleksitas model, kurangnya data, dan noise.


Supaya Sobat MinDi lebih paham lagi, berikut MinDi uraikan tiga penyebab utama overfitting:


1. Kompleksitas Model


Penyebab pertama overfitting adalah model yang digunakan terlalu komples untuk tugas sederhana. Contohnya adalah kamu memakai regresi polinomial derajat tinggi untuk data yang bersifat linear.


Dalam kasus tersebut, model cenderung akan mempelajari noise daripada pola yang sebenarnya.



2. Data yang Tidak Mencukupi


Penyebab kedua adalah data yang tidak mencukupi. Apabila jumlah data tak tersedia dan mencukup, model mungkin menemukan pola yang sebenarnya tida ada. 


Model juga mungkin menemukan data yang terlalu sedikit untuk mencerminkan keadaan sesungguhnya.



3. Noise dalam Data


Terakhir adalah noise dalam data. Apabila data pelatihan mengandung kesalahan atau fluktiasi acak model yang mengalami overfitting akan menganggapnya sebagai pola signifikan. Padahal, pola tersebut sebenarnya hanya noise belaka.



Contoh Overfitting


Selanjutnya, MinDi bakal kasih beberapa contoh overfitting dalam penggunaan machine learning. Berikut adalah contoh overfitting di bebarap model machine learning:


1. Prediksi Penggunaan Energi Listrik


Contoh pertama berkaitan dengan model machine learning yang dikembangkan untuk prediksi konsumsi energi listrik sebuah kota. Prediksi ini dibuat berdasarkan data historis.


Akan tetapi, saat model dikembangkan, data pelatihan yang dipakai kebanyakan berasal dari musim panas. Di musim panas ini, pemakaian AC cenderung lebih tinggi.


Akibatnya, model sudah terbiasa dengan pola-pola yang berkaitan dengan musim panas dan penggunaan AC berlebih. Akibatnya, model jadi kurang efektif saat dipakai untuk prediksi konsumsi energi pada musim dingin.



2. Rekomendasi Film di Platform Streaming


Contoh berikutnya berkaitan dengan sebuah algoritma rekomendasi film berbasis machine learning yang dibuat untuk platform streaming. Di contoh ini, algoritmanya dilatih dengan menggunakan preferensi pengguna dari wilayah tertentu.


Wilayah ini kebetulan memiliki kecenderung berbeda dalam menonton film. Sebagian besar data pelatihan ini berasal dari pengguna muda yang suka film action.


Akhirnya, algoritmanya cenderung hanya mampu merekomendasikan film aksi. Ini bahkan terjadi pada pengguna yang punya preferensi seperti film drama atau komedi.



3. Klasifikasi Teks untuk Analisis Sentimen


Contoh berikutnya berkaitan dengan sebuah model machine learning yang dibuat untuk klasifikasi ulasan pelanggan. Pengelompokan ini dibuat jadi kategori positif, negatif, dan netral.


Saat pengembangan model, data pelatihan yang dipakai kebanyakan berasal dari industri FnB dan perhotelan. Sehingga, model tidak dapat mengenali nuansa sentimen berbeda dalam ulasan dari industri lain. Misalnya, seperti teknologi atau otomotif.


Baca Juga: Memahami Opini Publik dengan Analisis Sentimen Media Sosial




Bagaimana Cara Mendeteksi Overfitting?


Seperti yang sudah Sobat MinDi lihat, overfitting cukup berdampak pada hasil akhir dari model machine learning. Untuk menghindari dampaknya, Sobat MinDi perlu tau bagaimana cara mendeteksinya.


Eits, kamu tidak perlu khawatir. Di bawah ini MinDi bakal kasih tips spesial untuk mendeteksi overfitting. Berikut adalah cara yang bisa Sobat MinDi ikuti:


1. Validation Set


Cara pertama adalah dengan menggunakan validation set. Untuk melakukan metode ini, kamu bisa bagi data menjadi dua subset yakni set pelatihan dan validasi.


Set pelatihan bisa kamu pakai untuk melatih model. Sementara itu, set validasi dipakai untuk menguji kinerja model secara independen.


Set validasi membantu dalam mengevaluasi seberapa baik kinerja model. Penilaiannya secara khusus melihat bisakah model menggeneralisasi pola yang dipelajari dari data pelatihan ke yang belum pernah dilihat.


Adanya overfitting bisa dilihat apabila model memiliki performa yang baik pada set pelatihan dan performa buruk pada set validasi.



2. Kurva Pembelajaran


Cara kedua adalah dengan kurva pembelajaran. Ini merupakan grafik yang menunjukkan kinerja model pada kedua set pelatihan dan validasi seiring waktu.


Dengan melacak kinerja model di kedua set tersebut, kamu bisa lihat apakah ada overfitting atau underfitting.


Apabila kurva kinerja pada set pelatihan terus meningkat dan di validasi mulai merosot, maka overfitting terjadi. 


Biasanya ini terjadi ketika model terlalu fokus pada detail data pelatihan yang bisa saja noise atau kesalahan. Pada akhirnya, model kehilangan kemampuan untuk menggeneralisasi pola pada data baru.



3. Validasi Silang/Cross-Validation


Cara terakhir adalah dengan validasi silang/cross validation. Untuk melakukan ini, kamu bisa membagi data pelatihan jadi beberapa subset (fold) yang saling tumpang tindih.


Setelah itu, model dilatih pada satu subset dan diuji pada yang lainnya. Kemudian, prosesnya diulang beberapa kali menggunakan kombinasi subset berbeda.


Dengan memanfaatkan validasi silang, kamu bisa memperkirakan kinerja model yang lebih stabil dan bisa digeneralisasi. Metode ini juga bisa buat kamu lebih yakin bahwa performa model tidak dipengaruhi oleh pemilihan tertentu dari data pelatihan.



Bagaimana Cara Mencegah OverfittIng?


Supaya kamu tidak perlu repot memperbaiki overfitting, Sobat MinDi bisa melakukan beberapa tindakan preventif. Berikut adalah beberapa upaya untuk mencegahnya:


  • Gunakan Model yang Lebih Sederhana: 

Hindari penggunaan model yang terlalu kompleks untuk tugas sederhana. Hal ini karena kompleksitas yang berlebihan bisa mengakibatkan overfitting.

  • Sediakan Lebih Banyak Data

Kumpulkan lebih banyak data pelatihan. Hal ini meningkatkan kemampuan model untuk menggeneralisasi pola.

  • Gunakan Teknik Regularisasi

Teknik seperti L1 dan L2 regularization bisa dimanfaatkan untuk mencegah overfitting. Sebab, teknik ini memberlakukan penalti pada parameter model tertentu jika mereka berpotensi menyebabkan overfitting.

  • Pakai Teknik Dropout

Merupakan salah satu teknik di neural network. Di penerapannya, sebagian random neuron akan dihapus selama pelatihan. Hal ini mencegah jaringan saraf menjadi bergantung pada pola spesifik dalam data pelatihan.


Baca Juga: 9 Contoh Machine Learning Dalam Berbagai Bidang, Yuk Lihat



FAQ



Sumber: Freepik


Setelah membahas konsep overfitting secara mendetail, MinDi bakal buat pemahamanmu lebih dalam lagi lewat beberapa pertanyaan umum terkait ini. Di bawah ini MinDi udah pilih dua pertanyaan yang paling sering ditanyakan tentang overfitting:


Apa Ciri-Ciri Overfitting?


Secara umum, ciri-ciri overfitting bisa bervariasi tergantung jenis data dan model yang dipakai. Akan tetapi, beberapa ciri umum yang menandakan adanya overfitting meliputi:


  • Model menunjukkan performa yang sangat baik pada data pelatihan.

  • Model gagal untuk melakukan prediksi dengan baik pada data yang belum pernah dilihat sebelumnya.

  • Kinerja pada data pelatihan terus meningkat sementara di validasi performanya kian merosot.



Seberapa Banyak Overfitting yang Bisa Diterima?


Secara garis besar, overfitting yang bisa diterima tergantung pada konteks spesifik dari masalah dan tujuan model. Dalam beberapa kasus, overfitting dalam jumlah kecil mungkin bisa diterima apabila performa di data barunya masih cukup bagus.


Akan tetapi, overfitting umumnya harus dihindari. Hal ini karena overfitting bisa menghasilkan prediksi yang kurang reliabel pada data baru dan belum pernah dilihat.


Idealnya, model bagus harus bisa menggeneralisasi pola yang ditemui dalam data pelatihan ke data baru dengan baik. Model harus bisa melakukan ini tanpa terpengaruh oleh noise atau bias dari data pelatihan.



Belajar Machine Learning di Bootcamp Data Science Dibimbing


Demikian pembahasan mengenai overfitting. Dengan memahami overfitting, kamu bisa tahu apa strategi yang tepat untuk mengatasinya. Hal ini tentunya salah satu keterampilan penting dalam pengembangan model machine learning yang baik.


Meski overfitting penting dipahami, pembelajaranmu soal machine learning tidak boleh berhenti sampai situ saja. Kalau Sobat MinDi mau belajar lebih banyak, MinDi rekomendasikan kamu untuk ikut Bootcamp Data Science Dibimbing.id.  


Program ini menyediakan pembelajaran komprehensif tentang data science. Kamu bisa belajar pengolahan data, klasifikasi data, hingga permodelan machine elarning.


Di sini, kamu bakal dibimbing dari nol pakai kurikulum beginner friendly yang tentunya juga cocok buat pemula.


Di samping itu, program ini menawarkan peluang karir yang menjanjikan bagi Sobat MinDi. Salah satu fakat menariknya adalah 94% lulusan Dibimbing berhasil dapat pekerjaan setelah menyelesaikan program.


Tertarik untuk jadi salah satunya? Ayo daftarkan dirimu dan mulai karirmu di data science bareng Dibimbing.id!



Referensi


  1. What is Overfitting? [Buka]

  2. What is Overfitting [Buka]

  3. Overfitting and Underfitting with A Real-Life Example [Buka]

  4. What is Overfitting in Machine Learning [Buka]

  5. Underfitting and Overfitting [Buka]


Share

Author Image

Siti Khadijah Azzukhruf Firdausi

Khadijah adalah SEO Content Writer di Dibimbing dengan pengalaman menulis konten selama kurang lebih setahun. Sebagai lulusan Bahasa dan Sastra Inggris yang berminat tinggi di digital marketing, Khadijah aktif berbagi pandangan tentang industri ini. Berbagai topik yang dieksplorasinya mencakup digital marketing, project management, data science, web development, dan career preparation.

Hi!👋

Kalau kamu butuh bantuan,

hubungi kami via WhatsApp ya!