Apa itu Overfitting dalam Pembelajaran Mesin dan Bagaimana Mengelakkannya?



Artikel ini merangkumi Overfitting dalam Pembelajaran Mesin dengan contoh dan beberapa teknik yang harus dihindari, mengesan Overfitting dalam model pembelajaran Mesin.

Membangun model Pembelajaran Mesin bukan hanya untuk memberi makan data, ada banyak kekurangan yang mempengaruhi ketepatan model mana pun. Kelewatan masuk adalah salah satu kekurangan dalam Pembelajaran Mesin yang menghalang ketepatan dan juga prestasi model. Topik berikut dibahas dalam artikel ini:

Apa itu Overfitting Dalam Pembelajaran Mesin?

Model statistik dikatakan berlebihan apabila kita memberikannya lebih banyak data daripada yang diperlukan. Untuk membuatnya sesuai, bayangkan cuba masuk ke dalam pakaian yang besar.





Apabila model sesuai dengan lebih banyak data daripada yang sebenarnya diperlukan, ia mula menangkap data yang bising dan nilai yang tidak tepat dalam data. Akibatnya, kecekapan dan ketepatan model menurun. Mari kita lihat beberapa contoh overfitting untuk memahami bagaimana ia sebenarnya berlaku.



Contoh Overfitting

Contoh 1

Sekiranya kita mengambil contoh sederhana regresi linear , melatih data adalah mencari tahu kos minimum antara garis paling sesuai dan titik data. Ia melalui beberapa lelaran untuk mengetahui kesesuaian paling optimum, meminimumkan kos. Di sinilah overfitting masuk ke dalam gambar.



Garis yang dilihat pada gambar di atas dapat memberikan hasil yang sangat efisien untuk titik data baru. Sekiranya berlaku overfitting, ketika kami menjalankan algoritma latihan pada set data, kami membiarkan kos dikurangkan dengan setiap bilangan lelaran.

Menjalankan ini terlalu lama akan bermaksud pengurangan kos tetapi ia juga sesuai dengan data bising dari kumpulan data. Hasilnya akan kelihatan seperti pada grafik di bawah.

Ini mungkin kelihatan cekap tetapi sebenarnya tidak. Matlamat utama algoritma seperti regresi linear adalah untuk mencari arah aliran yang dominan dan sesuai dengan titik data. Tetapi dalam kes ini, garis sesuai dengan semua titik data, yang tidak relevan dengan kecekapan model dalam meramalkan hasil yang optimum untuk titik data kemasukan baru.

Sekarang mari kita pertimbangkan contoh yang lebih deskriptif dengan bantuan penyataan masalah.

Contoh 2

Pernyataan masalah: Mari kita pertimbangkan bahawa kita ingin meramalkan apakah pemain bola sepak akan mendapat slot di kelab bola sepak peringkat 1 berdasarkan prestasi semasa di liga peringkat 2.

Sekarang bayangkan, kita melatih dan menyesuaikan model dengan 10,000 pemain seperti itu dengan hasil. Apabila kita cuba meramalkan hasil pada set data asal, katakan kita mendapat ketepatan 99%. Tetapi ketepatan pada set data yang berbeza datang sekitar 50 persen. Ini bermaksud model tidak membuat generalisasi dengan baik dari data latihan kami dan data yang tidak dapat dilihat.

Ini seperti penampilan overfitting. Ini adalah masalah yang sangat biasa dalam Pembelajaran Mesin dan juga sains data. Sekarang mari kita memahami isyarat dan bunyi.

Isyarat vs Bunyi

Dalam pemodelan ramalan, isyarat merujuk kepada corak asas yang sebenarnya yang membantu model mempelajari data. Sebaliknya, kebisingan tidak relevan dan data rawak dalam kumpulan data. Untuk memahami konsep bunyi dan isyarat, mari kita ambil contoh kehidupan sebenar.

Anggaplah kita mahu memodelkan usia berbanding literasi di kalangan orang dewasa. Sekiranya kita mengambil sampel sebahagian besar populasi, kita akan menjumpai hubungan yang jelas. Ini adalah isyarat, sedangkan bunyi mengganggu isyarat. Sekiranya kita melakukan perkara yang sama pada penduduk tempatan, hubungan itu akan menjadi keruh. Ini akan dipengaruhi oleh orang luar dan keserakahan, misalnya, seorang dewasa pergi ke sekolah lebih awal atau beberapa orang dewasa tidak dapat memperoleh pendidikan, dll.

Bercakap tentang bunyi dan isyarat dari segi Pembelajaran Mesin, algoritma Pembelajaran Mesin yang baik secara automatik akan memisahkan isyarat dari bunyi. Sekiranya algoritma terlalu rumit atau tidak cekap, ia juga dapat mengetahui kebisingan. Oleh itu, overfitting model. Mari kita juga memahami kekurangan dalam Pembelajaran Mesin.

Apa itu Underfitting?

Untuk mengelakkan overfitting, kami dapat menghentikan latihan pada tahap lebih awal. Tetapi mungkin juga menyebabkan model tidak dapat belajar cukup banyak dari data latihan, sehingga mungkin sukar untuk menangkap tren yang dominan. Ini dikenali sebagai underfitting. Hasilnya sama dengan overfitting, ketidakcekapan dalam meramalkan hasil.

