Adakah "aturan praktis" tentang jumlah fitur versus jumlah instance? (kumpulan data kecil)

17

Saya bertanya-tanya, apakah ada heuristik pada sejumlah fitur versus jumlah pengamatan. Jelas, jika sejumlah fitur sama dengan jumlah pengamatan, model akan sesuai. Dengan menggunakan metode jarang (LASSO, elastic net) kita dapat menghapus beberapa fitur untuk mengurangi model.

Pertanyaan saya adalah (secara teoritis): sebelum kita menggunakan metrik untuk menilai pemilihan model, adakah pengamatan empiris yang mengaitkan jumlah fitur yang optimal dengan jumlah pengamatan?

Misalnya: untuk masalah klasifikasi biner dengan 20 instance di setiap kelas, apakah ada batasan atas jumlah fitur yang digunakan?

Arnold Klein
sumber

Jawaban:

13

Banyak makalah yang berpendapat demikian

hanya dalam kasus yang jarang ada distribusi kesalahan yang diketahui sebagai fungsi dari jumlah fitur dan ukuran sampel.

Permukaan kesalahan untuk set instance yang diberikan, dan fitur, adalah fungsi dari korelasi (atau kurangnya) antara fitur.

Makalah ini menyarankan yang berikut:

  • N-1N
  • N

Pendekatan (empiris) lain yang bisa diambil, adalah menggambar kurva belajar untuk ukuran sampel yang berbeda dari dataset yang sama, dan menggunakannya untuk memprediksi kinerja classifier pada ukuran sampel yang berbeda. Inilah tautan ke kertas .

shark8me
sumber
2
Saya menemukan jawaban ini agak menyesatkan karena asumsi penting dari kertas Hua hilang: Fitur Hua et al. pertimbangkan dalam makalah terkait semua informatif, yang bukan apa yang dapat Anda harapkan dalam praktik. IMHO ini harus dengan jelas dinyatakan sebagai jenis "fitur" IMHO paling umum yang tidak berkorelasi adalah saluran pengukuran yang tidak informatif.
Cbeleites mendukung Monica
Wrt. kurva belajar: OP mungkin tidak akan dapat menggunakannya dengan 2 × 20 kasus, karena mereka tidak dapat diukur dengan presisi yang berguna dari beberapa kasus. Hua menyebutkan ini secara singkat, dan kami membahas kesulitan ini agak terperinci dalam makalah yang saya tautkan dalam jawaban saya di bawah ini.
Cbeleites mendukung Monica
8

dari pengalaman saya sendiri: Dalam satu kasus, saya telah bekerja dengan database nyata yang sangat kecil (300 gambar) dengan banyak kelas, masalah ketidakseimbangan data yang parah dan saya akhirnya menggunakan 9 fitur: SIFT, HOG, Konteks bentuk, SSIM, GM dan 4 fitur berbasis DNN. Dalam kasus lain, saya bekerja dengan basis data yang sangat besar (> 1 gambar M) dan berakhir dengan hanya menggunakan fitur HOG. Saya pikir tidak ada hubungan langsung antara jumlah instance dan jumlah fitur yang diperlukan untuk mencapai akurasi tinggi. TETAPI: jumlah kelas, kesamaan antara kelas dan variasi dalam kelas yang sama (tiga parameter ini) dapat mempengaruhi jumlah fitur. ketika memiliki basis data yang lebih besar dengan banyak kelas dan kesamaan besar antara kelas dan variasi besar dalam kelas yang sama Anda memerlukan lebih banyak fitur untuk mencapai akurasi tinggi. INGAT:

Bashar Haddad
sumber
@Bashar Haddad: Perbaiki saya jika saya salah (karena saya baru mengenal visi komputer dan ML), bukankah fitur HOG sebenarnya adalah vektor dimensi tinggi (dalam kasus saya, saya mendapatkan fitur HOG 1764-dimensional). Jadi ketika Anda mengatakan 9 fitur dan salah satunya adalah HOG, bukankah Anda benar-benar mendapatkan ruang fitur dimensi tinggi untuk HOG sendiri?
Mathmath
1
Dalam literatur mereka menggunakan fitur kata untuk menunjukkan tipe fitur atau indeks dimensi. Jadi ketika saya mengatakan saya menggunakan 6 fitur, ini berarti saya menggunakan 6 jenis fitur, masing-masing adalah (1 x D) vektor. jika saya berbicara tentang jenis fitur Hog, setiap dimensi dapat menjadi fitur.
Bashar Haddad
2

Itu tergantung ... tapi tentu saja jawaban itu membuat Anda ke mana-mana.

Dia adalah beberapa aturan praktis untuk kompleksitas model: Belajar dari data - dimensi VC

"Sangat kasar" Anda membutuhkan 10 titik data untuk setiap parameter model. Dan jumlah parameter model dapat mirip dengan jumlah fitur.

Gerenuk
sumber
2

Agak terlambat ke pesta, tapi di sini ada beberapa heuristik.

masalah klasifikasi biner dengan 20 instance di setiap kelas, apakah ada batasan atas jumlah fitur yang digunakan?

  • Untuk pelatihan pengklasifikasi linier, 3 - 5 kasus independen per kelas dan fitur direkomendasikan. Batas ini memberi Anda model yang andal stabil , itu tidak menjamin model yang baik (ini tidak mungkin: Anda bisa memiliki data tidak informatif di mana tidak ada model yang bisa mencapai kinerja generalisasi yang baik)

  • Namun, untuk ukuran sampel sekecil skenario Anda, verifikasi (validasi) alih-alih pelatihan adalah hambatan, dan verifikasi bergantung pada jumlah absolut kasus uji daripada kasus relatif terhadap kompleksitas model: sebagai aturan praktis, Anda perlu ≈ 100 tes kasus dalam penyebut untuk memperkirakan proporsi dengan interval kepercayaan yang tidak lebih dari 10% poin lebar.

    Sayangnya ini juga berarti bahwa Anda pada dasarnya tidak bisa mendapatkan kurva pembelajaran empiris untuk aplikasi Anda: Anda tidak bisa mengukurnya dengan cukup tepat, dan dalam praktiknya Anda akan selalu mengalami kesulitan besar memperkirakannya karena untuk pelatihan Anda bereaksi terhadap ukuran sampel kecil dengan membatasi model Anda kompleksitas - dan Anda akan mengendurkan ini dengan meningkatkan ukuran sampel.

    Lihat makalah kami untuk detail: Beleites, C. dan Neugebauer, U. dan Bocklitz, T. dan Krafft, C. dan Popp, J .: Perencanaan ukuran sampel untuk model klasifikasi. Anal Chim Acta, 2013, 760, 25-33.
    DOI: 10.1016 / j.aca.2012.11.007

    naskah diterima di arXiv: 1211.1323

  • Saya tidak pernah memiliki sesuatu yang dekat dengan rekomendasi ini (data spektroskopi, juga untuk aplikasi medis). Apa yang saya lakukan adalah: Saya mengukur stabilitas model sebagai bagian dari pemodelan dan proses verifikasi.

Cbeleites mendukung Monica
sumber