Apa itu Overfitting?

Overfitting adalah perilaku pembelajaran mesin yang tidak diinginkan yang terjadi ketika model pembelajaran mesin memberikan prediksi akurat untuk data pelatihan tetapi tidak untuk data baru. Ketika ilmuwan data menggunakan model pembelajaran mesin untuk membuat prediksi, mereka pertama-tama melatih model pada kumpulan data yang diketahui. Kemudian, berdasarkan informasi ini, model mencoba memprediksi hasil untuk kumpulan data baru. Model overfit dapat memberikan prediksi yang tidak akurat dan tidak dapat bekerja dengan baik untuk semua jenis data baru.

Mengapa overfitting terjadi?

Anda hanya mendapatkan prediksi yang akurat jika model machine learning menggeneralisasi semua tipe data dalam domainnya. Overfitting terjadi saat model tidak dapat menggeneralisasi dan justru terlalu pas dengan set data pelatihan. Overfitting terjadi karena beberapa alasan, seperti:
•    Ukuran data pelatihan terlalu kecil dan tidak mengandung sampel data yang cukup untuk secara akurat merepresentasikan semua kemungkinan nilai data input.
•    Data pelatihan berisi banyak informasi yang tidak relevan, yang disebut data tidak berarti.
•    Model melatih terlalu lama dalam satu set data sampel.
•    Model sangat kompleks sehingga model mempelajari data tidak berarti dalam data pelatihan.

Contoh overfitting
Pertimbangkan kasus penggunaan yang mengharuskan model machine learning menganalisis foto dan mengidentifikasi foto yang terdapat anjing di dalamnya. Jika model machine learning dilatih dalam sebuah set data yang berisi mayoritas foto yang menampilkan anjing di luar, di taman, model mungkin belajar untuk menggunakan rumput sebagai fitur untuk klasifikasi, dan mungkin tidak mengenali anjing di sebuah ruangan.
Contoh overfitting lainnya adalah algoritme machine learning yang memprediksi performa akademik siswa dan hasil kelulusan dengan menganalisis beberapa faktor seperti pendapatan keluarga, performa akademik masa lalu, dan kualifikasi akademik orang tua. Namun, data uji hanya mencakup kandidat dari gender atau kelompok etnis tertentu. Dalam kasus ini, overfitting menyebabkan penurunan akurasi prediksi algoritme untuk kandidat dengan gender atau etnisitas di luar set data uji.

Bagaimana Anda dapat mendeteksi overfitting?

Metode terbaik untuk mendeteksi model overfit adalah dengan menguji model machine learning di lebih banyak data dengan representasi komprehensif dari kemungkinan nilai dan tipe data input. Biasanya, bagian dari data pelatihan digunakan sebagai data uji untuk memeriksa overfitting. Tingkat kesalahan yang tinggi dalam data pengujian menunjukkan overfitting. Salah satu metode pengujian untuk overfitting diberikan di bawah ini.
Validasi silang K-fold
Validasi silang adalah salah satu metode pengujian yang digunakan dalam praktik. Dalam metode ini, ilmuwan data membagi set pelatihan menjadi subset berukuran sama K atau set sampel yang disebut fold. Proses pelatihan terdiri dari serangkaian iterasi. Dalam setiap iterasi, langkah-langkahnya adalah:
1.    Simpan satu subset sebagai data validasi dan latih model machine learning di subset K-1 yang tersisa.
2.    Amati bagaimana performa model sampel validasi.
3.    Beri skor untuk performa model berdasarkan kualitas data output.


Iterasi diulangi hingga Anda menguji model di setiap set sampel. Anda kemudian merata-ratakan skor di semua iterasi untuk mendapatkan penilaian akhir model prediktif.

Bagaimana Anda dapat mencegah overfitting?