Sekarang setelah kita memahami apa sebenarnya kekurangan dan kelebihan dalam Pembelajaran Mesin, mari kita cuba memahami bagaimana kita dapat mengesan overfitting dalam Pembelajaran Mesin.

Bagaimana Mengesan Overfitting?

Cabaran utama dengan overfitting adalah mengira ketepatan prestasi model kami dengan data baru. Kami tidak dapat mengira ketepatannya sehingga kami benar-benar mengujinya.

Untuk mengatasi masalah ini, kita dapat membagi kumpulan data awal menjadi set data latihan dan ujian yang terpisah. Dengan teknik ini, kita sebenarnya dapat mengira seberapa baik prestasi model kita dengan data baru.

Mari kita fahami ini dengan contoh, bayangkan kita mendapat ketepatan 90+ peratus pada set latihan dan 50 peratus ketepatan pada set ujian. Kemudian, secara automatik ia akan menjadi bendera merah untuk model tersebut.

Kaedah lain untuk mengesan overfitting adalah untuk memulakan dengan model sederhana yang akan berfungsi sebagai penanda aras.

Dengan pendekatan ini, jika anda mencuba algoritma yang lebih kompleks, anda akan dapat memahami apakah kerumitan tambahan itu bermanfaat untuk model tersebut atau tidak. Ia juga dikenali sebagai Uji cukur Occam , pada dasarnya memilih model sederhana sekiranya prestasi setanding jika berlaku dua model. Walaupun mengesan overfitting adalah amalan yang baik,tetapi ada beberapa teknik untuk mencegah overfitting juga. Mari kita perhatikan bagaimana kita dapat mencegah overfitting dalam Pembelajaran Mesin.

Bagaimana Mengelakkan Terlalu Banyak Dalam Pembelajaran Mesin?

Terdapat beberapa teknik untuk mengelakkan overfitting dalam Pembelajaran Mesin sama sekali disenaraikan di bawah.

  1. Pengesahan bersilang

  2. Latihan Dengan Lebih Banyak Data

  3. Membuang Ciri

  4. Berhenti Awal

  5. Pengaturan semula

  6. Berkumpul

1. Pengesahan Silang

Salah satu ciri paling kuat untuk mengelakkan / mencegah overfitting adalah pengesahan silang. Idea di sebalik ini adalah menggunakan data latihan awal untuk menghasilkan split-test mini-train, dan kemudian menggunakan split ini untuk menyesuaikan model anda.

Dalam pengesahan k-lipatan standard, data dipartisi menjadi k-subset yang juga dikenali sebagai lipatan. Selepas ini, algoritma dilatih secara berulang pada lipatan k-1 sambil menggunakan lipatan yang tinggal sebagai set ujian, juga dikenali sebagai lipatan penahan.

Pengesahan silang membantu kita untuk menyesuaikan hiperparameter dengan hanya set latihan yang asal. Ini pada dasarnya menjadikan set ujian secara berasingan sebagai set data nyata yang tidak dapat dilihat untuk memilih model akhir. Oleh itu, mengelakkan sama sekali berlebihan.

2. Latihan Dengan Lebih Banyak Data

Teknik ini mungkin tidak berfungsi setiap masa, seperti yang telah kita bincangkan dalam contoh di atas, di mana latihan dengan jumlah penduduk yang banyak membantu model. Ini pada dasarnya membantu model dalam mengenal pasti isyarat dengan lebih baik.

Tetapi dalam beberapa kes, peningkatan data juga dapat berarti memberi lebih banyak suara pada model. Semasa kita melatih model dengan lebih banyak data, kita harus memastikan datanya bersih dan bebas dari rawak dan tidak konsisten.

3. Membuang Ciri

Walaupun beberapa algoritma mempunyai pilihan ciri automatik. Bagi sebilangan besar mereka yang tidak mempunyai pilihan ciri bawaan, kami dapat menghapus beberapa ciri yang tidak relevan dari ciri input secara manual untuk meningkatkan generalisasi.

Salah satu cara untuk melakukannya adalah dengan membuat kesimpulan bagaimana ciri sesuai dengan model. Ia serupa dengan menyahpepijat kod baris demi baris.

Sekiranya ciri tidak dapat menjelaskan relevansi dalam model, kita hanya dapat mengenal pasti ciri tersebut. Kami bahkan boleh menggunakan beberapa heuristik pemilihan ciri untuk titik permulaan yang baik.

4. Berhenti Awal

Semasa model dilatih, anda sebenarnya dapat mengukur seberapa baik prestasi model berdasarkan setiap lelaran. Kami dapat melakukannya sehingga titik iterasi meningkatkan prestasi model. Selepas ini, model tersebut melengkapkan data latihan kerana generalisasi semakin lemah setelah setiap lelaran.

Jadi pada dasarnya, berhenti awal bermaksud menghentikan proses latihan sebelum model melepasi titik di mana model mula melampaui data latihan. Teknik ini kebanyakannya digunakan dalam pembelajaran mendalam .

