Apakah boleh melakukan pemilihan fitur tanpa pengawasan sebelum validasi silang?

9

Dalam Elemen Pembelajaran Statistik , saya menemukan pernyataan berikut:

Ada satu kualifikasi: langkah penyaringan awal tanpa pengawasan dapat dilakukan sebelum sampel ditinggalkan. Sebagai contoh, kita dapat memilih 1000 prediktor dengan varians tertinggi di seluruh 50 sampel, sebelum memulai validasi silang. Karena penyaringan ini tidak melibatkan label kelas, itu tidak memberikan prediktor keuntungan yang tidak adil.

Apakah ini benar-benar valid? Maksud saya, dengan memfilter atribut sebelumnya, kita tidak meniru data pelatihan / lingkungan data baru - jadi apakah masalah ini bahwa penyaringan yang kita lakukan tidak diawasi? Bukankah lebih baik untuk benar-benar melakukan semua langkah preprocessing dalam proses cross-validasi? Jika bukan itu masalahnya, maka itu berarti semua preprocessing yang tidak diawasi dapat dilakukan sebelumnya, termasuk normalisasi fitur / PCA, dll. Tetapi dengan melakukan ini pada seluruh rangkaian pelatihan, kami sebenarnya membocorkan beberapa data ke set pelatihan. Saya bisa setuju bahwa dengan dataset yang relatif stabil, perbedaan-perbedaan ini kemungkinan besar akan sangat kecil - tetapi itu tidak berarti mereka tidak ada, kan? Apa cara yang benar untuk memikirkan hal ini?

Matek
sumber

Jawaban:

2

Sebagai tahap yang dilakukan sebelum validasi silang, pemilihan fitur yang tidak diawasi agak mirip dengan normalisasi fitur:

  1. Dari sudut pandang lipatan spesifik dalam validasi silang, data kereta mengintip data uji (meskipun hanya dalam variabel independen).

  2. Mengintip ini relatif ringan.

Normalisasi fitur sebelum validasi silang dibahas dalam pertanyaan ini . Mengutip jawaban di sana oleh Dikran Marsupial

Validasi silang paling baik dilihat sebagai metode untuk memperkirakan kinerja prosedur statistik, daripada model statistik. Dengan demikian untuk mendapatkan perkiraan kinerja yang tidak bias, Anda perlu mengulangi setiap elemen dari prosedur itu secara terpisah di setiap lipatan validasi silang, yang akan mencakup normalisasi.

Jadi, jika Anda bisa meluangkan sumber daya, hal terbaik akan memiliki masing-masing cross-validasi kali lipat lakukan setiap pengolahan data-dependent dari awal.

Namun, seperti jawaban jawaban untuk pertanyaan itu, dalam praktiknya, membalik urutan mungkin tidak akan banyak berubah. Ada tentu bukan substansial tidak adil keuntungan bahwa -tergantung pameran seleksi fitur. IMHO, itulah interpretasi dari kutipan dari Elements Of Statistics Learning .y

Ami Tavory
sumber
Nah, itu pada dasarnya bertepatan dengan pikiran saya, dan kalimat terakhir di sini sebenarnya adalah jawaban singkat untuk pertanyaan saya. Terima kasih, saya akan membuat ini menjadi jawaban yang diterima.
Matek
1
Efeknya mungkin kecil, tetapi mungkin tidak yang kecil. Seperti yang Anda katakan, ini seperti pra-penskalaan variabel independen Anda sebelum CV, yang akan menggunakan "masa depan" (data uji) untuk membantu skala "masa kini" (data pelatihan), yang tidak akan terjadi di dunia nyata. Jika Anda memiliki lipatan acak (tidak menggunakan deret waktu, stratifikasi, dll) itu kurang berpengaruh, tetapi mengapa mematahkan hambatan Train / Test dan semuanya?
Wayne
@Wayne, saya tentu setuju dengan Anda bahwa jika memungkinkan, yang terbaik adalah tidak melanggar penghalang kereta / tes. Secara pribadi, saya belum pernah menemukan kasus dunia nyata di mana ini membuat perbedaan (wrt FS tanpa pengawasan dan / atau normalisasi), tetapi saya telah menemukan kasus di mana itu benar-benar tidak mungkin untuk melakukan pemilihan fitur dengan "cara yang benar" (yaitu, dalam setiap melipat). Namun, saya melihat dari jawaban baik Anda (yang saya yakinkan) bahwa Anda telah menemukan kasus sebaliknya, jadi ternyata kedua skenario ada.
Ami Tavory
Saya tidak yakin bahwa saya telah menemukan hasil CV di mana normalisasi membuat perbedaan baik, yang saya atribut biasanya melakukan CV 10 kali lipat yang berarti tes lipat hanya 10%, yang membuat efeknya lebih kecil. Saya telah melihat perbedaan dengan sesuatu seperti perpecahan non-CV 67/33 atau bahkan 75/25.
Wayne
9

