TLDR:
Dataset saya cukup kecil (120) sampel. Saat melakukan validasi silang 10 kali lipat, haruskah saya:
Kumpulkan output dari setiap lipatan tes, gabungkan menjadi vektor, dan kemudian hitung kesalahan pada vektor prediksi penuh ini (120 sampel)?
Atau saya harus bukannya menghitung kesalahan pada output saya mendapatkan pada setiap kali lipat (dengan 12 sampel per kali lipat), dan kemudian mendapatkan perkiraan kesalahan akhir saya sebagai rata-rata dari 10 perkiraan error kali lipat?
Adakah tulisan ilmiah yang membantah perbedaan antara teknik ini?
Latar Belakang: Potensi Hubungan dengan skor Makro / Mikro dalam klasifikasi multi-label:
Saya pikir pertanyaan ini mungkin terkait dengan perbedaan antara rata-rata mikro dan Makro yang sering digunakan dalam tugas klasifikasi multi-label (misalnya, 5 label).
Dalam pengaturan multi-label, skor rata-rata mikro dihitung dengan membuat tabel kontingensi gabungan dari true positive, false positive, true negative, false negative untuk semua 5 prediksi classifier pada 120 sampel. Tabel kontingensi ini kemudian digunakan untuk menghitung presisi mikro, penarikan kembali mikro dan pengukuran mikro. Jadi ketika kita memiliki 120 sampel dan lima pengklasifikasi, ukuran mikro dihitung berdasarkan 600 prediksi (120 sampel * 5 label).
Saat menggunakan varian Makro , satu menghitung langkah-langkah (presisi, penarikan, dll.) Secara independen pada setiap label dan akhirnya, langkah-langkah ini dirata-ratakan.
Ide di balik perbedaan antara mikro vs Makro perkiraan dapat diperpanjang untuk apa yang dapat dilakukan dalam pengaturan K-kali lipat dalam masalah klasifikasi biner. Untuk 10 kali lipat kita dapat rata - rata lebih dari 10 nilai ( ukuran Makro ) atau menggabungkan 10 percobaan dan menghitung ukuran mikro .
Latar Belakang - Contoh yang diperluas:
Contoh berikut menggambarkan pertanyaan. Katakanlah kita memiliki 12 sampel uji dan kami memiliki 10 lipatan:
- Lipat 1 : TP = 4, FP = 0, TN = 8 Presisi = 1.0
- Lipat 2 : TP = 4, FP = 0, TN = 8 Presisi = 1.0
- Lipat 3 : TP = 4, FP = 0, TN = 8 Presisi = 1.0
- Lipat 4 : TP = 0, FP = 12, Presisi = 0
- Lipat 5 .. Lipat 10 : Semua memiliki TP yang sama = 0, FP = 12 dan Presisi = 0
tempat saya menggunakan notasi berikut:
TP = # True Positive, FP = # False Positive, TN = # True Negatives
Hasilnya adalah:
- Presisi rata-rata di 10 lipatan = 3/10 = 0,3
- Presisi pada rangkaian prediksi 10 lipatan = TP / TP + FP = 12/12 + 84 = 0,125
Perhatikan bahwa nilai 0,3 dan 0,125 sangat berbeda !
sumber
Jawaban:
Perbedaan yang dijelaskan adalah IMHO palsu.
Anda akan mengamatinya hanya jika distribusi kasus yang benar-benar positif (yaitu metode referensi mengatakan itu adalah kasus positif) sangat tidak sama pada lipatan (seperti pada contoh) dan jumlah kasus uji yang relevan (penyebut ukuran kinerja) yang sedang kita bicarakan, di sini yang benar-benar positif) tidak diperhitungkan ketika rata-rata lipatan rata-rata.
sunting: pertanyaan awal juga ditanyakan tentang mengulangi / mengulangi validasi:
ya , Anda harus menjalankan iterasi secara keseluruhank Prosedur validasi silang berlipat:
Dari situ, Anda bisa mendapatkan gagasan tentang stabilitas prediksi model Anda
Anda meminta makalah ilmiah :
pracetak
Meremehkan varians Pada akhirnya, set data Anda memiliki ukuran sampel yang terbatas (n = 120), terlepas dari berapa banyak iterasi bootstrap atau validasi silang yang Anda lakukan.
Anda memiliki (setidaknya) 2 sumber varian dalam hasil validasi resampling (validasi silang dan keluar dari bootstrap):
Jika model Anda stabil, maka
out-of-bootstrap melihat perbedaan antara prediksi masing-masing model pengganti. Itu mungkin dengan hasil validasi silang juga, tetapi tidak umum. Jika Anda melakukan ini, Anda akan melihat varians karena ukuran sampel yang terbatas di samping ketidakstabilan. Namun, perlu diingat bahwa beberapa pooling (biasanya) sudah terjadi: untuk validasi silang biasanyank hasilnya dikumpulkan, dan untuk out-of-bootstrap sejumlah sampel yang ditinggalkan dikumpulkan.
Yang membuat saya pribadi lebih suka validasi silang (untuk saat ini) karena lebih mudah untuk memisahkan ketidakstabilan dari ukuran sampel uji yang terbatas.
sumber
Anda harus melakukan skor (penggabungan). Ini adalah kesalahpahaman umum di lapangan yang berarti (skor) adalah cara terbaik. Ini dapat memperkenalkan lebih banyak bias ke dalam estimasi Anda, terutama pada kelas langka, seperti dalam kasus Anda. Berikut ini makalah yang mendukung ini:
http://www.kdd.org/exploration_files/v12-1-p49-forman-sigkdd.pdf
Di koran, mereka menggunakan "Favg" sebagai pengganti "rata-rata (skor)" dan "Ftp, fp" sebagai pengganti "skor (gabungan)" Anda
Contoh mainan:
Bayangkan bahwa Anda memiliki validasi silang 10 kali lipat dan kelas yang muncul 10 kali, dan kebetulan ditugaskan sehingga muncul sekali di setiap lipatan. Juga kelas selalu diprediksi dengan benar tetapi ada satu false-positive dalam data. Lipatan uji yang mengandung false positive akan memiliki akurasi 50%, sedangkan semua lipatan lainnya akan memiliki 100%. Jadi rata-rata (skor) = 95%. Di sisi lain, skor (gabungan) adalah 10/11, sekitar 91%.
Jika kita mengasumsikan bahwa populasi sebenarnya terwakili dengan baik oleh data, dan bahwa 10 pengklasifikasi lintas-validasi dengan baik mewakili penggolong akhir, maka akurasi dunia nyata akan menjadi 91%, dan rata-rata (skor) estimasi 95% adalah cara yang bias .
Dalam praktiknya, Anda tidak akan ingin membuat asumsi-asumsi itu. Alih-alih, Anda dapat menggunakan statistik distribusi untuk memperkirakan kepercayaan diri, dengan secara acak mengubah data dan menghitung kembali skor (penggabungan) beberapa kali, serta bootstrap.
sumber