Apa definisi "terbaik" seperti yang digunakan dalam istilah "paling cocok" dan validasi silang?


16

Jika Anda memasukkan fungsi non linear ke satu set poin (dengan asumsi hanya ada satu ordinat untuk setiap absis) hasilnya dapat berupa:

  1. fungsi yang sangat kompleks dengan residu kecil
  2. fungsi yang sangat sederhana dengan residu besar

Validasi silang umumnya digunakan untuk menemukan kompromi "terbaik" antara kedua ekstrem ini. Tapi apa artinya "terbaik"? Apakah itu "kemungkinan besar"? Bagaimana Anda bahkan mulai membuktikan apa solusi yang paling mungkin?

Suara hati saya memberi tahu saya bahwa CV sedang menemukan semacam solusi energi minimum. Ini membuat saya berpikir tentang entropi, yang saya tahu samar-samar terjadi dalam statistik dan fisika.

Sepertinya saya bahwa "terbaik" cocok dihasilkan dengan meminimalkan jumlah fungsi yaitu kompleksitas dan kesalahan

minimising m where m = c(Complexity) + e(Error)

Apakah ini masuk akal? Apa fungsi c dan e?

Tolong bisakah Anda menjelaskan menggunakan bahasa non matematika, karena saya tidak akan mengerti banyak matematika.


1
Terbaik adalah model dengan kesalahan masa depan terendah dan validasi silang memberi Anda perkiraan itu. Alasan untuk rumus c (Kompleksitas) + e (Kesalahan) adalah karena Anda dapat menggunakan kesalahan pada data pelatihan sebagai perkiraan kesalahan di masa mendatang, tetapi itu terlalu optimis, jadi Anda menambahkan istilah untuk membuat perkiraan ini tidak memihak, yang biasanya merupakan beberapa fungsi dari kompleksitas model
Yaroslav Bulatov

Di sisi lain, penalaran mengingat fenomena Runge (Inspirasi Fisika lagi) mendorong kesimpulan bahwa kesalahan di masa depan adalah sesuatu tentang Kompleksitas / Train_Error.

Matt Krause telah memberikan jawaban yang sangat baik untuk pertanyaan serupa di sini: stats.stackexchange.com/a/21925/14640 Mengutip dari jawabannya: Tujuannya adalah untuk menyeimbangkan kompleksitas model dengan kekuatan penjelas model dan agar konsep kekikiran lebih baik ukuran kesesuaian model daripada konsep paling cocok untuk kesalahan. Ini karena model yang sangat kompleks dapat menyesuaikan data tanpa lebih mampu memprediksi atau menjelaskan hasil baru.
Assad Ebrahim

Jawaban:


6

Saya pikir ini adalah pertanyaan yang sangat bagus. Saya akan memparafrasekannya hanya untuk memastikan saya sudah benar:

Tampaknya ada banyak cara untuk memilih fungsi penalti kompleksitas dan fungsi penalti kesalahan e . Pilihan mana yang 'terbaik'. Apa yang paling baik artinya ?ce

Saya pikir jawabannya (jika ada) akan membawa Anda jauh melampaui validasi silang. Saya suka bagaimana pertanyaan ini (dan topik secara umum) berhubungan baik dengan Occam's Razor dan konsep umum kekikiran yang mendasar bagi sains. Saya sama sekali tidak ahli dalam bidang ini, tetapi saya menemukan pertanyaan ini sangat menarik. Teks terbaik yang saya tahu tentang pertanyaan-pertanyaan semacam ini adalah Universal Artificial Intelligence oleh Marcus Hutter (jangan tanya saya pertanyaan tentang itu, saya belum membaca sebagian besar dari itu). Saya pergi ke ceramah oleh Hutter dan beberapa tahun yang lalu dan sangat terkesan.

Anda benar dalam berpikir bahwa ada argumen entropi minimum di sana di suatu tempat (digunakan untuk fungsi penalti kompleksitas dalam beberapa cara). Hutter menganjurkan penggunaan kompleksitas Kolmogorov bukannya entropi. Juga, definisi Hutter tentang `terbaik '(sejauh yang saya ingat) adalah (secara informal) model yang paling baik memprediksi masa depan (yaitu memprediksi terbaik data yang akan diamati di masa depan). Saya tidak ingat bagaimana dia meresmikan gagasan ini.c


Anda mengerti pertanyaannya. Saya akan mengikuti tautannya.
bart

Anda harus tahu bahwa tautan ini tidak akan membawa Anda ke tempat yang `praktis '. Jika Anda mencoba membangun sesuatu menggunakan validasi silang (atau semacam pemilihan model lainnya) maka dalam praktiknya cenderung selalu mengarah ke sesuatu yang heuristik dan sedikit ad-hoc (walaupun saya setuju ini tidak memuaskan).
Robby McKilliam

Sekarang kita menuju suatu tempat. en.wikipedia.org/wiki/Minimum_message_length tampaknya seperti yang saya pikirkan. Terima kasih!
Bart

