Panduan untuk mengembangkan intuisi yang lebih dalam untuk kedua konsep ini

Bias dan varians adalah dua istilah paling mendasar dalam pemodelan statistik, dan juga pembelajaran mesin. Namun, pemahaman tentang bias dan varians dalam komunitas pembelajaran mesin agak kabur, sebagian karena banyak artikel yang ada mengenai subjek tersebut mencoba menghasilkan analogi singkat (“bias” = “underfit”, “variance” = “overfit”, diagram tepat sasaran ). Meskipun analogi ini bagus jika Anda ingin mendeskripsikan performa suatu model dengan cepat (“Model memiliki bias tinggi dan varians rendah”), saya menemukan bahwa analogi tersebut menghilangkan keindahan dan kekonkritan yang mendasari tradeoff bias-varians. Saya berharap dengan artikel ini, pembaca dapat memahami lebih dalam tentang bias dan varians dalam pemodelan statistik. Saya juga berharap mereka benar-benar dapat menggunakan bias dan varians untuk diterapkan pada situasi lain.

Pemodelan Statistik

Bias dan varians berasal dari bidang pembelajaran statistik. Pembelajaran statistik merupakan suatu bidang yang mencoba memberikan model pada data yang dikumpulkan sedemikian rupa sehingga (1) dapat diprediksi atau (2) dapat dipahami.

Contoh: Kumpulan data perumahan Boston yang sangat populer adalah kumpulan data yang dikumpulkan oleh Layanan Sensus AS pada tahun 1996. Data ini berisi beberapa variabel seperti tingkat kejahatan per kapita, jumlah kamar per hunian, proporsi bisnis non-ritel, dan nilai harga.

Jika Anda ingin membangun model harga rumah, Anda perlu menetapkan variabel lain sebagai prediktor model dan harga rumah sebagai variabel respon. Jika terdapat pprediktor berbeda X1, X2 ,…, Xp dan satu variabel respons Y , maka kita dapat mengasumsikan model Y dengan menggunakan X menjadi:

Pada persamaan ini, perhatikan bahwa selain fungsi f(X) yang tetap, ada juga suku lain ϵ dalam persamaan tersebut. Ini adalah istilah kesalahan. Istilah ini merupakan perbedaan antara nilai yang dimodelkan dan nilai sebenarnya dan dapat mewakili hal-hal seperti gangguan atau proses acak. Kesimpulan utamanya adalah ϵ tidak bergantung pada Xdan memiliki nilai rata-rata nol.

Di dunia nyata, jika kita mulai melakukan tugas pemodelan data ini, kemungkinan besar kita tidak akan mendapatkan akses ke semua titik data (pengumpulan semua titik data disebut “populasi”). Sebaliknya, kami hanya akan mendapatkan akses ke sejumlah titik data tertentu (ini disebut “sampel”). Di sini, kami memiliki sampel 50 titik data. Hal ini akan menjadi relevan dalam pembahasan kita tentang varians, karena pengambilan sampel ganda dari populasi yang sama akan menghasilkan model estimasi yang sedikit berbeda.

Untuk menyesuaikan model dengan kumpulan data ini, sebaiknya mulai dari yang sesederhana mungkin, lalu lanjutkan ke tingkat yang lebih kompleks. Di sini, saya akan menggunakan model polinomial pangkat n, dimulai dengan n=1 (regresi linier) kemudian meningkatkan nilai n hingga 10. Semua model adalah dipasang untuk meminimalkan nilai kesalahan kuadrat rata-rata.

Apa itu varians?

Sekarang, mari beralih ke bagian utama artikel ini: mengembangkan pemahaman tentang varians dan bias. Kita akan membahas varians terlebih dahulu karena lebih mudah dipahami. Sederhananya, tidak semua sampel sama. Jika dua sampel berbeda, kami menghasilkan model yang terlihat sedikit berbeda.

Di sini kami mengatakan bahwa kami mengubah parameter model. Pada gambar di atas, semua model merupakan polinomial orde ketiga dengan sebagai pangkat tertinggi. Setiap model dilatih pada sampel populasi yang sedikit berbeda.

Bayangkan kita mengulangi proses tersebut sebanyak 100 kali. Begini tampilannya.

Tujuan dari model kami adalah untuk menghasilkan prediksi. Menggunakan model untuk memprediksi nilai Ydari Xbaru akan menghasilkan hal berikut:

Beberapa model akan menghasilkan prediksi yang sangat bervariasi, namun beberapa model lainnya menghasilkan prediksi yang sangat konsisten. Kami mengukur konsistensi dengan menggunakan varians. Secara statistik, varians dari suatu prediksi model adalah rata-rata (atau ekspektasi) dari deviasi kuadrat untuk semua prediksi. Seperti yang dikatakan dalam Pengantar Pembelajaran Statistik:

Secara umum, metode statistik yang lebih fleksibel memiliki varians yang lebih tinggi.

Apa itu bias?

Setelah kami menghasilkan berbagai prediksi, kami juga ingin mempertimbangkan apa arti, atau nilai yang diharapkan, dari prediksi tersebut. Nilai rata-rata ini disebut nilai yang diharapkan dari semua prediksi. Bias mengacu pada seberapa besar perbedaan nilai yang diharapkan dari semua prediksi dengan nilai sebenarnya.

Dengan gambar ini, saya harap Anda memahami bagaimana bias dan varians diukur dan bagaimana keduanya dapat digunakan untuk mendeskripsikan model yang overfit atau underfit.

  • Dalam model regresi linier kita (n=1), rata-rata dari prediktor sangat berbeda dari nilai Yyang sebenarnya. Modelnya juga memiliki jangkauan luas. Jadi kita dapat mengatakan bahwa model regresi linier memiliki bias tinggi dan varians tinggi.
  • Pada model yang menggunakan n=7, mean dari prediktor sangat mendekati nilai Y sebenarnya. Namun, modelnya mempunyai jangkauan yang sangat luas. Kita dapat mengatakan bahwa model n=7 memiliki bias rendah namun varian tinggi.
  • Pada kedua model yang menggunakan n=2 dan n=3, varians dan biasnya sangat kecil. Tujuan pemodelan statistik adalah untuk menghasilkan dan menemukan model yang memiliki varian rendah dan bias rendah.

Pengorbanan bias-varians

Bagaimana kita tahu seberapa “benar” model kita dengan kenyataan? Baiklah, saya sudah memberi Anda petunjuk di bagian sebelumnya. Kita dapat menghitung kesalahan antara nilai prediksi dan nilai sebenarnya, lalu menjumlahkannya dan mengambil rata-ratanya. Tentu saja dengan cara inilah kita sampai pada bias dari sang prediktor. Namun, melakukan hal ini mungkin akan menjadi bumerang, karena jika biasnya 0, hal ini dapat berarti bahwa prediktor memprediksi semuanya dengan benar (tidak ada varians) atau bahwa prediktor memprediksi semuanya dengan salah tetapi hasilnya sama dengan nol (varians tinggi). Sebaliknya, kita menjumlahkan nilai absolut atau kuadrat kesalahannya. Kuadrat dari istilah kesalahan lebih disukai dalam banyak kasus karena mengarah pada implementasi yang lebih mudah dalam menemukan solusi. Kami menyebutnya mean squared error (MSE):

Jika Anda pernah mengikuti kursus statistik sebelumnya, Anda pasti tahu bahwa ini disebut juga nilai yang diharapkan dari kesalahan kuadrat. Nilai yang diharapkan memiliki beberapa properti yang dapat digunakan untuk menguraikan UMK. Anda harus mengerjakan dekomposisi jangka panjang yang diperoleh dari "Wikipedia" dan "postingan blog ini". Pada akhirnya, Anda harus mendapatkannya

Suku var(ϵ^2) disebut kesalahan yang tidak dapat direduksi. Ini menentukan nilai minimum MSE yang dapat dicapai dan, pada gilirannya, prediktornya.

Sebagai latihan, dapatkah Anda menghitung nilai kesalahan yang tidak dapat direduksi dengan mengetahui bahwa kesalahan tersebut berasal dari distribusi seragam [-10, 10]?

Dari dekomposisi ini terlihat jelas bahwa UMK ditentukan oleh jumlah dan bias dari prediktornya. Jika kita memplot MSE, varians, dan istilah bias secara keseluruhan untuk model dengan kompleksitas yang semakin meningkat, kita akan mengamati nilai bentuk U untuk MSE tersebut. Memilih model yang tepat memerlukan pemilihan model yang memiliki jumlah varian dan bias yang sesuai.

Itulah biasnya - tradeoff varians. Dalam hal ini, UMK terendah berada pada n=3. Kita dapat mengatakan bahwa polinomial orde ketiga merupakan model terbaik dari populasi sebenarnya.

Pertanyaan:Apa yang akan terjadi pada bias dan varians suatu prediktor jika saya menambah jumlah data pelatihan?

Jawaban: Berpikirlah secara intuitif, Anda akan melihat bahwa dengan mengambil sampel lebih banyak titik data, model prediksi yang dihasilkan akan lebih stabil. Oleh karena itu, prediktor akan memiliki varian yang lebih rendah seiring dengan bertambahnya data pelatihan. Namun biasnya akan tetap sama. Hal ini karena biasnya mendekati rata-rata berapa pun jumlah sampelnya. Pada kenyataannya, jika Anda memiliki terlalu sedikit titik data untuk pelatihan, jumlah titik data juga akan mempengaruhi bias karena lebih banyak titik data akan membuat estimator lebih cocok.