5. Pengaturan semula

Ini secara asasnya bermaksud, memaksa model anda menjadi lebih sederhana dengan menggunakan pelbagai teknik. Itu bergantung sepenuhnya pada jenis pelajar yang kita gunakan. Sebagai contoh, kita dapat memangkas a , gunakan putus sekolah pada rangkaian neural atau tambahkan parameter penalti ke fungsi biaya dalam regresi.

Selalunya, pengaturcaraan adalah hiperparameter juga. Ia bermaksud ia juga dapat diselaraskan melalui pengesahan silang.

6. Pemasangan

Teknik ini pada dasarnya menggabungkan ramalan dari model Pembelajaran Mesin yang berbeza. Dua kaedah yang paling biasa untuk ensembling disenaraikan di bawah:

  • Bagging berupaya mengurangkan kemungkinan kelebihan model

  • Meningkatkan usaha untuk meningkatkan fleksibiliti ramalan model yang lebih sederhana

Walaupun kedua-duanya merupakan kaedah ensemble, pendekatannya sepenuhnya bermula dari arah yang bertentangan. Bagging menggunakan model asas yang rumit dan cuba melicinkan ramalannya sambil meningkatkan menggunakan model asas yang sederhana dan cuba meningkatkan kerumitan agregatnya.

Apakah Kebaikan Sesuai?

Dalam pemodelan statistik, kebaikan sesuai merujuk kepada seberapa dekat hasil atau nilai ramalan sesuai dengan nilai yang diperhatikan atau benar.Model yang telah mengetahui bunyi bising dan bukannya isyarat yang berlebihan kerana akan sesuai dengan set data latihan tetapi akan mempunyai kecekapan yang lebih buruk dengan set data baru.

Pertukaran Antara Bias Dan Varians

Kedua-dua varians dan bias adalah bentuk kesalahan ramalan di . Pertukaran antara varian tinggi dan bias tinggi adalah konsep yang sangat penting dalam statistik dan Pembelajaran Mesin. Ini adalah satu konsep yang mempengaruhi semua algoritma Pembelajaran Mesin yang diselia.

Pengimbuhan bias-varians mempunyai kesan yang sangat signifikan dalam menentukan kerumitan, kekurangan, dan kelebihan untuk setiap model Pembelajaran Mesin.

Berat sebelah

Ia tidak lain hanyalah perbezaan antara nilai yang diramalkan dan nilai sebenar atau benar dalam model. Model tidak selalu mudah untuk belajar daripada isyarat yang agak kompleks.

Mari kita bayangkan sesuai a regresi linear kepada model dengan data tidak linear. Tidak kira seberapa cekap model mempelajari pemerhatian, model tidak akan melengkung dengan cekap. Ia dikenali sebagai underfitting.

Varians

Ini merujuk kepada kepekaan model terhadap set tertentu dalam data latihan. Algoritma varians tinggi akan menghasilkan model pelik yang berbeza secara drastik dari set latihan.

Bayangkan algoritma yang sesuai dengan model yang tidak terkawal dan fleksibel, ia juga akan belajar dari kebisingan dalam set latihan yang menyebabkan overfitting.

Penggantian Bias-Varians

cara mengatur classpath di linux

Algoritma Pembelajaran Mesin tidak dapat dianggap sebagai kaedah satu kali untuk melatih model, sebaliknya, ia adalah proses berulang.

Algoritma varian rendah-bias rendah kurang kompleks, dengan struktur sederhana dan kaku.

  • Mereka akan melatih model yang konsisten, tetapi rata-rata tidak tepat.

  • Ini termasuk algoritma linear atau parametrik, seperti regresi, , dan lain-lain.

Algoritma varian rendah-bias tinggi cenderung lebih kompleks, dengan struktur yang fleksibel.

  • Mereka akan melatih model yang rata-rata tidak konsisten tetapi tepat.

  • Ini merangkumi algoritma bukan linear atau bukan parametrik seperti , , dan lain-lain.

Ini membawa kita ke akhir artikel ini di mana kita telah belajar Overfitting dalam pembelajaran Mesin dan tentang pelbagai teknik untuk menghindarinya. Saya harap anda jelas dengan semua yang telah dikongsi dengan anda dalam tutorial ini.

Jika anda menganggap artikel ini mengenai 'Overfitting In Machine Learning' relevan, lihat syarikat pembelajaran dalam talian yang dipercayai dengan rangkaian lebih daripada 250,000 pelajar berpuas hati yang tersebar di seluruh dunia.

Kami di sini untuk membantu anda dalam setiap langkah dalam perjalanan anda dan menyediakan kurikulum yang dirancang untuk pelajar dan profesional yang ingin menjadi . Kursus ini dirancang untuk memberi anda permulaan dalam pengaturcaraan Python dan melatih anda untuk konsep Python teras dan maju bersama dengan pelbagai suka , , dan lain-lain.

Sekiranya anda menjumpai sebarang pertanyaan, silakan ajukan semua pertanyaan anda di bahagian komen 'Overfitting In Machine Learning' dan pasukan kami dengan senang hati akan menjawabnya.