Bonferroni Koreksi & pembelajaran mesin


9

Dalam studi psikologi saya belajar bahwa kita harus menggunakan metode Bonferroni untuk menyesuaikan tingkat signifikansi ketika menguji beberapa hipotesis pada satu dataset.

Saat ini saya sedang bekerja dengan metode pembelajaran mesin seperti Support Vector Machines atau Random Forest untuk klasifikasi. Di sini saya memiliki satu set data yang digunakan dalam crossvalidation untuk menemukan parameter terbaik (seperti parameter kernel untuk SVM) menghasilkan akurasi terbaik.

Intuisi saya mengatakan (dan mungkin benar-benar mati) bahwa itu adalah masalah yang serupa. Jika saya menguji terlalu banyak kemungkinan kombinasi parameter, kemungkinan besar saya menemukan satu yang menghasilkan hasil yang bagus. Namun ini bisa jadi hanya kebetulan.

Singkatnya pertanyaan saya:

Dalam pembelajaran mesin kami menggunakan crossvalidation untuk menemukan parameter yang tepat dari classifier. Semakin banyak kombinasi parameter yang kami gunakan, semakin tinggi peluang untuk menemukan yang hebat secara tidak sengaja (overfitting?). Apakah konsep yang ada di balik koreksi bonferroni juga berlaku di sini? Apakah ini masalah yang berbeda? Jika demikian, mengapa?


3
Ya, ini adalah masalah yang sama, kadang-kadang disebut "pengerukan data."
dsaxton

5
Anda harus menyiksa data sampai mengaku
Soren Havelund Welling

Jawaban:


5

Ada tingkat di mana apa yang Anda bicarakan dengan koreksi p-value terkait, tetapi ada beberapa detail yang membuat kedua kasus tersebut sangat berbeda. Yang besar adalah bahwa dalam pemilihan parameter tidak ada independensi dalam parameter yang Anda evaluasi atau dalam data yang Anda evaluasi. Untuk memudahkan diskusi, saya akan memilih k dalam model regresi K-Nearest-Neighbors sebagai contoh, tetapi konsepnya juga digeneralisasikan ke model lain.

Katakanlah kita memiliki contoh validasi V yang kami prediksi untuk mendapatkan akurasi model dalam untuk berbagai nilai k dalam sampel kami. Untuk melakukan ini kita temukan k = 1, ..., n nilai terdekat dalam set pelatihan yang akan kita definisikan sebagai T 1 , ..., T n . Untuk nilai pertama kami k = 1 kami prediksi P1 1 akan sama T 1 , untuk k = 2 , prediksi P 2 akan (T 1 + T 2 ) / 2 atau P 1 /2 + T 2 /2 , untukk = 3 akan (T 1 + T 2 + T 3 ) / 3 atau P 2 * 2/3 + T 3 /3 . Bahkan untuk nilai k apa pun kita dapat mendefinisikan prediksi P k = P k-1 (k-1) / k + T k / k . Kami melihat bahwa prediksi tersebut tidak independen satu sama lain sehingga oleh karena itu akurasi prediksi juga tidak. Faktanya, kita melihat bahwa nilai prediksi mendekati rata-rata sampel. Akibatnya, dalam kebanyakan kasus menguji nilai k = 1:20 akan memilih nilai k yang sama seperti pengujian k = 1: 10.000 kecuali kecocokan terbaik yang bisa Anda peroleh dari model Anda hanyalah rata-rata dari data tersebut.

Inilah sebabnya mengapa boleh menguji sekelompok parameter berbeda pada data Anda tanpa terlalu khawatir tentang pengujian hipotesis berganda. Karena dampak dari parameter pada prediksi tidak acak, akurasi prediksi Anda jauh lebih kecil kemungkinannya untuk mendapatkan kecocokan yang baik hanya karena kebetulan. Anda memang masih perlu khawatir tentang terlalu pas, tetapi itu adalah masalah yang terpisah dari pengujian hipotesis berganda.

Untuk memperjelas perbedaan antara pengujian hipotesis berganda dan over fitting, kali ini kita akan membayangkan membuat model linier. Jika kita berulang kali menguji ulang data untuk membuat model linier kami (beberapa garis di bawah) dan mengevaluasinya, pada pengujian data (titik-titik gelap), secara kebetulan salah satu garis akan membuat model yang baik (garis merah). Ini bukan karena itu benar-benar menjadi model yang hebat, tetapi bahwa jika Anda cukup sampel data, beberapa bagian akan bekerja. Yang penting untuk dicatat di sini adalah bahwa akurasi terlihat bagus pada data pengujian yang diulurkan karena semua model yang diuji. Faktanya karena kita memilih model "terbaik" berdasarkan data pengujian, model tersebut mungkin benar-benar cocok dengan data pengujian lebih baik daripada data pelatihan.pengujian hipotesis berganda