Jangan khawatir. Ini hanya refleksi, bukan praktis.
bart

9

Saya akan menawarkan jawaban intuitif singkat (pada tingkat yang cukup abstrak) sampai jawaban yang lebih baik ditawarkan oleh orang lain:

Pertama, perhatikan bahwa fungsi / model yang kompleks mencapai kesesuaian yang lebih baik (yaitu, memiliki residu yang lebih rendah) karena mereka mengeksploitasi beberapa fitur lokal (think noise) dari dataset yang tidak ada secara global (pikirkan pola sistematis).

Kedua, saat melakukan validasi silang, kami membagi data menjadi dua set: set pelatihan dan set validasi.

Jadi, ketika kami melakukan validasi silang, model yang kompleks mungkin tidak dapat memprediksi dengan baik karena menurut definisi model yang kompleks akan mengeksploitasi fitur lokal dari set pelatihan. Namun, fitur lokal dari set pelatihan bisa sangat berbeda dibandingkan fitur lokal dari set validasi yang mengakibatkan kinerja prediksi yang buruk. Oleh karena itu, kami memiliki kecenderungan untuk memilih model yang menangkap fitur global dari pelatihan dan set data validasi.

Singkatnya, validasi silang melindungi terhadap overfitting dengan memilih model yang menangkap pola global dataset dan dengan menghindari model yang mengeksploitasi beberapa fitur lokal dari dataset.


@ Srikant Saya tahu semua ini. CV adalah sarana untuk menemukan yang "terbaik". Apa definisi "terbaik"?
Bart

@bart 'model terbaik' = model yang 'terbaik' menangkap pola global sambil menghindari fitur lokal dari suatu data. Itu yang terbaik yang bisa saya lakukan untuk deskripsi non-matematika. Mungkin, orang lain dapat menguraikan sedikit lebih atau lebih spesifik.

@ Bart: "terbaik" berarti fungsi yang paling cocok dengan data pelatihan, dan yang "menggeneralisasi" dengan baik untuk data set validasi / tak terlihat-tes. Saya pikir ini cukup jelas dari jawaban Srikant. Ada banyak cara untuk secara formal mendefinisikan perilaku generalisasi yang baik. Dalam pengertian non-formal, Anda dapat menganggapnya sebagai menemukan fungsi yang "halus" dan tidak terlalu goyah. Mencoba untuk hanya menyesuaikan data pelatihan dapat mengarah pada fungsi yang tampak goyah sedangkan kelancaran biasanya memastikan bahwa fungsi tersebut akan cukup baik pada data pelatihan dan validasi / uji.
ebony1

@ebony: Anda tidak mengerti intinya. Saya telah mengulang pertanyaan itu semoga menjadi lebih jelas
bart

5

Dalam tampilan pembelajaran mesin umum jawabannya cukup sederhana: kami ingin membangun model yang akan memiliki akurasi tertinggi ketika memprediksi data baru (tidak terlihat selama pelatihan). Karena kami tidak dapat langsung menguji ini (kami tidak memiliki data dari masa depan) kami melakukan simulasi Monte Carlo untuk tes semacam itu - dan ini pada dasarnya adalah ide di bawah validasi silang.

Mungkin ada beberapa masalah tentang apa itu keakuratan (misalnya klien bisnis dapat menyatakan bahwa melampaui biaya 5 € per unit dan undershoot 0,01 € per unit, jadi lebih baik untuk membangun model yang kurang akurat tetapi lebih rendah), tetapi secara umum adalah persen jawaban yang benar-benar intuitif dalam klasifikasi dan banyak menjelaskan perbedaan dalam regresi.


3

Banyak orang memiliki jawaban yang sangat baik, ini adalah $ 0,02 saya.

Ada dua cara untuk melihat "model terbaik", atau "pemilihan model", berbicara secara statistik:

1 Penjelasan yang sesederhana mungkin, tetapi tidak sederhana (Attrib. Einstein)

- This is also called Occam's Razor, as explanation applies here.
- Have a concept of True model or a model which approximates the truth
- Explanation is like doing scientific research


2 Prediksi adalah minat, mirip dengan pengembangan teknik.

- Prediction is the aim, and all that matters is that the model works
- Model choice should be based on quality of predictions
- Cf: Ein-Dor, P. & Feldmesser, J. (1987) Attributes of the performance of central processing units: a relative performance prediction model. Communications of the ACM 30, 308–317.

Konsepsi luas (salah):

Pilihan Model setara dengan memilih model terbaik

Untuk penjelasan, kita harus waspada terhadap kemungkinan ada beberapa (secara kasar) model penjelasan yang sama baiknya. Kesederhanaan membantu mengkomunikasikan konsep-konsep yang terkandung dalam model dan dalam apa yang oleh para psikolog disebut generalisasi, kemampuan untuk 'bekerja' dalam skenario yang sangat berbeda dari yang di mana model tersebut dipelajari. Jadi ada premium pada beberapa model.

