Praktik terbaik untuk mengukur dan menghindari overfitting?

9

Saya mengembangkan sistem perdagangan otomatis untuk pasar saham. Tantangan besar adalah overfitting. Dapatkah Anda merekomendasikan beberapa sumber yang menggambarkan metode untuk mengukur dan menghindari overfitting?

Saya mulai dengan set pelatihan / validasi, tetapi set validasi selalu ternoda.

Juga, data deret waktu selalu berubah karena pasar selalu berubah. Bagaimana Anda mengukur ini dan menentukan kemungkinan hasil yang konsisten pada data yang tidak terlihat?

Terima kasih.

B Tujuh
sumber
3
B Tujuh, pertanyaan Anda terlalu tinggi dan tidak terlalu spesifik. Pada dasarnya seluruh bidang pembelajaran mesin dapat diringkas menjadi pertanyaan tentang bagaimana menghindari overfitting. Ada beberapa strategi seperti validasi silang, regularisasi atau penggunaan prior yang tepat. Setiap buku pembelajaran mesin yang baik dapat membantu Anda dengan itu (mis. Duda / Hart / Bangau atau yang oleh Uskup). Juga tidak jelas apa yang Anda maksud dengan "set validasi tercemar". Jika model Anda tidak dapat mengatasi perubahan data deret waktu, itu berarti itu mungkin terlalu sederhana. Tetapi model yang lebih kompleks akan membutuhkan lebih banyak regularisasi.
Fabee
@ B Tujuh - jika set validasi Anda ternoda (saya berasumsi dengan model pas untuk itu) maka mungkin membagi data Anda ke dalam pelatihan, set tes dan validasi mungkin lebih tepat?
richiemorrisroe
Oke, itu masuk akal. Jadi pendekatan yang berbeda untuk menghindari pekerjaan overfitting di domain yang berbeda.
B Seven

Jawaban:

5

Untuk pemasangan yang terlalu pas dalam pemilihan model, maka makalah yang layak dibaca adalah

C. Ambroise dan GJ McLachlan, "Bias seleksi dalam ekstraksi gen berdasarkan data ekspresi gen microarray", PNAS, vol. 99 no. 10 6562-6566, Mei 2002. http://dx.doi.org/10.1073/pnas.102102699

Untuk diskusi tentang jenis masalah yang sama yang muncul dalam pemilihan model, lihat

GC Cawley, NLC Talbot, "Pada Over-fitting dalam Seleksi Model dan Seleksi Selanjutnya Bias dalam Evaluasi Kinerja", Journal of Machine Learning Research, 11 (Jul): 2079-2107, 2010. http://jmlr.csail.mit. edu / papers / v11 / cawley10a.html

Cara untuk memecahkan masalah set validasi yang dinodai adalah dengan menggunakan validasi silang bersarang, sehingga metode yang digunakan untuk membuat pilihan tentang model dilakukan secara independen di setiap lipatan validasi silang yang digunakan untuk estimasi kinerja. Pada dasarnya estimasi kinerja harus memperkirakan kinerja seluruh prosedur pemasangan model (pemasangan model, pemilihan fitur, pemilihan model, semuanya).

Pendekatan lainnya adalah menjadi orang Bayesian. Risiko over-fitting diperkenalkan setiap kali Anda mengoptimalkan kriteria berdasarkan sampel data yang terbatas, jadi jika Anda memarginalkan (mengintegrasikan keluar) daripada mengoptimalkan maka klasik over-fitting tidak mungkin. Namun Anda memiliki masalah dalam menentukan prior.

Dikran Marsupial
sumber
Saya memang menerapkan Cross Validation dan Leave One Out Cross Validation, tetapi tidak tahu bagaimana mengukur dan mengurangi overfitting. Saya melihat kertas-kertas itu, tetapi semuanya berada di atas kepala saya. Bisakah Anda merekomendasikan sumber daya pengantar lagi?
B Seven
2
untuk mengukur overfitting, Anda hanya perlu membuat validasi silang. Validasi silang luar digunakan untuk penilaian kinerja, dan dengan setiap lipatan validasi silang luar, validasi silang "dalam" digunakan untuk pemilihan fitur dan pemilihan model, dll. Itu akan memberi Anda perkiraan kinerja yang tidak bias.
Dikran Marsupial