K-fold cross-validation dapat digunakan untuk memperkirakan kemampuan generalisasi dari classifier yang diberikan. Bisakah saya (atau harus saya) juga menghitung varians yang dikumpulkan dari semua validasi berjalan untuk mendapatkan estimasi yang lebih baik dari variansnya?
Jika tidak, mengapa?
Saya telah menemukan makalah yang menggunakan deviasi standar gabungan lintas berjalan validasi . Saya juga menemukan makalah yang secara eksplisit menyatakan tidak ada penduga universal untuk varian validasi . Namun, saya juga menemukan makalah yang menunjukkan beberapa penduga varians untuk kesalahan generalisasi (saya masih membaca dan mencoba memahami yang satu ini). Apa yang sebenarnya dilakukan orang (atau dilaporkan) dalam praktik?
EDIT: Ketika CV digunakan untuk mengukur kesalahan klasifikasi mentah (yaitu sampel telah diberi label dengan benar atau belum; misalnya benar atau salah) maka mungkin tidak masuk akal untuk berbicara tentang varian yang dikumpulkan. Namun, saya berbicara tentang kasus di mana statistik yang kami perkirakan memiliki varians yang ditentukan. Jadi, untuk lipatan tertentu, kita bisa mendapatkan nilai statistik dan estimasi varians. Tampaknya tidak benar untuk membuang informasi ini dan hanya mempertimbangkan statistik rata-rata. Dan sementara saya sadar saya dapat membangun estimasi varians menggunakan metode bootstrap, (jika saya tidak salah) melakukan hal itu masih akan mengabaikan varians flip dan hanya mengambil perkiraan statistik menjadi pertimbangan (ditambah membutuhkan daya komputasi yang jauh lebih banyak).
Jawaban:
Pertanyaan yang sangat menarik, saya harus membaca makalah yang Anda berikan ... Tapi mungkin ini akan memulai kita ke arah jawaban:
Saya biasanya menangani masalah ini dengan cara yang sangat pragmatis: Saya mengulangi validasi k-fold dengan split acak baru dan menghitung kinerja seperti biasa untuk setiap iterasi. Sampel uji keseluruhan kemudian sama untuk setiap iterasi, dan perbedaan berasal dari perbedaan data.
Laporan I ini misalnya sebagai persentil ke 5 hingga 95 dari kinerja yang diamati. menukar hingga sampel untuk sampel baru dan membahasnya sebagai ukuran ketidakstabilan model.nk- 1
Catatan: Saya tidak dapat menggunakan formula yang membutuhkan ukuran sampel. Karena data saya berkerumun atau struktur hierarkis (banyak pengukuran yang serupa tetapi tidak diulang dari kasus yang sama, biasanya beberapa [ratusan] lokasi berbeda dari spesimen yang sama) Saya tidak tahu ukuran sampel yang efektif.
perbandingan dengan bootstrap:
iterasi menggunakan pemisahan acak baru.
perbedaan utama adalah resampling dengan (bootstrap) atau tanpa penggantian (cv).
biaya komputasi hampir sama, karena saya akan memilih no dari iterasi cv no dari bootstrap iterations / k, yaitu menghitung total no model yang sama.≈
bootstrap memiliki kelebihan dibandingkan cv dalam hal beberapa sifat statistik (benar tanpa gejala, mungkin Anda membutuhkan iterasi yang lebih sedikit untuk mendapatkan perkiraan yang baik)
Namun, dengan cv Anda memiliki keuntungan bahwa Anda dijamin akan melakukannya
beberapa metode klasifikasi akan membuang sampel berulang, sehingga bootstrap tidak masuk akal
Varians untuk kinerja
jawaban singkat: ya masuk akal untuk berbicara tentang varians dalam situasi di mana hanya {0,1} hasil ada.
Lihat distribusi binomial (k = keberhasilan, n = tes, p = probabilitas benar untuk sukses = rata-rata k / n):
Varians dari proporsi (seperti tingkat hit, tingkat kesalahan, sensitivitas, TPR, ..., saya akan menggunakan dari sekarang dan p untuk nilai yang diamati dalam uji coba) adalah topik yang mengisi seluruh buku ...hal hal^
Sekarang, p = k dan karenanya:hal^= kn
Ini berarti bahwa ketidakpastian untuk mengukur kinerja classifier hanya bergantung pada p kinerja sebenarnya dari model yang diuji dan jumlah sampel uji.
Dalam validasi silang Anda anggap
bahwa model "pengganti" memiliki kinerja sebenarnya yang sama dengan model "nyata" yang biasanya Anda buat dari semua sampel. (Rincian asumsi ini adalah bias pesimis yang terkenal).
bahwa model k "pengganti" memiliki kinerja sebenarnya yang sama (setara, memiliki prediksi stabil), sehingga Anda diizinkan untuk mengumpulkan hasil tes k.
Tentu saja tidak hanya model k "pengganti" dari satu iterasi cv yang dapat digabungkan tetapi model ki dari iterasi k-fold cv.
Mengapa iterate?
Hal utama yang iterasi katakan adalah ketidakstabilan model (prediksi), yaitu varian prediksi model yang berbeda untuk sampel yang sama.
Dan ya, ini informasi penting.
Jika Anda mengamati ketidakstabilan model, rata-rata gabungan adalah perkiraan yang lebih baik dari kinerja sebenarnya. Varians antara iterasi adalah informasi penting, dan Anda bisa membandingkannya dengan varians minimal yang diharapkan untuk serangkaian uji ukuran n dengan kinerja rata-rata kinerja sebenarnya di atas semua iterasi.
sumber
Ingat, CV hanya merupakan perkiraan dan tidak pernah dapat mewakili kesalahan generalisasi 'nyata'. Bergantung pada ukuran sampel Anda (yang akan memengaruhi jumlah lipatan atau ukuran lipatan Anda), Anda dapat sangat dibatasi dalam kemampuan Anda untuk menghitung estimasi parameter apa pun dari distribusi kesalahan generalisasi. Menurut pendapat saya (dan saya telah melihatnya konon di berbagai buku teks, 'Penemuan Pengetahuan dengan Mesin Vektor Dukungan'-Lutz Hamel) Anda dapat melakukan beberapa varian bootstrap CV untuk memperkirakan distribusi kesalahan generalisasi, tetapi standar 10- 1 (misalnya) sekali dari CV tidak akan memberi Anda cukup data poin untuk membuat kesimpulan tentang kesalahan gen yang sebenarnya. Bootstrap mengharuskan Anda untuk mengambil banyak sampel dengan penggantian dari pelatihan / tes / val Anda secara efektif melakukan banyak (misalnya 1000 atau lebih) 10-1 (atau apa pun) tes CV. Anda kemudian mengambil distribusi sampel rata-rata untuk setiap tes CV sebagai perkiraan distribusi sampling dari rata-rata untuk populasi kesalahan CV dan dari sini Anda dapat memperkirakan parameter distribusi yaitu rata-rata, median, stdim maks. Q1 Q3 dll ... Ini sedikit kerja, dan menurut saya hanya benar-benar diperlukan jika aplikasi Anda cukup penting / berisiko untuk menjamin kerja ekstra. yaitu mungkin dalam lingkungan pemasaran di mana bisnis senang menjadi lebih baik daripada acak maka mungkin tidak diperlukan. TETAPI jika Anda mencoba mengevaluasi reaksi pasien terhadap obat berisiko tinggi atau memprediksi ekspektasi pendapatan untuk investasi besar, Anda mungkin lebih bijaksana untuk melakukannya.
sumber