Bisakah Anda menyesuaikan diri dengan pelatihan algoritma pembelajaran mesin menggunakan CV / Bootstrap?

34

Pertanyaan ini mungkin terlalu terbuka untuk mendapatkan jawaban yang pasti, tetapi mudah-mudahan tidak.

Algoritma pembelajaran mesin, seperti SVM, GBM, Random Forest dll, umumnya memiliki beberapa parameter gratis yang, di luar beberapa pedoman praktis, perlu disetel ke setiap kumpulan data. Ini umumnya dilakukan dengan semacam teknik re-sampling (bootstrap, CV dll) agar sesuai dengan set parameter yang memberikan kesalahan generalisasi terbaik.

Pertanyaan saya adalah, bisakah Anda melangkah terlalu jauh di sini? Orang-orang berbicara tentang melakukan pencarian kisi-kisi seperti itu, tetapi mengapa tidak memperlakukan ini sebagai masalah pengoptimalan dan menelusuri set parameter yang terbaik? Saya bertanya tentang beberapa mekanisme ini dalam pertanyaan ini , tetapi belum mendapat banyak perhatian. Mungkin pertanyaan itu ditanyakan dengan buruk, tetapi mungkin pertanyaan itu sendiri merupakan pendekatan yang buruk yang biasanya tidak dilakukan orang?

Yang menggangguku adalah kurangnya regularisasi. Saya mungkin menemukan dengan pengambilan sampel ulang bahwa jumlah pohon terbaik untuk tumbuh dalam GBM untuk kumpulan data ini adalah 647 dengan kedalaman interaksi 4, tetapi seberapa yakin saya bahwa ini akan benar untuk data baru (dengan asumsi populasi baru identik dengan set pelatihan)? Dengan tidak ada nilai wajar untuk 'menyusut' ke (atau jika Anda mau, tidak ada informasi sebelumnya yang informatif) pengambilan sampel kembali sepertinya yang terbaik yang bisa kami lakukan. Aku hanya tidak mendengar pembicaraan tentang ini, jadi itu membuatku bertanya-tanya apakah ada sesuatu yang aku lewatkan.

Jelas ada biaya komputasi besar yang terkait dengan melakukan banyak iterasi untuk memeras setiap bit terakhir dari daya prediksi dari model, jadi jelas ini adalah sesuatu yang akan Anda lakukan jika Anda punya waktu / kasar untuk melakukan optimasi dan setiap bit peningkatan kinerja sangat berharga.

Bogdanovist
sumber
CV dapat digunakan untuk hal-hal yang berbeda. Untuk menjadi jelas, ketika Anda mengatakan 'pencarian grid' atau 'penyetelan hyperparameter', Anda berbicara tentang pemilihan model , bukan pemilihan fitur , atau bahkan hanya memperkirakan kesalahan klasifikasi.
smci

Jawaban:

30

Ada jawaban pasti untuk pertanyaan ini yaitu "ya, tentu mungkin untuk memakai kriteria pemilihan model berdasarkan validasi silang dan berakhir dengan model yang generalisasinya buruk! ". Dalam pandangan saya, ini tampaknya tidak dihargai secara luas, tetapi merupakan jebakan substansial dalam penerapan metode pembelajaran mesin, dan merupakan fokus utama penelitian saya saat ini; Saya telah menulis dua makalah tentang masalah ini sejauh ini

GC Cawley dan NLC Talbot, Over-fitting dalam pemilihan model dan bias seleksi selanjutnya dalam evaluasi kinerja, Journal of Machine Learning Research, 2010. Penelitian, vol. 11, hlm. 2079-2107, Juli 2010. ( www )

yang menunjukkan bahwa pemasangan terlalu banyak dalam pemilihan model adalah masalah besar dalam pembelajaran mesin (dan Anda bisa mendapatkan perkiraan kinerja yang sangat bias jika Anda mengambil jalan pintas dalam pemilihan model selama evaluasi kinerja) dan

GC Cawley dan NLC Talbot, Mencegah over-fitting dalam pemilihan model melalui regularisasi Bayesian dari hyper-parameter, Journal of Machine Learning Research, volume 8, halaman 841-861, April 2007. ( www )

di mana kriteria pemilihan model berbasis validasi silang diregulasi untuk mencoba pemasangan berlebih yang tepat dalam pemilihan model (yang merupakan masalah utama jika Anda menggunakan kernel dengan banyak parameter-hiper).