Saya mohon berbeda dalam pertanyaan ini dengan pendapat @ AmiTavory dan juga dengan Elemen Pembelajaran Statistik.

Berasal dari bidang terapan dengan ukuran sampel sangat rendah, saya memiliki pengalaman yang juga langkah-langkah pra-pemrosesan tanpa pengawasan dapat menimbulkan bias yang parah.

Di bidang saya yang akan paling sering PCA untuk pengurangan dimensi sebelum classifier dilatih. Meskipun saya tidak dapat menampilkan data di sini, saya telah melihat PCA + (cross validated LDA) vs cross validated (PCA + LDA) meremehkan tingkat kesalahan sekitar urutan besarnya . (Ini biasanya merupakan indikator bahwa PCA tidak stabil.)

Adapun argumentasi "keuntungan tidak adil" dari Elemen, jika varians dari kasus uji + diuji, kami berakhir dengan fitur yang bekerja dengan baik dengan pelatihan dan kasus uji. Jadi, kami menciptakan ramalan yang terpenuhi dengan sendirinya di sini yang merupakan penyebab dari bias yang terlalu optimistis. Bias ini rendah jika Anda memiliki ukuran sampel yang cukup nyaman.

Jadi saya merekomendasikan pendekatan yang sedikit lebih konservatif daripada Elemen:

  • perhitungan preprocessing yang mempertimbangkan lebih dari satu kasus perlu dimasukkan dalam validasi: yaitu mereka dihitung hanya pada set pelatihan masing-masing (dan kemudian diterapkan pada data uji)
  • langkah preprocessing yang mempertimbangkan masing-masing kasus sendiri (Saya spektroskopi: contoh akan menjadi koreksi dasar dan normalisasi intensitas, yang merupakan normalisasi baris-bijaksana) dapat ditarik keluar dari validasi silang selama mereka sebelum langkah pertama yang menghitung untuk beberapa kasus.

Yang sedang berkata, juga cross valiation hanyalah jalan pintas untuk melakukan studi validasi yang tepat. Dengan demikian, Anda dapat berdebat dengan kepraktisan:

  • Anda dapat memeriksa apakah pra-pemrosesan dalam pertanyaan menghasilkan hasil yang stabil (Anda dapat melakukannya misalnya dengan validasi silang). Jika Anda merasa sudah sangat stabil dengan ukuran sampel yang lebih rendah, IMHO Anda mungkin berpendapat bahwa tidak banyak bias akan diperkenalkan dengan menariknya keluar dari validasi silang.

  • Namun, mengutip pengawas sebelumnya: Waktu perhitungan bukanlah argumen ilmiah.
    Saya sering pergi untuk "menyelinap pratinjau" beberapa lipatan dan beberapa iterasi untuk validasi silang untuk memastikan semua kode (termasuk ringkasan / grafik hasil) dan kemudian meninggalkannya pada malam hari atau akhir pekan atau lebih di server untuk lebih validasi silang berbutir halus.

cbeleites tidak senang dengan SX
sumber