Bisakah saya menggunakan set Validasi kecil?

15

Saya mengerti alasan di balik pemisahan data ke dalam set Tes dan set Validasi. Saya juga mengerti bahwa ukuran perpecahan akan tergantung pada situasi tetapi umumnya akan bervariasi dari 50/50 hingga 90/10.

Saya membuat RNN untuk mengoreksi ejaan dan mulai dengan kumpulan data kalimat ~ 5m. Saya mencukur 500 ribu kalimat dan kemudian berlatih dengan sisa ~ 4,5 juta kalimat. Ketika pelatihan selesai, saya mengambil set validasi saya dan menghitung akurasinya.

Yang menarik adalah bahwa setelah hanya 4% dari set validasi saya, saya memiliki akurasi 69,4% dan persentase ini tidak berubah lebih dari 0,1% di kedua arah. Akhirnya saya hanya memotong pendek validasi karena jumlahnya macet di 69,5%.

Jadi mengapa memotong 10% untuk Validasi ketika saya mungkin bisa lolos dengan 1%? Apakah itu penting?

Mark Cramer
sumber
4
Jawaban umum adalah bahwa ukuran sampel yang lebih besar maka saya akan mengatakan 10.000 akan menjadi bagian yang sangat representatif dari populasi. Meningkatkan sampel, jika diambil dengan benar, mungkin mahal sementara perkiraan yang Anda lihat hampir sama. Cari konsep interval kepercayaan.
Alexey Burnakov

Jawaban:

20

Perangkat validasi yang lebih besar memberikan perkiraan kinerja out-of-sample yang lebih akurat. Tetapi seperti yang Anda perhatikan, pada titik tertentu perkiraan itu mungkin seakurat yang Anda butuhkan, dan Anda dapat membuat beberapa prediksi kasar mengenai ukuran sampel validasi yang Anda perlukan untuk mencapai titik itu.

Untuk akurasi klasifikasi yang benar / salah, Anda dapat menghitung kesalahan standar estimasi sebagai (standar deviasi dari variabel Bernouilli), di manapadalah probabilitas klasifikasi yang benar, dannhal(1-hal)/nhaln adalah ukuran set validasi. Tentu saja Anda tidak tahu , tetapi Anda mungkin memiliki beberapa gagasan tentang jangkauannya. Misalnya, Anda mengharapkan akurasi antara 60-80%, dan Anda ingin perkiraan Anda memiliki kesalahan standar lebih kecil dari 0,1%: hal Berapa besar seharusnyan(ukuran set validasi)? Untukp=0,6kita mendapatkan: n> 0,6 - 0,6 2

hal(1-hal)/n<0,001
nhal=0,6 Untukp=0,8kita dapatkan: n>0,8-0,82
n>0,6-0,620,0012=240,000
hal=0.8
n>0.8-0.820,0012=160,000
Jadi ini memberi tahu kami bahwa Anda dapat menggunakan kurang dari 5% dari 5 juta sampel data Anda, untuk validasi. Persentase ini turun jika Anda mengharapkan kinerja yang lebih tinggi, atau terutama jika Anda puas dengan kesalahan standar yang lebih rendah dari perkiraan kinerja out-of-sample Anda (misalnya dengan dan untuk se <1%, Anda hanya perlu 2100 sampel validasi , atau kurang dari dua puluh persen dari data Anda).hal=0,7

Perhitungan ini juga menunjukkan poin yang dibuat oleh Tim dalam jawabannya, bahwa keakuratan estimasi Anda bergantung pada ukuran absolut set validasi Anda (yaitu pada ), daripada ukurannya relatif terhadap set pelatihan.n

(Juga saya dapat menambahkan bahwa saya mengasumsikan pengambilan sampel representatif di sini. Jika data Anda sangat heterogen, Anda mungkin perlu menggunakan set validasi yang lebih besar hanya untuk memastikan bahwa data validasi mencakup semua kondisi yang sama dll. Seperti data kereta & tes Anda. )