Saya sedang menulis makalah tentang pemilihan model berbasis pencarian grid saat ini, yang menunjukkan bahwa memang mungkin untuk menggunakan grid yang terlalu baik di mana Anda berakhir dengan model yang secara statistik lebih rendah daripada model yang dipilih oleh banyak kisi kasar (itu adalah pertanyaan tentang StackExchange yang mengilhami saya untuk mencari kisi-kisi).

Semoga ini membantu.

PS Evaluasi kinerja yang tidak ergonomis dan pemilihan model yang andal memang bisa mahal secara komputasi, tetapi menurut pengalaman saya ini sangat bermanfaat. Validasi silang bersarang, di mana validasi silang luar digunakan untuk estimasi kinerja dan validasi silang dalam untuk pemilihan model adalah pendekatan dasar yang baik.

Dikran Marsupial
sumber
Sempurna! Sepertinya kertas-kertas itu persis seperti apa yang saya cari. Terima kasih untuk itu.
Bogdanovist
Beri tahu saya jika Anda memiliki pertanyaan tentang makalah (via email - Saya penulis pertama dan alamat surel saya ada di kertas).
Dikran Marsupial
@DikranMarsupial Bagaimana Anda membedakan overfitting karena pemilihan model dan karena ketidakcocokan sampel antara kereta dan set tes?
image_doctor
1
Pada prinsipnya, menggunakan dataset sintetik di mana kebenaran dasar tersedia, maka itu langsung, karena tidak ada sampling mismatch; set pelatihan hanyalah sampel acak dari distribusi yang mendasarinya dan Anda dapat memperkirakan kesalahan dari distribusi itu sendiri, bukan sampel terbatas. Untuk dataset kata nyata, namun AFAICS yang terbaik yang dapat Anda kelola adalah dengan menggunakan resampling dan menentukan efek dari pemasangan yang berlebihan kriteria pemilihan model terhadap banyak pemisahan tes / pelatihan acak.
Dikran Marsupial
2
Sayangnya itu ditolak, tetapi saya akan merevisinya untuk memperhitungkan komentar pengulas (sangat berguna) dan mengirimkannya kembali ke jurnal lain.
Dikran Marsupial
7

Validasi silang dan bootstrap telah terbukti memberikan perkiraan tingkat kesalahan yang hampir tidak bias dan dalam beberapa kasus lebih akurat oleh bootstrap melalui cross-validasi. Masalah dengan metode lain seperti penggantian adalah dengan memperkirakan kesalahan pada kumpulan data yang sama yang Anda paskan dengan classifier, Anda dapat terlalu meremehkan tingkat kesalahan dan mungkin mengarah ke algoritma yang menyertakan terlalu banyak parameter dan tidak akan memprediksi nilai di masa depan seakurat suatu algoritma cocok untuk satu set kecil parameter. Kunci dari penggunaan metode statistik adalah bahwa data yang Anda miliki untuk mengelompokkan pengklasifikasi adalah tipikal dari data yang akan Anda lihat di masa depan di mana kelas-kelasnya hilang dan harus diprediksi oleh pengklasifikasi. Jika Anda berpikir bahwa data masa depan bisa sangat berbeda maka metode statistik tidak dapat membantu dan saya tidak

