Saya melakukan preprocessing data dan akan membangun Convonets pada data saya setelahnya.
Pertanyaan saya adalah: Katakan saya memiliki set data total dengan 100 gambar, saya menghitung rata-rata untuk masing-masing dari 100 gambar dan kemudian kurangi dari masing-masing gambar, kemudian pisahkan ini ke dalam set kereta dan validasi, dan saya melakukan hal yang sama langkah-langkah untuk memproses pada set tes yang diberikan, tetapi sepertinya ini bukan cara yang benar untuk melakukannya sesuai dengan tautan ini: http://cs231n.github.io/neural-networks-2/#datapre
" Perangkap yang umum . Poin penting untuk dibuat tentang preprocessing adalah bahwa setiap statistik preprocessing (misalnya rata-rata data) hanya harus dihitung pada data pelatihan, dan kemudian diterapkan pada validasi / data uji. Misalnya menghitung rata-rata dan mengurangkannya dari setiap gambar di seluruh dataset dan kemudian membelah data menjadi train / val / test split akan menjadi kesalahan, sebagai gantinya, rata-rata harus dihitung hanya atas data pelatihan dan kemudian dikurangi secara merata dari semua pemisahan (train / val / test). "
Saya menduga apa yang penulis katakan adalah, jangan hitung rata-rata dan kurangi dalam setiap gambar, tetapi hitung rata-rata dari set gambar total (yaitu (image1 + ... + image100) / 100) dan kurangi mean untuk masing-masing gambar.
Saya tidak mengerti, adakah yang bisa menjelaskan? dan mungkin juga menjelaskan mengapa apa yang saya lakukan salah (jika memang salah).
Jawaban:
Anggaplah Anda memiliki 100 gambar secara total; 90 adalah data pelatihan dan 10 adalah data uji.
sumber
A
jikaA
tidak menggeneralisasi dengan baik untuk usia yang berbeda. Jika kita menghitung usia rata-rata di seluruh dataset, kita akan mendapatkan usia rata-rata yang lebih representatif. Jika kita sekarang menggunakan usia rata-rata yang tidak bias dalam model ini,A
kita mungkin akan mendapatkan kinerja yang lebih baik daripada sebelumnya meskipunA
tidak menggeneralisasi dengan baik untuk usia yang berbeda.)