Anda dapat mencegah overfitting dengan mendiversifikasi dan menskalakan set data pelatihan menggunakan beberapa strategi ilmu data, seperti yang diberikan di bawah ini.
Penghentian awal
Penghentian awal menjeda fase pelatihan sebelum model machine learning mempelajari data tidak berarti dalam data. Namun, ketepatan waktu sangat penting; jika tidak, model tetap tidak akan memberikan hasil yang akurat.
Pemangkasan
Anda dapat mengidentifikasi beberapa fitur atau parameter yang memengaruhi prediksi akhir saat membuat model. Pemilihan fitur—atau pemangkasan — mengidentifikasi fitur terpenting dalam set pelatihan dan menghilangkan fitur yang tidak relevan. Misalnya, untuk memprediksi apakah gambar adalah hewan atau manusia, Anda dapat melihat berbagai parameter input seperti bentuk wajah, posisi telinga, struktur tubuh, dll. Anda dapat memprioritaskan bentuk wajah dan mengabaikan bentuk mata.
Regularisasi
Regularisasi adalah kumpulan teknik pelatihan/optimasi yang berusaha mengurangi overfitting. Metode ini mencoba menghilangkan faktor-faktor yang tidak memengaruhi hasil prediksi dengan menilai fitur berdasarkan penting tidaknya fitur. Misalnya, perhitungan matematis menerapkan nilai penalti ke fitur dengan dampak minimal. Pertimbangkan model statistik yang mencoba memprediksi harga hunian sebuah kota dalam 20 tahun. Regularisasi akan memberikan nilai penalti yang lebih rendah untuk fitur seperti pertumbuhan populasi dan pendapatan tahunan rata-rata, tetapi nilai penalti yang lebih tinggi untuk temperatur rata-rata tahunan kota tersebut.
Penggabungan
Penggabungan menggabungkan prediksi dari beberapa algoritme machine learning yang terpisah. Beberapa model disebut pemelajar yang lemah karena hasilnya sering kali tidak akurat. Metode penggabungan menggabungkan semua pemelajar yang lemah untuk mendapatkan hasil yang lebih akurat. Metode ini menggunakan beberapa model untuk menganalisis data sampel dan memilih hasil yang paling akurat. Dua metode penggabungan utama adalah bagging dan boosting. Boosting melatih berbagai model machine learning berbeda satu demi satu untuk mendapatkan hasil akhir, sedangkan bagging melatih model secara paralel.
Augmentasi data
Augmentasi data adalah teknik machine learning yang sedikit mengubah data sampel setiap kali model memproses data tersebut. Anda dapat melakukan ini dengan mengubah data input dengan cara yang sederhana. Saat dilakukan dengan cermat, augmentasi data membuat set pelatihan terlihat unik untuk model dan mencegah model mempelajari karakteristik set tersebut. Misalnya, menerapkan transformasi seperti terjemahan, pembalikkan, dan rotasi ke gambar input.

 

Apa yang dimaksud dengan underfitting?

Underfitting adalah tipe kesalahan lainnya yang terjadi saat model tidak dapat menentukan hubungan berarti antara data input dan output. Anda mendapatkan model underfit jika model tersebut belum dilatih selama durasi yang tepat di banyak titik data.
Underfitting vs. overfitting
Model underfit mengalami bias tinggi—model ini memberikan hasil yang tidak akurat untuk set data pelatihan dan uji. Di sisi lain, model overfit mengalami varians tinggi—model ini memberikan hasil yang akurat untuk set pelatihan tetapi tidak untuk set uji. Lebih banyak pelatihan model menghasilkan bias yang lebih sedikit, tetapi varians dapat meningkat. Ilmuwan data bertujuan untuk menemukan titik temu antara underfitting dan overfitting saat mengepaskan model. Model yang pas dapat dengan cepat menetapkan tren dominan untuk set data terlihat dan tidak terlihat.

Bagaimana AWS dapat meminimalkan kesalahan overfitting dalam model machine learning Anda?

Anda dapat menggunakan Amazon SageMaker untuk membangun, melatih, dan melakukan deployment model machine learning untuk setiap kasus penggunaan dengan infrastruktur, alat, dan alur kerja terkelola penuh. Amazon SageMaker memiliki fitur bawaan yang disebut Amazon SageMaker Debugger yang secara otomatis menganalisis data yang dihasilkan selama pelatihan, seperti input, output, dan transformasi. Akibatnya, Amazon SageMaker dapat mendeteksi dan melaporkan overfitting dan ketidakakuratan lainnya tanpa intervensi manual.

Misalnya, Anda dapat:

  • Secara otomatis menghentikan proses pelatihan saat akurasi yang diinginkan tercapai.
  • Mengambil metrik pelatihan secara waktu nyata.
  • Menerima peringatan saat overfitting terdeteksi.

Mengurangi waktu dan biaya melatih model machine elarning. Mulailah menggunakan machine learning di AWS dengan membuat akun gratis sekarang juga!

Langkah berikutnya Overfitting AWS

Lihat sumber daya terkait produk tambahan
Layanan Machine Learning Gratis di AWS 
Daftar untuk akun gratis

Dapatkan akses secara instan ke AWS Tingkat Gratis. 

Daftar 
Mulai membangun di konsol

Mulai membangun di Konsol Manajemen AWS.

Masuk