Validasi silang termasuk pelatihan, validasi, dan pengujian. Mengapa kita membutuhkan tiga himpunan bagian?

29

Saya punya pertanyaan tentang proses validasi silang. Saya berada di tengah-tengah kursus Pembelajaran Mesin di Cursera. Salah satu topiknya adalah tentang validasi silang. Saya merasa agak sulit untuk diikuti. Saya tahu mengapa kami membutuhkan CV karena kami ingin model kami bekerja dengan baik pada data (tidak diketahui) di masa depan dan CV mencegah overfitting. Namun, prosesnya sendiri membingungkan.

Apa yang saya pahami adalah bahwa saya membagi data menjadi 3 himpunan bagian: pelatihan, validasi, dan tes. Train and Validation adalah untuk menemukan kompleksitas model yang optimal. Yang tidak saya mengerti adalah bagian ketiga. Saya mengerti saya mengambil sejumlah fitur untuk model, melatihnya dan memvalidasinya pada subset Validasi dan mencari Fungsi Biaya minimum ketika saya mengubah struktur. Ketika saya menemukannya, saya menguji model pada bagian Tes. Jika saya telah menemukan Fungsi Biaya minimum pada subset Validasi, mengapa saya perlu mengujinya lagi pada subset Tes ???

Bisakah seseorang tolong menjelaskan ini untuk saya?

Terima kasih

Celdor
sumber
Anda akan menemukan makalah dan diskusi di [1] tidak relevan dengan pertanyaan Anda. Dari memori, ia menyebutkan tiga himpunan bagian: yang pertama untuk merumuskan model, yang kedua untuk memperkirakan parameternya dan yang ketiga untuk memvalidasinya dengan prediksi. [1] Chatfield, C. Model Ketidakpastian, Penambangan Data, dan Inferensi Statistik (Dengan diskusi) Jurnal Royal Statistics Society. Seri A (Statistik dalam Masyarakat), 1995, 158, 419-466
Hibernasi
Tepuk tangan! Utas di balik tautan ini juga merupakan sumber yang bagus untuk memahami hal ini :)
Celdor

Jawaban:

39
  • Set pelatihan digunakan untuk memilih parameter optimal untuk model yang diberikan. Perhatikan bahwa mengevaluasi beberapa set parameter tertentu menggunakan set pelatihan harus memberi Anda estimasi objektif tentang fungsi biaya Anda - itu adalah tindakan memilih parameter yang mengoptimalkan estimasi fungsi biaya Anda berdasarkan pada set pelatihan yang bias estimasi yang mereka berikan . Parameter dipilih yang berkinerja terbaik pada set pelatihan; karenanya, kinerja nyata dari parameter-parameter itu, seperti yang dievaluasi pada set pelatihan, akan terlalu optimis.
  • Setelah dilatih menggunakan set pelatihan, set validasi digunakan untuk memilih model terbaik. Sekali lagi, perhatikan bahwa mengevaluasi setiap model yang diberikan menggunakan set validasi akan memberi Anda perkiraan representatif dari fungsi biaya - itu adalah tindakan memilih model yang berkinerja terbaik pada set validasi yang bias estimasi yang mereka berikan. Model dipilih yang berkinerja terbaik pada set validasi; karenanya, kinerja nyata model itu, sebagaimana dievaluasi pada set validasi, akan terlalu optimis.
  • Setelah melatih setiap model menggunakan set pelatihan , dan memilih model terbaik menggunakan set validasi , set tes memberi tahu Anda seberapa baik pilihan model akhir Anda. Ini memberi Anda perkiraan objektif tentang kinerja aktual yang akan Anda peroleh saat runtime, yang penting untuk diketahui karena banyak alasan. Anda tidak dapat menggunakan set pelatihan untuk ini, karena parameternya bias terhadapnya. Dan Anda tidak dapat menggunakan set validasi untuk ini, karena model itu sendiri bias terhadap itu. Oleh karena itu, kebutuhan akan set ketiga.
Menepuk
sumber
Saya bisa melihat ini sekarang. Terima kasih. Saya tidak memikirkan fakta bahwa saya memerlukan satu subset lagi untuk menemukan kinerja yang tidak bias dalam hal struktur model. Ceria :) Ini penjelasan yang sangat bagus.
Celdor
Jadi, apakah itu berarti bahwa set tes akhir tidak berperan dalam mengoptimalkan model atau memilih model terbaik?
Anmol Singh Jaggi
1
Tidak. Bahkan, ini hanya digunakan untuk memperkirakan kinerja yang diharapkan. Jadi, jika Anda tidak menyukai hasil kinerja pada set tes, maka Anda harus benar-benar menghindari dorongan untuk menyetel model Anda untuk mengoptimalkan hasil tes, karena model Anda akan bias sekali lagi.
Ytsen de Boer
13

Jika saya telah menemukan Fungsi Biaya minimum pada subset Validasi, mengapa saya perlu mengujinya kembali pada subset Tes

Karena kesalahan acak: Biasanya Anda hanya memiliki jumlah kasus yang terbatas.

Optimalisasi kinerja validasi (pengujian dalam) berarti bahwa Anda mungkin overfitting ke set pengujian dalam tersebut. Set tes dalam berkontribusi pada estimasi model akhir dan dengan demikian tidak terlepas dari model.

Ini berarti bahwa Anda perlu memiliki set uji (luar) lain yang tidak tergantung pada keseluruhan prosedur pemodelan (termasuk semua proses pra-pemrosesan optimasi atau data-driven atau pemilihan model) jika Anda ingin memperkirakan properti generalisasi.

Saya menyarankan Anda membuat simulasi dan membandingkan tiga perkiraan kesalahan berbeda yang dapat Anda miliki

  • penggantian: prediksi set kereta
    mengukur good -of-fit
  • set pengujian internal (dalam nomenklatur: validasi Anda): kualitas yang dianggap optimizer tercapai
  • set uji luar: kesalahan generalisasi, tidak tergantung pada pelatihan model.

Dalam simulasi, Anda dapat dengan mudah membandingkannya dengan set tes yang tepat, besar, dan dihasilkan secara independen. Jika set-up benar, tes luar harus tidak bias (wrt model pengganti yang dievaluasi, bukan wrt model "final" yang dibangun di seluruh set data). Tes dalam biasanya bias optimis, dan penggantian bahkan lebih optimis bias.

Di bidang saya, pengujian dalam akan mudah meremehkan kesalahan generalisasi dengan faktor 2 - 5 (lebih banyak untuk skema optimasi yang agresif).


Catatan: nomenklatur set tidak universal. Dalam bidang saya (kimia analitik), validasi biasanya berarti bukti kinerja prosedur akhir - dengan demikian lebih banyak yang dilakukan oleh set "tes" Anda daripada apa yang set "validasi" Anda lakukan.

Karena itu saya lebih suka berbicara tentang set tes dalam dan luar, atau set tes optimasi (= set tes dalam) dan kemudian set validasi akan berarti set tes luar.

Cbeleites mendukung Monica
sumber
2

Saat melatih model, seseorang harus memilih parameter meta untuk model (misalnya, parameter regularisasi) atau bahkan memilih dari beberapa model. Dalam hal ini, subset validasi digunakan untuk pemilihan parameter, tetapi uji subset untuk estimasi prediksi akhir.

oraz
sumber