Pertanyaan:Apa yang akan terjadi pada bias dan varians jika saya menambahkan suku konstan ke model saya?

Jawab: Varians hanya mengukur penyebaran prediksi. Jika saya menambahkan suku konstan, spreadnya akan tetap sama sehingga variansnya akan tetap sama. Sebaliknya, biasnya akan berubah ke arah suku konstan.

Aplikasi

Saat ini, saya harap Anda mengembangkan intuisi tentang bias dan varians. Lebih khusus lagi, alasan mengapa mereka sering digunakan untuk mendeskripsikan model. Namun, Anda mungkin bertanya-tanya apakah itu hanya kata-kata untuk mendeskripsikan model tanpa kepentingan teoritis atau praktis yang sebenarnya. Di sini, saya akan memandu Anda dalam menerapkan bias dan varians pada validasi silang.

Validasi silang

Validasi silang adalah salah satu metode paling umum untuk menilai performa model Anda. Biasanya, untuk mengukur performa model, Anda akan membagi data menjadi set pelatihan dan set validasi, memperbarui parameter model menggunakan set pelatihan, lalu membuat penilaian pada set validasi. Namun, jika kumpulan data asli tidak cukup besar, Anda dapat melatih model berulang kali pada subkumpulan data asli yang berbeda dan lebih kecil. Penilaian akhir model akan merupakan kombinasi dari semua penilaian menggunakan set validasi yang berbeda. Dengan melihat proses pengambilan sampel, Anda langsung dapat melihat bagaimana kaitannya dengan aspek varians dari prediktor. Tujuan kami adalah menemukan model dengan MSE terendah pada nilai pengujian baru, jadi bisakah validasi silang melakukan hal ini?

Pertama, mari kita pertimbangkan validasi silang keluar-satu-keluar (LOOCV). Di LOOCV, set pengujian hanya memiliki satu sampel, dan set pelatihan memiliki sisanya. Model dilatih berulang kali n−1 kali, dengan nadalah jumlah titik data dalam kumpulan data. Penilaian akhir merupakan rata-rata dari seluruh pelatihan.

Anda dapat segera melihat keunggulan LOOCV dibandingkan pemisahan uji kereta sederhana tanpa validasi silang. Jika sampel data yang ada cukup baik, pengambilan sampel berulang pada set pelatihan serupa dengan pengambilan sampel berulang pada populasi sebenarnya. Namun ada satu peringatan kecil. Saat LOOCV dijalankan, semua sampel pelatihan akan mengalami tumpang tindih yang sangat besar. Tumpang tindih yang besar ini dapat menghasilkan varian model yang tinggi.

Untuk mengurangi varians, metode validasi silang lain yang disebut validasi silang k-fold dapat digunakan. Dalam validasi k-fold cross, sampel dibagi menjadi k bagian yang sama. Set pengujian adalah satu bagian, dan set pelatihan adalah bagian lainnya. Model dilatih berulang kali sebanyak k kali, setiap kali dengan bagian berbeda untuk pengujian. Dibandingkan dengan LOOCV, validasi k-fold dapat menghasilkan model dengan varians yang lebih rendah, namun memiliki bias yang lebih tinggi.

Seberapa baik validasi silang dalam memilih model terbaik? Di sini, kita akan mencoba mencari pangkat polinomial terbaik menggunakan validasi K-fold cross (K=10). LOOCV menghasilkan nilai terbaik sebesar 6 dan K-fold menghasilkan nilai terbaik sebesar 3. Jika kita tidak ingin model kita overfit dengan sampel pelatihan, kita dapat menggunakan model yang lebih sederhana dengan n=3.

Kesimpulan

Saya harap artikel ini akan membantu Anda memahami lebih banyak tentang intuisi di balik dekomposisi bias dan varians. Mulai sekarang, ketika memikirkan tentang bias dan varians suatu model, Anda tidak perlu lagi memikirkan analogi seperti papan dart, melainkan dapat mengerjakan langsung dari prinsip pertama.

Jika Anda ingin bermain-main dengan menghasilkan angka, ini adalah kode sumbernya. Selamat bersenang-senang!

Semua gambar kecuali dinyatakan lain adalah oleh penulis. Semua data dihasilkan oleh penulis.

Referensi

James, Gareth, dkk. Pengantar pembelajaran statistik. Jil. 112. New York: peloncat, 2013.