Apa itu overfitting
Hindari overfitting dengan watsonx.ai Berlangganan pembaruan AI
Latar belakang hitam dan biru
Apa itu overfitting

Dalam machine learning, overfitting terjadi ketika sebuah algoritme terlalu cocok atau bahkan persis dengan data pelatihannya, sehingga menghasilkan model yang tidak dapat membuat prediksi atau kesimpulan yang akurat dari data apa pun selain data pelatihan. 

Overfitting menggagalkan tujuan model machine learning. Generalisasi model ke data baru pada akhirnya memungkinkan kita menggunakan algoritme machine learning setiap hari untuk membuat prediksi dan mengklasifikasikan data.

Ketika algoritma machine learning dibangun, mereka memanfaatkan kumpulan data sampel untuk melatih modelnya. Namun, ketika model berlatih terlalu lama pada data sampel atau ketika model terlalu kompleks, model dapat mulai mempelajari "kebisingan", atau informasi yang tidak relevan, di dalam kumpulan data. Ketika model menghafal kebisingan dan terlalu dekat dengan set pelatihan, model menjadi "overfitted," dan tidak dapat menggeneralisasi dengan baik terhadap data baru. Jika sebuah model tidak dapat menggeneralisasi dengan baik terhadap data baru, maka model tersebut tidak akan dapat melakukan tugas klasifikasi atau prediksi yang diinginkan.

Tingkat kesalahan yang rendah dan varians yang tinggi adalah indikator yang baik dari overfitting. Untuk mencegah perilaku seperti ini, bagian dari kumpulan data pelatihan biasanya disisihkan sebagai "set uji" untuk memeriksa adanya overfitting. Jika data pelatihan memiliki tingkat kesalahan yang rendah dan data uji memiliki tingkat kesalahan yang tinggi, itu menandakan adanya overfitting.

IBM dinobatkan sebagai pemimpin oleh IDC

Baca mengapa IBM dinobatkan sebagai pemimpin dalam laporan IDC MarketScape: Worldwide AI Governance Platforms 2023.

Konten terkait

Daftar untuk mendapatkan buku putih tentang tata kelola AI

Overfitting vs underfitting

Jika pelatihan berlebihan atau kompleksitas model mengakibatkan overfitting, maka respons pencegahan yang logis adalah dengan menghentikan proses pelatihan lebih awal, yang juga dikenal sebagai, “penghentian dini” atau mengurangi kompleksitas model dengan menghilangkan input yang kurang relevan. Namun, jika Anda berhenti terlalu dini atau mengecualikan terlalu banyak fitur penting, Anda mungkin mengalami masalah yang berlawanan, dan sebaliknya, Anda mungkin mengalami underfitting pada model Anda. Underfitting terjadi ketika model tidak dilatih dalam waktu yang cukup atau variabel input tidak cukup signifikan untuk menentukan hubungan yang berarti antara variabel input dan output.

Dalam kedua skenario itu, model tidak dapat menentukan tren dominan dalam kumpulan data pelatihan. Akibatnya, underfitting juga melakukan generalisasi yang buruk terhadap data yang tidak terlihat. Namun, tidak seperti overfitting, model underfitted mengalami bias yang tinggi dan variansi yang lebih sedikit dalam prediksinya. Hal ini menggambarkan tradeoff bias-varians, yang terjadi ketika model yang mengalami underfitting beralih ke kondisi overfitting. Saat model belajar, biasnya berkurang, tetapi variansnya dapat meningkat seiring dengan overfitting. Saat melatih model, tujuannya adalah untuk menemukan “titik terbaik” di antara underfitting dan overfitting, sehingga dapat membentuk tren dominan dan menerapkannya secara luas pada kumpulan data baru.

Cara mendeteksi model yang mengalami overfitting

Untuk memahami keakuratan model machine learning, penting untuk menguji kebugaran model. Validasi silang K-fold adalah salah satu teknik paling populer untuk menilai keakuratan model.

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.

Bagaimana menghindari overfitting

