Underfitting adalah skenario dalam ilmu data di mana model data tidak dapat menangkap hubungan antara variabel input dan output secara akurat, menghasilkan tingkat kesalahan yang tinggi pada set pelatihan dan data yang tidak terlihat.
Kekurangan terjadi ketika model terlalu sederhana, yang bisa jadi merupakan hasil dari model yang membutuhkan lebih banyak waktu pelatihan, lebih banyak fitur input, atau lebih sedikit regularisasi.
Seperti overfitting, ketika sebuah model mengalami underfitting, model tersebut gagal menangkap tren dominan dalam data, sehingga menyebabkan kesalahan pelatihan dan kinerja yang buruk. Jika model tidak mampu menggeneralisasi dengan baik pada data baru, maka model tersebut tidak dapat digunakan untuk tugas klasifikasi atau prediksi. Generalisasi model ke data baru pada akhirnya memungkinkan kita menggunakan algoritma machine learning setiap hari untuk membuat prediksi dan mengklasifikasikan data.
Bias tinggi dan varians rendah adalah indikator yang baik dari ketidakcocokan. Karena perilaku ini dapat dilihat saat menggunakan kumpulan data pelatihan, model yang kurang pas biasanya lebih mudah diidentifikasi daripada model yang terlalu pas.
Secara sederhana, overfitting merupakan kebalikan dari underfitting, terjadi ketika model telah dilatih secara berlebihan atau mengandung terlalu banyak kompleksitas, sehingga menghasilkan tingkat kesalahan yang tinggi pada data uji. Overfitting pada suatu model lebih umum terjadi daripada underfitting, dan underfitting biasanya terjadi dalam upaya untuk menghindari overfitting melalui suatu proses yang disebut “penghentian dini.”
Jika pelatihan kurang atau kompleksitas model terlalu rendah sehingga menimbulkan kekurangan, strategi pencegahannya adalah dengan memperpanjang durasi pelatihan atau menambahkan input yang lebih relevan. Namun, jika Anda melatih model terlalu lama atau menambahkan terlalu banyak fitur, model Anda mungkin mengalami overfitting, yang menghasilkan bias rendah tetapi varians tinggi (yaitu pertukaran bias-varian). Dalam skenario ini, model statistik terlalu cocok dengan data pelatihannya, sehingga tidak dapat menggeneralisasi dengan baik ke titik data baru. Penting untuk diperhatikan bahwa beberapa jenis model dapat lebih rentan terhadap overfitting daripada yang lain, seperti decision trees atau KNN.
Mengidentifikasi overfitting bisa jadi lebih sulit daripada underfitting karena tidak seperti underfitting, data pelatihan memiliki akurasi yang tinggi dalam model yang overfitting. Teknik yang biasanya digunakan untuk menilai keakuratan algoritma disebut k-fold cross-validation.
Dalam validasi silang k-folds, data dibagi menjadi k subset berukuran sama, yang juga disebut "lipatan." Salah satu lipatan-k akan bertindak sebagai set uji, juga dikenal sebagai set holdout atau set validasi, dan lipatan yang tersisa akan melatih model. Proses ini berulang sampai masing-masing lipatan telah bertindak sebagai lipatan holdout. Setelah setiap evaluasi, skor dicatat dan ketika semua iterasi telah selesai, skor dirata-rata untuk menilai kinerja model secara keseluruhan.
Skenario ideal saat memasang model adalah menemukan keseimbangan antara overfitting dan underfitting. Mengidentifikasi “titik pasti” di antara keduanya memungkinkan model machine learning untuk membuat prediksi dengan akurat.
Karena kami dapat mendeteksi kekurangan berdasarkan set pelatihan, kami dapat membantu lebih baik dalam membangun hubungan dominan antara variabel input dan output pada awal. Dengan mempertahankan kompleksitas model yang memadai, kita dapat menghindari kekurangan dan membuat prediksi yang lebih akurat. Di bawah ini adalah beberapa teknik yang dapat digunakan untuk mengurangi underfitting:
Regularisasi digunakan untuk mengurangi varians model dengan memberikan penalti pada parameter input yang memiliki koefisien besar. Ada beberapa metode, seperti regularisasi L1, Lasso, dan dropout, yang membantu mengurangi noise dan outlier dalam model. Namun, jika fitur data terlalu seragam, model kesulitan mengenali tren dominan sehingga terjadi underfitting. Dengan mengurangi tingkat regularisasi, model dapat menangkap lebih banyak kompleksitas dan variasi, sehingga pelatihan model menjadi lebih efektif.
Seperti disebutkan sebelumnya, menghentikan latihan terlalu cepat juga dapat mengakibatkan model kurang bugar. Karena itu, dengan memperpanjang durasi pelatihan, hal itu dapat dihindari. Namun, penting untuk menyadari latihan berlebihan, dan selanjutnya, menjadi overfitting. Menemukan keseimbangan antara dua skenario akan menjadi kuncinya.
Pada model apa pun, fitur-fitur spesifik digunakan untuk menentukan hasil tertentu. Jika fitur prediktif yang ada tidak mencukupi, maka fitur yang lebih banyak atau fitur yang lebih penting harus diperkenalkan. Misalnya, dalam neural networks, Anda dapat menambahkan lebih banyak neuron tersembunyi atau dalam hutan acak, Anda dapat menambahkan lebih banyak pohon. Proses ini akan menyuntikkan lebih banyak kompleksitas ke dalam model, menghasilkan hasil pelatihan yang lebih baik.