Michael R. Chernick
sumber
Terima kasih atas jawabannya. Saya telah mengedit pertanyaan untuk memperjelas bahwa saya tidak bertanya tentang perubahan populasi antara set kereta dan tes. Saya menyadari bahwa itu adalah pertanyaan yang sangat berbeda yang saya tidak tertarik untuk pertanyaan ini.
Bogdanovist
1
+1 Dalam hal ini ketidakbiasaan pada dasarnya tidak relevan. Varian dari estimasi lintas-validasi dapat menjadi lebih banyak masalah. Untuk kriteria pemilihan model, Anda memerlukan minimum kriteria agar dapat dipercaya mendekati minimum kesalahan generalisasi (sebagai fungsi dari hiper-parameter). Tidak ada gunanya jika rata-rata berada di tempat yang tepat, tetapi penyebaran minimal sampel sampel data yang berbeda ada di semua tempat.
Dikran Marsupial
1
Tentu saja akurasi adalah kombinasi dari bias dan varians dan estimasi yang tidak bias dengan varians yang besar tidak sebagus estimator yang sedikit bias dengan varian yang kecil. Estimasi tingkat kesalahan yang sebenarnya adalah penggantian dan memiliki bias yang besar. Bootstrap 632 dan 632+ bekerja dengan sangat baik karena mereka melakukan pekerjaan yang baik dengan menyesuaikan bias tanpa banyak meningkatkan varian. Itulah sebabnya untuk fungsi diskriminan linier dan fungsi diskriminan kuadrat, mereka bekerja jauh lebih baik daripada versi cross-validasi versi cuti-keluar-keluar.
Michael R. Chernick
Dengan ansambel pohon klasifikasi, bootstrap belum terbukti lebih baik.
Michael R. Chernick
1
Mungkin salah satu kesulitannya adalah bahwa pemasangan terlalu sering sering berarti hal yang berbeda dalam pembelajaran mesin dan statistik. Tampak bagi saya bahwa ahli statistik kadang-kadang menggunakan terlalu pas untuk berarti model dengan lebih banyak parameter daripada yang diperlukan sedang digunakan, daripada itu terlalu dekat dengan pengamatan (yang diukur dengan kriteria pelatihan). Saya biasanya akan menggunakan "over-parameterised" dalam situasi itu, dan menggunakan "over-fit" yang berarti model telah dipasang terlalu dekat dengan pengamatan dengan mengorbankan kinerja generalisasi. Mungkin ini adalah di mana kita dapat berbicara dengan berbagai tujuan?
Dikran Marsupial
4

Saya menduga satu jawaban di sini adalah bahwa, dalam konteks optimasi, apa yang Anda coba temukan adalah minimum global pada noisyfungsi biaya. Jadi, Anda memiliki semua tantangan optimisasi global multi-dimensi plus komponen stokastik yang ditambahkan ke fungsi biaya.

Banyak pendekatan untuk menghadapi tantangan minimum lokal dan ruang pencarian yang mahal sendiri memiliki parameter yang mungkin perlu disetel, seperti metode anil simulasi atau metode monte carlo.

Dalam alam semesta yang ideal dan tidak terikat secara komputasi, saya kira Anda dapat mencoba untuk menemukan minimum global ruang parameter Anda dengan batas ketat yang sesuai pada bias dan varian estimasi fungsi kesalahan Anda. Apakah skenario regularisasi ini tidak akan menjadi masalah karena Anda dapat mencicipi ulang sampel iklan tanpa batas.

Di dunia nyata saya curiga Anda dapat dengan mudah menemukan diri Anda dalam minimum lokal.

Seperti yang Anda sebutkan, ini adalah masalah terpisah, tetapi ini masih membuat Anda terbuka untuk overfitting karena masalah pengambilan sampel yang terkait dengan data yang tersedia untuk Anda dan hubungannya dengan distribusi ruang sampel yang mendasarinya.

image_doctor
sumber
4

Ini sangat tergantung pada algoritme, tetapi Anda tentu bisa - meskipun dalam kebanyakan kasus itu hanya akan membuang-buang upaya.

f(x)xxoptf(x)+ϵϵxfXoptxoptf+ϵ

xoptXoptXoptf

f

Jadi, yah, (berdasarkan praktik yang ada dalam jurnal yang bagus) penuh, validasi eksternal pemilihan parameter bukanlah sesuatu yang harus Anda lakukan dengan keras (tidak seperti memvalidasi pemilihan fitur), tetapi hanya jika optimisasi bersifat sepintas dan pengklasifikasi agak tidak sensitif terhadap parameter.


sumber
4

Ya, parameter dapat "dilengkapi" ke pelatihan dan set tes selama crossvalidation atau bootstrap. Namun, ada beberapa metode untuk mencegah hal ini. Metode sederhana pertama adalah, Anda membagi dataset Anda menjadi 3 partisi, satu untuk pengujian (~ 20%), satu untuk menguji parameter yang dioptimalkan (~ 20%) dan satu untuk menyesuaikan pengklasifikasi dengan parameter yang ditetapkan. Ini hanya mungkin jika Anda memiliki dataset yang cukup besar. Dalam kasus lain, crossvalidation ganda disarankan.

Romain François dan Florent Langrognet, "Validasi Salib Ganda untuk Klasifikasi Berbasis Model", 2006

spinus
sumber