Meskipun menggunakan model linier membantu kita menghindari overfitting banyak masalah dunia nyata yang merupakan masalah nonlinier. Selain memahami cara mendeteksi overfitting, penting juga untuk memahami cara menghindari overfitting. Di bawah ini adalah sejumlah teknik yang dapat Anda gunakan untuk mencegah overfitting:

  • Penghentian awal: Seperti yang telah kami sebutkan sebelumnya, metode ini berusaha untuk menghentikan sementara pelatihan sebelum model mulai mempelajari kebisingan di dalam model. Pendekatan ini berisiko menghentikan proses pelatihan terlalu cepat, yang mengarah ke masalah sebaliknya underfitting. Menemukan “titik terbaik” antara underfitting dan overfitting adalah tujuan akhirnya di sini.
  • Latih dengan lebih banyak data: Memperluas set pelatihan dengan memasukkan lebih banyak data dapat meningkatkan akurasi model dengan memberikan lebih banyak kesempatan untuk menguraikan hubungan dominan di antara variabel input dan output. Konon, ini adalah metode yang lebih efektif ketika data yang bersih dan relevan disuntikkan ke dalam model. Jika tidak, Anda bisa terus menambahkan lebih banyak kompleksitas pada model, menyebabkan overfitting.
  • Penambahan data: Meskipun lebih baik menyuntikkan data yang bersih dan relevan ke dalam data pelatihan Anda, terkadang data yang bising ditambahkan untuk membuat model menjadi lebih stabil. Namun, metode ini harus dilakukan dengan cermat.
  • Pemilihan fitur: Ketika Anda membangun sebuah model, Anda akan memiliki sejumlah parameter atau fitur yang digunakan untuk memprediksi hasil yang diberikan, tetapi seringkali, fitur-fitur ini dapat menjadi berlebihan bagi orang lain. Seleksi fitur adalah proses mengidentifikasi fitur yang paling penting dalam data pelatihan dan kemudian menghilangkan fitur yang tidak relevan atau berlebihan. Ini biasanya disalahartikan sebagai pengurangan dimensi, tetapi ini sebenarnya berbeda.  Namun, kedua metode membantu menyederhanakan model Anda untuk menetapkan tren dominan dalam data.
  • Regularisasi: Jika overfitting terjadi apabila model terlalu kompleks, maka masuk akal bagi kita untuk mengurangi jumlah fitur. Tetapi bagaimana jika kita tidak tahu input mana yang harus dihilangkan selama proses pemilihan fitur? Jika kita tidak tahu fitur mana yang harus dihapus dari model kita, metode regularisasi dapat sangat membantu. Regularisasi menerapkan "penalti" pada parameter input dengan koefisien yang lebih besar, yang kemudian membatasi jumlah varians dalam model.  Meskipun ada sejumlah metode regularisasi, seperti regularisasi lasso, regresi ridge dan dropout, semuanya berusaha untuk mengidentifikasi dan mengurangi noise dalam data.
  • Metode ansambel: Metode pembelajaran ansembel terdiri dari sekumpulan pengklasifikasi—misalnya decision trees—dan prediksi mereka digabungkan untuk mengidentifikasi hasil yang paling populer. Metode ansambel yang paling terkenal adalah mengantongi dan meningkatkan. Dalam bagging, sampel acak data dalam set pelatihan dipilih dengan penggantian—artinya, setiap titik data dapat dipilih lebih dari satu kali. Setelah beberapa sampel data dihasilkan, model-model ini kemudian dilatih secara independen, dan tergantung pada jenis tugas—yaitu Regresi atau klasifikasi—rata-rata atau sebagian besar prediksi tersebut menghasilkan perkiraan yang lebih akurat. Ini biasanya digunakan untuk mengurangi varians dalam kumpulan data yang bising.
Lihat cara memanfaatkan beberapa pendekatan ini dalam tutorial pengenalan gambar IBM Developer ini
Penelitian terbaru

Sementara di atas adalah definisi yang mapan tentang overfitting, penelitian terbaru (tautan berada di luar IBM) menunjukkan bahwa model kompleks, seperti model pembelajaran mendalam dan neural networks, bekerja pada akurasi tinggi meskipun dilatih untuk “menyesuaiakan atau menginterpolasi dengan tepat.” Temuan ini secara langsung bertentangan dengan literatur historis tentang topik ini, dan dijelaskan melalui kurva risiko "penurunan ganda" di bawah ini. Anda dapat melihat bahwa saat model belajar melewati ambang interpolasi, kinerja model meningkat. Metode yang kami sebutkan sebelumnya untuk menghindari overfitting, seperti penghentian dini dan regularisasi, sebenarnya dapat mencegah interpolasi.

Solusi terkait
IBM Watson Studio

IBM Watson Studio adalah platform data terbuka yang memungkinkan ilmuwan data membangun, menjalankan, menguji, dan mengoptimalkan model AI dalam skala besar di cloud apa pun.

Jelajahi IBM Watson Studio
IBM Cloud Pak for Data

IBM Cloud Pak for Data adalah platform data terbuka dan dapat diperluas yang menyediakan data fabric untuk membuat semua data tersedia untuk AI dan analitik, di cloud mana pun.

Jelajahi IBM Cloud Pak for Data
Sumber daya Memahami overfitting jinak dalam pembelajaran meta berbasis gradien

Bukti empiris menunjukkan bahwa metode meta learning yang terlalu banyak parameter masih bekerja dengan baik, sebuah fenomena yang sering disebut overfitting jinak.

Overfitting yang berat dapat dikurangi dengan penghalusan yang dipelajari dengan benar

Selidiki dua cara empiris untuk menyuntikkan lebih banyak penghalusan yang dipelajari selama pelatihan adversarial (AT)