Sebaliknya pemasangan yang berlebihan adalah ketika Anda membangun model tunggal, tetapi memutarbalikkan parameter untuk memungkinkan model agar sesuai dengan data pelatihan di luar apa yang dapat digeneralisasi. Pada contoh di bawah ini model (garis) sangat cocok dengan data pelatihan (lingkaran kosong) tetapi ketika dievaluasi pada data pengujian (lingkaran diisi) kesesuaiannya jauh lebih buruk.overfitting


Argumen yang bagus untuk situasi khusus ini dalam memilih k
Soren Havelund Welling

Ini tidak khusus untuk K-Nearest-Neighbors, saya hanya memilih model itu karena matematika lebih mudah dilihat. Dalam setiap model, kesalahan validasi yang dihasilkan oleh rentang parameter (yang merupakan lintas-validasi adalah tentang) tidak independen satu sama lain. Ini berarti bahwa gagasan koreksi Bonferroni yang berupaya untuk mengoreksi nilai-p dalam beberapa pengujian sampel independen tidak berlaku.
Barker

Dalam kasus melakukan pencarian grid besar dengan banyak kombinasi parameter hiper, model yang sedikit lebih pas kemungkinan besar akan keluar terbaik, yang didefinisikan oleh beberapa fungsi residual residu kuadrat, pada saat itu menjelaskan validasi diatur dengan baik + beruntung . Model yang sedikit lebih teratur tidak mungkin seberuntung karena bias. Tidak seperti kNN, beberapa model sebagai pohon keputusan, dapat menghasilkan kecocokan yang sangat berbeda dengan perubahan kecil pada parameter hiper, dan jika menguji banyak pohon yang berbeda ... Oleh karena itu model yang lebih pas dan pengujian beberapa parameter dapat dikaitkan dalam praktiknya.
Soren Havelund Welling

Model pohon keputusan yang mendapatkan hasil yang sangat berbeda berdasarkan perubahan parameter kecil umumnya menunjukkan bahwa model tersebut tidak stabil dan bahwa pilihan benih acak yang berbeda dapat sama baiknya untuk dipersalahkan sebagai parameter itu sendiri. Saya akan menganggap ini lebih sebagai masalah stabilitas daripada fit per say.
Barker

Persis. Untuk banyak model algoritma untuk data yang diberikan mengatur berbagai pengaturan parameter menghasilkan model yang tidak stabil. Sebagian kecil dari model yang tidak stabil ini cenderung mendapatkan skor prediksi yang lebih baik pada satu set validasi tertentu, daripada model yang diatur secara wajar. Inilah sebabnya mengapa Anda harus mempertimbangkan implikasi dari beberapa pengujian dalam pembelajaran mesin juga, dan tidak bisa hanya mengandalkan kesimpulan dari contoh kNN, di mana itu tidak banyak masalah.
Soren Havelund Welling

3

Saya setuju dengan Barker untuk beberapa perluasan, namun pemilihan model tidak hanya kNN . Anda harus menggunakan skema validasi silang, dengan validasi dan set tes. Anda menggunakan set validasi untuk pemilihan model dan set tes untuk estimasi akhir kesalahan model. Ini bisa berupa k-fold CV atau split sederhana dari data pelatihan. Kinerja yang diukur oleh set validasi model berkinerja terbaik akan menjadi bias, karena Anda memilih model yang berkinerja terbaik. Performa terukur dari set tes tidak bias, karena Anda jujur hanya menguji satu model. Kapan pun Anda ragu, bungkus seluruh pemrosesan data dan pemodelan dalam validasi silang luar untuk mendapatkan estimasi bias yang paling tidak akurat di masa mendatang.

Seperti yang saya ketahui, tidak ada koreksi matematika sederhana yang dapat diandalkan yang akan cocok dengan semua pilihan antara beberapa model non-linear. Kami cenderung mengandalkan bootstrap brute force untuk mensimulasikan, apa yang akan menjadi akurasi model masa depan. Ngomong-ngomong ketika memperkirakan kesalahan prediksi di masa depan, kami menganggap set pelatihan diambil secara acak dari suatu populasi, dan bahwa prediksi tes di masa depan diambil sampelnya dari populasi yang sama. Jika tidak, yah siapa yang tahu ...

Jika Anda misalnya menggunakan CV 5-lipat bagian dalam untuk memilih model dan 10-CV bagian luar diulang 10 kali untuk memperkirakan kesalahan, maka Anda tidak mungkin membodohi diri sendiri dengan perkiraan akurasi model yang terlalu percaya diri.


2
beberapa kali set validasi dapat dinamai set kalibrasi, dan set tes bernama set validasi. Agak membingungkan ...
Soren Havelund Welling
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.