Ruben van Bergen
sumber
14
Perhatikan bahwa mencapai maksimum pada p = 1 / 2 , dalam hal p ( 1 - p ) = 1 / 4 . Jadi Anda selalu bisa menggunakanhal(1-hal)hal=1/2hal(1-hal)=1/4hal(1-hal)/n1/4n
11

Diskusi yang bagus tentang masalah ini disediakan oleh Andrew Ng pada kursus Pembelajaran Mendalamnya di Coursera.org . Seperti yang dia perhatikan, pemisahan standar seperti 8: 2, atau 9: 1 valid jika data Anda kecil hingga cukup besar, tetapi banyak masalah pembelajaran mesin saat ini menggunakan data dalam jumlah sangat besar (mis. Jutaan pengamatan seperti dalam kasus Anda), dan dalam skenario seperti itu Anda dapat meninggalkan 2%, 1%, atau bahkan kurang dari data sebagai set tes, mengambil semua data yang tersisa untuk set pelatihan Anda (dia sebenarnya berpendapat untuk menggunakan juga set dev). Saat ia berargumen, semakin banyak data yang Anda berikan algoritma Anda, semakin baik untuk kinerjanya dan ini terutama berlaku untuk pembelajaran yang mendalam * (ia juga mencatat bahwa ini tidak harus menjadi kasus untuk algoritma pembelajaran mesin pembelajaran non-dalam).

Seperti yang sudah diperhatikan di komentar oleh Alex Burn , ini bukan tentang ukuran set tes Anda, tetapi tentang keterwakilannya untuk masalah Anda. Biasanya dengan ukuran data yang lebih besar, kami berharap ini lebih representatif, tetapi tidak harus demikian. Ini selalu merupakan trade-off dan Anda perlu membuat pertimbangan khusus masalah. Tidak ada aturan yang mengatakan bahwa set tes tidak boleh kurang dari X kasus, atau kurang dari Y% dari data Anda.

* - Penafian: Saya mengulangi argumen Andrew Ng di sini, saya tidak akan menganggap diri saya sebagai spesialis dalam pembelajaran yang mendalam.

Tim
sumber
2
"Ini sebenarnya bukan tentang ukuran set tes Anda, tetapi tentang keterwakilannya untuk masalah Anda." - mungkin cara yang indah untuk menggambarkannya adalah bahwa tidak ada gunanya memiliki set pelatihan besar untuk sesuatu yang berhubungan dengan anjing dan kucing jika set pelatihan Anda hampir seluruhnya terdiri dari kucing.
JM bukan ahli statistik
Lebih khusus ini dalam kuliah 'Train / Dev / Test set' di minggu 1 dari 'Meningkatkan Jaringan Saraf Tiruan: Penyesuaian Hyperparameter, Regularisasi dan Optimasi' (yang merupakan pt. 2 dari seluruh spesialisasi pembelajaran mendalam)
icc97
2
Inilah kutipan lengkap dari kuliah: "Jadi dalam contoh ini di mana Anda memiliki sejuta contoh, jika Anda hanya membutuhkan 10.000 untuk dev Anda dan 10.000 untuk pengujian Anda, rasio Anda akan lebih seperti 10.000 ini adalah 1% dari 1 juta sehingga Anda Akan ada 98% kereta, 1% dev, 1% tes. Dan saya juga telah melihat aplikasi di mana, jika Anda memiliki lebih dari satu juta contoh, Anda mungkin berakhir dengan 99,5% kereta dan 0,25% dev, 0,25% tes Atau mungkin 0,4% dev, 0,1% tes. "
icc97
5

Dalam artikel Asymptotic Statistical Theory of Overtraining and Cross-Validationoleh Shun-ichi Amari et al. [1] mereka mempelajari jumlah sampel optimal untuk ditinggalkan sebagai set validasi (untuk tujuan penghentian awal) dan menyimpulkan bahwa pemisahan optimal adalah1/2Ndimana Nadalah jumlah sampel yang tersedia. Dalam kasus AndaN=5106 dan pemisahan optimal adalah 0,00032=0,032%. Menurut formula 1580 sampel harus optimal dalam kasus Anda.

[1] https://www.ncbi.nlm.nih.gov/pubmed/18255701

Jan Kukacka
sumber