
Pengarang: Akash Dawari
Awalnya diterbitkan di Towards AI the World’s Leading AI and Technology News and Media Company. Jika Anda sedang membangun produk atau layanan terkait AI, kami mengundang Anda untuk mempertimbangkan untuk menjadi sponsor AI. Di Towards AI, kami membantu menskalakan AI dan startup teknologi. Biarkan kami membantu Anda melepaskan teknologi Anda kepada massa.
Pada artikel ini, kita akan memahami konsep overfitting sehubungan dengan domain pembelajaran mesin dengan menjawab pertanyaan berikut:
Apa itu Bias dan Varians? Apa itu Overfitting? Apa alasan untuk Overfitting? Bagaimana kita bisa memecahkan masalah overfitting?
Apa itu Bias dan Varians?
Bias:
Bias adalah ukuran ketidakmampuan model untuk menangkap hubungan yang benar antara variabel dependen dan independen. Dengan kata yang lebih sederhana, bias adalah perbedaan antara nilai aktual dan prediksi kita.
Bias Tinggi: Ini berarti ketika model tidak dapat menangkap hubungan yang relevan antara variabel dependen dan independen, yang menyebabkan hasil prediksi yang buruk pada data pelatihan itu sendiri.
Bais Rendah: Ini berarti ketika model memasukkan lebih sedikit asumsi tentang variabel dependen. Dengan kata sederhana, ketika model sedang meng-cramp data pelatihan.
Perbedaan:
Varians adalah pengukuran seberapa besar estimasi fungsi target akan berubah jika titik data berbeda. Varians adalah kebalikan dari Bias.
Varians Tinggi: Ini berarti model berkinerja baik selama data pelatihan karena telah melihat variabel dependen, tetapi ketika kami memperkenalkan titik data baru, model berperforma buruk.
Varians Rendah: Ini berarti model berkinerja baik saat kami memperkenalkan titik data baru, karena model mungkin menggunakan fungsi prediksi yang lebih umum untuk memprediksi.
Saat kami memahami bias dan varians, idealnya, untuk model pembelajaran mesin yang baik, kami ingin mencapai bias rendah dan varians rendah. Tapi ini jauh lebih sulit untuk dicapai karena ada trade-off antara bias dan varians.
Trade-Off antara bias dan varians:
Hubungan antara bias dan varians berbanding terbalik artinya ketika kita mencoba untuk mengurangi bias, varians secara otomatis akan meningkat dan sebaliknya. Fenomena ini menyebabkan dua masalah besar yang pertama adalah underfitting, dan yang kedua adalah overfitting yang menjadi topik utama artikel ini.
Apa itu Overfitting?
Overfitting
Overfitting adalah masalah, atau bisa dibilang tantangan yang kita hadapi selama pelatihan model. Ini terjadi ketika model memberikan bias yang sangat rendah dan varians yang sangat tinggi. Mari kita pahami dengan kata-kata yang lebih sederhana, overfitting terjadi ketika model kita mengeram data pelatihan dengan sangat baik sehingga dilatih untuk mengatasi noise dan entri data yang tidak akurat dalam kumpulan data kita juga, yang memberikan akurasi tinggi dan kehilangan yang rendah pada kumpulan data pelatihan (ideal kasus Bias Rendah). Dan ketika kami memperkenalkan model yang sama dengan data uji baru, itu menghasilkan akurasi yang sangat buruk dan kerugian yang sangat tinggi (kasus Varians Tinggi yang ideal).
Overfitting tidak baik untuk model pembelajaran mesin apa pun karena tujuan akhir mesin adalah untuk memprediksi skenario baru yang akan datang yang belum pernah dilihat sebelumnya. Tapi overfitting menyebabkan model untuk memprediksi sangat buruk pada titik data baru. Jadi, kita harus memahami penyebab yang membuat model tersebut overfitting terhadap data latih.
Apa alasan untuk Overfitting?
1. Data berisik atau data tidak akurat
Jika kita melatih model kita pada data yang bising atau data yang tidak akurat, maka model tersebut dapat memberikan hasil yang baik pada data tersebut dan juga memiliki bias yang rendah. Tetapi jika kita kembali memperkenalkan data baru yang tidak terlihat ke model untuk diprediksi, maka itu dapat menurunkan akurasi dan meningkatkan varians.
Seperti yang dapat kita amati pada gambar di atas, dalam data pelatihan, ada beberapa titik data yang berisik, dan karena kecenderungan model yang terlalu pas, ia mencoba untuk menyesuaikan titik-titik itu. Tetapi ketika kami mengujinya dengan data uji, maka garis merah cocok dengan data dengan benar.
2. Ukuran data pelatihan yang rendah
Overfitting disebabkan oleh ukuran data. Kami tahu bahwa semakin banyak data yang akan dipelajari model, maka kami mencoba memberikan prediksi yang lebih baik. Jika data pelatihan rendah, maka model tidak akan bisa mengeksplorasi semua skenario atau kemungkinan. Hal ini membuat model hanya cocok dengan data yang diberikan, tetapi ketika kita memperkenalkannya dengan data yang tidak terlihat, maka akurasi prediksi akan turun, dan juga variansnya akan meningkat.
3. Kompleksitas model
Overfitting juga disebabkan oleh kompleksitas fungsi prediksi yang dibentuk oleh model untuk memprediksi hasil. Model yang lebih kompleks akan cenderung lebih cocok dengan data. maka bias akan rendah, dan varians akan semakin tinggi.
Pohon Keputusan yang Tumbuh Sepenuhnya
gambar di atas menunjukkan batas keputusan yang dihasilkan oleh pohon keputusan yang tumbuh sepenuhnya. Seperti yang bisa kita lihat, batasannya tidak terlalu mulus, dan jelas menunjukkan overfitting karena pohon keputusan sangat kompleks.
Bagaimana kita bisa memecahkan masalah overfitting?
1. Meningkatkan ukuran data Pelatihan
Seperti yang kita bahas di atas, data pelatihan yang rendah menyebabkan overfitting karena model tidak dapat mengeksplorasi semua kemungkinan. Jadi, dengan meningkatkan ukuran data pelatihan akan membantu mengurangi masalah overfitting.
2. Bersihkan data sebanyak yang Anda bisa
Kami selalu harus membersihkan dan memproses data sebelum pelatihan. Pembersihan mengacu pada penghapusan outlier dari data, penanganan multikolinearitas antara variabel independen, penanganan nilai yang hilang, dll.
3. Menggunakan metode Regularisasi
Regularisasi adalah teknik yang digunakan untuk membatasi pembelajaran model pembelajaran mesin dengan memperkenalkan beberapa istilah penalti dalam fungsi biaya. Ini membantu untuk menggeneralisasi fungsi model secara keseluruhan dan karenanya mengurangi masalah overfitting.
Ada tiga jenis metode Regularisasi:
L1 Regularisasi L2 Regularisasi Regularisasi bersih elastis
Regularisasi L1: Disebut juga Regularisasi LASSO. Itu singkatan dari Least Absolute dan Operator Seleksi. Kita dapat menghitungnya dengan mengalikan dengan lambda bobot masing-masing fitur. Istilah ini akan ditambahkan ke fungsi biaya.
Persamaan untuk fungsi biaya dalam regresi ridge adalah:
Regularisasi L2: Disebut juga Regularisasi Ridge. Kita dapat menghitungnya dengan mengalikan lambda dengan bobot kuadrat dari setiap fitur individual. Istilah ini akan ditambahkan ke fungsi biaya.
Persamaan untuk fungsi biaya dalam regresi ridge adalah:
Regularisasi bersih elastis: Regularisasi ini tidak lain adalah menggabungkan banyak suku L1 dan L2 ke fungsi biaya. Persamaan untuk fungsi biaya dalam regresi ridge adalah:
4. Penyetelan Hyperparameter
Kami juga dapat memecahkan masalah overfitting hanya dengan memutar hyperparameter dari model masing-masing. Misalnya, Decision Tree paling sering menghadapi masalah overfitting. Jadi, jika kita menggunakan hyperparameter berbeda yang disediakan oleh model seperti membatasi kedalaman pohon atau membatasi simpul anak pohon, dll.
Dalam kasus Deep Neural Networks, kita dapat menggunakan teknik seperti penghentian dini dan putus sekolah untuk mengatasi Overfitting.
5. Mengadopsi Teknik Ensemble
Teknik Ensemble membantu mengurangi bias dan Varians, sehingga mengurangi masalah overfitting. Jika Anda ingin mempelajari lebih lanjut tentang teknik ensemble, silakan klik tautan di bawah ini.
Semua Tentang Teknik Ensemble
Like dan Share jika menurut Anda artikel ini bermanfaat. Juga, ikuti saya di media untuk lebih banyak konten yang terkait dengan Pembelajaran Mesin dan Pembelajaran Mendalam.
Overfitting: Causes and Remedies awalnya diterbitkan di Towards AI on Medium, di mana orang-orang melanjutkan percakapan dengan menyoroti dan menanggapi cerita ini.
Diterbitkan melalui Menuju AI