Untuk prediksi: Analogi yang baik (Dr Ripley) adalah memilih antara pendapat ahli: jika Anda memiliki akses ke panel ahli yang besar, bagaimana Anda menggunakan pendapat mereka?

Validasi Silang menangani aspek prediksi. Untuk detail tentang CV, silakan merujuk ke presentasi ini oleh Dr. BD Ripley Presentasi Dr. Brian D. Ripley tentang pemilihan model

Kutipan: Harap dicatat bahwa segala sesuatu dalam jawaban ini berasal dari presentasi yang dikutip di atas. Saya penggemar berat presentasi ini dan saya menyukainya. Pendapat lain mungkin berbeda. Judul presentasi adalah: "Memilih Model Kelas Besar" dan diberikan di Simposium untuk menghormati ulang tahun ke-80 John Nelder, Imperial College, 29/30 Maret 2004, oleh Dr. Brian D. Ripley.


3

Diskusi hebat di sini, tetapi saya berpikir tentang validasi silang dengan cara yang berbeda dari jawaban sejauh ini (mbq dan saya berada di halaman yang sama saya pikir). Jadi, saya akan memasukkan dua sen saya dengan risiko mengotori perairan ...

Validasi silang adalah teknik statistik untuk menilai variabilitas dan bias, karena kesalahan pengambilan sampel, dalam kemampuan model untuk mencocokkan dan memprediksi data. Dengan demikian, "terbaik" akan menjadi model yang menyediakan kesalahan generalisasi terendah, yang akan berada dalam unit variabilitas dan bias. Teknik seperti Bayesian dan Bootstrap Model Averaging dapat digunakan untuk memperbarui model dengan cara algoritmik berdasarkan hasil dari upaya validasi silang.

FAQ ini memberikan informasi yang baik untuk konteks lebih banyak tentang apa yang menginformasikan pendapat saya.


1

Fungsi kesalahan adalah kesalahan model Anda (fungsi) pada data pelatihan. Kompleksitasnya adalah beberapa norma (misalnya, kuadrat l2 norma) dari fungsi yang Anda coba pelajari. Meminimalkan istilah kompleksitas pada dasarnya mendukung fungsi yang halus, yang bekerja dengan baik tidak hanya pada data pelatihan tetapi juga pada data uji. Jika Anda merepresentasikan fungsi Anda dengan sekumpulan koefisien (katakanlah, jika Anda melakukan regresi linier), menghukum kompleksitas dengan norma kuadrat akan menyebabkan nilai koefisien kecil dalam fungsi Anda (menghukum norma-norma lain mengarah ke pengertian berbeda tentang kontrol kompleksitas).


1

(p,q)1,λ>0

(1)Argmin.β|λ,x,y||ym(x,β)||p+λ||β||q

setara dengan

(2)Argmin.β|λ,x,y||ym(x,β)||p

s.t. ||β||qλ

||β||qλq=1,2β^β^

λ adalah apa yang disebut meta-parameter (atau parameter laten) yang tidak dioptimalkan lebih (dalam hal ini solusinya akan berkurang menjadi λ=), melainkan mencerminkan informasi yang tidak terkandung dalam sampel (x,y) digunakan untuk memecahkan (1)-(2)(misalnya penelitian lain atau pendapat ahli). Validasi silang adalah upaya membangun data yang diinduksi sebelumnya (yaitu mengiris dataset sehingga sebagian digunakan untuk menyimpulkan nilai wajar dariλ dan sebagian digunakan untuk memperkirakan β^|λ).

Seperti pertanyaan Anda (mengapa e()=||y-m(x,β)||hal) ini karena untuk hal=1 (hal=2) ukuran jarak antara model dan pengamatan ini memiliki (mudah) sifat asimptot yang dapat diturunkan (konvergensi yang kuat dengan bagian populasi yang berarti dari m()).


1
Adalah λsebuah parameter yang bebas untuk dipilih?
Robby McKilliam

@Robby:> terima kasih. Saya sedikit menambahkan teks untuk membuat perbedaan antara parameter dan hyperparameter menjadi jelas.
user603

@ Kangwak: Saya minta maaf untuk mengatakan saya tidak tahu apa artinya ini. Apa yang ditandakan oleh simbol p, q, lambda, x, y, m dan beta?
bart

@ Bart:> Jawaban saya pada dasarnya sama dengan jawaban Srikant. Di mana ia memberikan penjelasan intuitif, saya ingin menambahkan yang lebih ketat untuk kepentingan pengunjung masa depan yang mungkin memiliki pertanyaan yang sama dengan Anda, tetapi lebih akrab dengan matematika daripada bahasa non-formal. Semua simbol yang Anda sebutkan didefinisikan dalam jawaban saya (meskipun, sekali lagi, ini dilakukan secara formal).
user603

@ kwak: Di mana, misalnya, p didefinisikan?
bart
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.