Saya harap kutipan berikut ini akan memberikan wawasan tentang apa yang akan menjadi pertanyaan saya. Ini dari http://neuralnetworksanddeeplearning.com/chap3.html
Pembelajaran kemudian secara bertahap melambat. Akhirnya, pada sekitar zaman 280 akurasi klasifikasi cukup banyak berhenti meningkat. Zaman kemudian hanya melihat fluktuasi stokastik kecil di dekat nilai akurasi pada zaman 280. Bandingkan ini dengan grafik sebelumnya, di mana biaya yang terkait dengan data pelatihan terus turun dengan lancar. Jika kita melihat biaya itu saja, tampaknya model kita masih "lebih baik". Tetapi hasil akurasi tes menunjukkan peningkatan itu ilusi. Sama seperti model yang tidak disukai Fermi, apa yang dipelajari jaringan kami setelah zaman 280 tidak lagi digeneralisasikan ke data uji. Dan itu bukan pembelajaran yang berguna. Kami mengatakan jaringan overfitting atau overtraining di luar zaman 280.
Kami sedang melatih jaringan saraf dan biaya (untuk data pelatihan) turun hingga zaman 400 tetapi keakuratan klasifikasi menjadi statis (kecuali beberapa fluktuasi stokastik) setelah zaman 280 sehingga kami menyimpulkan bahwa model terlalu cocok untuk data pelatihan setelah posting 280.
Kita dapat melihat bahwa biaya pada data uji meningkat sampai sekitar zaman 15, tetapi setelah itu sebenarnya mulai menjadi lebih buruk, meskipun biaya pada data pelatihan terus menjadi lebih baik. Ini adalah tanda lain bahwa model kami terlalu cocok. Namun, hal itu menimbulkan teka-teki, yaitu apakah kita harus menganggap zaman 15 atau zaman 280 sebagai titik di mana overfitting akan mendominasi pembelajaran? Dari sudut pandang praktis, yang benar-benar kita pedulikan adalah meningkatkan akurasi klasifikasi pada data uji, sedangkan biaya pada data uji tidak lebih dari proksi untuk akurasi klasifikasi. Maka, masuk akal untuk menganggap zaman 280 sebagai titik di mana overfitting mendominasi pembelajaran dalam jaringan saraf kita.
Berbeda dengan akurasi klasifikasi pada data uji dibandingkan dengan biaya pelatihan sebelumnya kami sekarang menempatkan biaya pada data uji terhadap biaya pelatihan.
Kemudian buku itu menjelaskan mengapa 280 adalah zaman yang tepat di mana overfitting telah dimulai. Itulah yang saya punya masalah. Saya tidak bisa membungkus kepala saya dengan ini.
Kami meminta model untuk meminimalkan biaya dan dengan demikian biaya adalah metrik yang digunakannya sebagai ukuran kekuatannya sendiri untuk mengklasifikasikan dengan benar. Jika kita menganggap 280 sebagai zaman yang tepat di mana overfitting telah dimulai, seandainya kita tidak dengan cara menciptakan model bias yang meskipun merupakan pengklasifikasi yang lebih baik pada data uji tertentu tetapi tetap membuat keputusan dengan kepercayaan rendah dan karenanya lebih cenderung menyimpang. dari hasil yang ditunjukkan pada data uji?
sumber
Jawaban:
Katakanlah kita ingin memprediksi apakah seorang siswa akan melakukan wawancara kerja berdasarkan resumenya.
Sekarang, anggap kita melatih model dari set data 10.000 resume dan hasilnya.
Selanjutnya, kami mencoba model keluar pada dataset asli, dan memprediksi hasil dengan akurasi 99% ... wow!
Tapi sekarang datang kabar buruknya.
Ketika kami menjalankan model pada dataset resume ("tak terlihat") yang baru, kami hanya mendapatkan akurasi 50% ... uh-oh!
Model kami tidak menggeneralisasi dengan baik dari data pelatihan kami untuk data yang tidak terlihat.
Ini dikenal sebagai overfitting, dan ini merupakan masalah umum dalam pembelajaran mesin dan ilmu data.
Overfitting V / s Underfitting
Kita bisa memahami overfitting lebih baik dengan melihat masalah yang berlawanan, underfitting.
Underfitting terjadi ketika model terlalu sederhana - diinformasikan oleh fitur yang terlalu sedikit atau terlalu banyak diatur - yang membuatnya tidak fleksibel dalam belajar dari dataset.
Pembelajar sederhana cenderung memiliki sedikit variasi dalam prediksi mereka tetapi lebih bias terhadap hasil yang salah (lihat: The Bias-Variance Tradeoff).
Di sisi lain, pelajar yang kompleks cenderung memiliki lebih banyak variasi dalam prediksi mereka.
Baik bias dan varians adalah bentuk kesalahan prediksi dalam pembelajaran mesin.
Biasanya, kita dapat mengurangi kesalahan dari bias tetapi mungkin meningkatkan kesalahan dari varians sebagai hasilnya, atau sebaliknya.
Pertukaran antara terlalu sederhana (bias tinggi) vs terlalu rumit (varians tinggi) adalah konsep utama dalam statistik dan pembelajaran mesin, dan yang mempengaruhi semua algoritma pembelajaran yang diawasi.
sumber
Sesuatu yang saya pelajari dengan cara yang sulit adalah dengan memplot kurva belajar, saya tahu, itu tidak menyenangkan seperti menulis kode pembelajaran mesin sendiri, tetapi penting untuk secara visual memahami apa yang terjadi.
Definisi praktis adalah bahwa over fitting terjadi ketika akurasi kereta Anda terus meningkat sementara akurasi validasi Anda berhenti meningkat (atau bahkan mulai semakin buruk).
Solusi paling sederhana untuk menghindari kecocokan adalah penghentian dini (hentikan pelatihan segera setelah segala sesuatunya terlihat buruk), tentu saja solusi paling sederhana datang dengan biaya: itu bukan solusi terbaik. Regularisasi dan putus sekolah adalah alat yang bagus untuk memperjuangkan pas, tapi itu masalah yang berbeda :)
Semoga ini bisa membantu
sumber
Sebagai sumber yang Anda kutip mengatakan "biaya pada data uji tidak lebih dari proxy untuk akurasi klasifikasi." Anda mungkin bertanya, mengapa kami harus menggunakan proxy, mengapa tidak menggunakan akurasi secara langsung? Jawabannya adalah Anda perlu meminimalkan fungsi biaya sehubungan dengan bobot dan bias. Oleh karena itu harus menjadi fungsi yang dapat dibedakan dari bobot dan bias. Akurasi bukan fungsi yang dapat dibedakan dan karena itu tidak dapat digunakan secara langsung. Tetapi karena pada akhirnya Anda peduli dengan keakuratan, seperti yang Anda sendiri gambarkan di atas (... harap dicatat, akurasi klasifikasi 100% pada contoh pertama dan namun biayanya lebih tinggi ...), Anda menentukan overfitting berdasarkan keakuratan pada pengujian. set.
sumber
Untuk memahami apa arti overfitting dan bagaimana hal itu memengaruhi keakuratan model, Anda harus memahami pengorbanan bias - varians.
Under-fitting dan overfitting adalah dua masalah berbeda yang berhubungan langsung dengan masalah bias-varians. Itu selalu penting untuk memahami hubungan antara tiga faktor yang berbeda dan bagaimana faktor-faktor ini terhubung ke masalah bias-varians (overfitting-under-fitting):
1 - ukuran model. Jumlah parameter
2- jumlah data yang tersedia untuk pelatihan. Jumlah sampel pelatihan.
3- jumlah iterasi. iterasi pelatihan.
Membuat hubungan langsung antara salah satu faktor ini dengan masalah overfitting-under-fitting tanpa melihat yang lain akan selalu mengarah pada kesimpulan yang salah.
Karena memahami faktor-faktor ini dan menghubungkan tema dengan menggunakan persamaan matematika untuk menghindari masalah overfitting dan masalah under-fitting adalah tugas yang sulit, lebih dari itu tergantung tugas, orang menggunakan metode sederhana untuk menemukan dan menghindari overfitting. Cara mudah adalah dengan membagi data menjadi tiga bagian berbeda, pelatihan, validasi, dan pengujian. Pengujian tidak boleh disentuh. Gunakan set pelatihan untuk melatih jaringan dan set validasi untuk menguji jaringan setelah setiap iterasi atau sejumlah iterasi. Secara teoritis, Anda akan melihat bahwa kesalahan pada set validasi berkurang secara bertahap untuk iterasi N pertama dan kemudian akan menjadi stabil untuk iterasi yang sangat sedikit dan kemudian mulai meningkat. Ketika kesalahan mulai meningkat, jaringan Anda mulai kelebihan data pelatihan dan proses pelatihan harus dihentikan.
Catatan: nilai N sangat terkait dengan tiga faktor yang saya sebutkan di atas. Itu selalu merupakan praktik yang baik untuk memiliki set pelatihan demo dan tes dengan model yang berbeda, data pelatihan. Anda akan melihat bahwa semakin besar model - semakin sedikit data pelatihan semakin kecil N. semakin kecil model - semakin banyak data pelatihan semakin besar N. Catatan: berhati-hatilah saat menggunakan model kecil yang memiliki masalah kurang pas.
sumber