Bagaimana cara mengetahui apakah data dapat dipisahkan secara linear?
21
Data memiliki banyak fitur (mis. 100) dan jumlah instance adalah 100.000. Data jarang. Saya ingin mencocokkan data menggunakan regresi logistik atau svm. Bagaimana saya tahu apakah fitur linear atau non-linear sehingga saya bisa menggunakan trik kernel jika non-linear?
Ada beberapa metode untuk menemukan apakah data dapat dipisahkan secara linear, beberapa di antaranya disorot dalam makalah ini (1). Dengan asumsi dua kelas dalam dataset, berikut adalah beberapa metode untuk menemukan apakah mereka dapat dipisahkan secara linear:
Pemrograman linier: Menentukan fungsi objektif yang dikenai kendala yang memenuhi pemisahan linier. Anda dapat menemukan detail tentang implementasi di sini .
Metode perceptron : Suatu perceptron dijamin akan menyatu jika data dapat dipisahkan secara linear.
Quadratic programming: Fungsi objektif optimalisasi pemrograman quadratic dapat didefinisikan dengan kendala seperti pada SVM.
Komputasi geometri: Jika seseorang dapat menemukan dua lambung cembung disjoint maka data dipisahkan secara linear
Metode Clustering: Jika seseorang dapat menemukan dua cluster dengan kemurnian cluster 100% menggunakan beberapa metode clustering seperti k-means, maka data dipisahkan secara linear.
(1): Elizondo, D., "Masalah keterpisahan linear: beberapa metode pengujian," di Neural Networks, Transaksi IEEE aktif, vol.17, no.2, pp.330-344, Maret 2006 doi: 10.1109 / TNN. 2005.860871
Yang mana (pendekatan LP) mudah ditafsirkan secara geometris, efisien secara komputasi, dan secara umum tersedia (sebagaimana rutinitas LP).
user603
3
Saya berasumsi Anda berbicara tentang masalah klasifikasi 2 kelas. Dalam hal ini ada garis yang memisahkan dua kelas Anda dan algoritma klasik apa pun harus dapat menemukannya ketika konvergen.
Dalam praktiknya, Anda harus melatih dan menguji data yang sama. Jika ada garis seperti itu maka Anda harus mendekati akurasi 100% atau 100% AUC. Jika tidak ada garis seperti itu maka pelatihan dan pengujian pada data yang sama akan menghasilkan setidaknya beberapa kesalahan. Berdasarkan volume kesalahan itu mungkin atau mungkin tidak layak untuk mencoba classifier non-linear.
+1 ini adalah intuisi geometris di balik metode yang diterapkan dalam paket RsafeBinaryRegression
user603
-2
Anda mencoba regresi logistik dan melihat cara kerjanya. Jika tidak berhasil, ada banyak kernel yang dapat Anda coba, dan mungkin masih tidak berhasil.
safeBinaryRegression
juga mengimplementasikan pendekatan pemrograman linier.Saya berasumsi Anda berbicara tentang masalah klasifikasi 2 kelas. Dalam hal ini ada garis yang memisahkan dua kelas Anda dan algoritma klasik apa pun harus dapat menemukannya ketika konvergen.
Dalam praktiknya, Anda harus melatih dan menguji data yang sama. Jika ada garis seperti itu maka Anda harus mendekati akurasi 100% atau 100% AUC. Jika tidak ada garis seperti itu maka pelatihan dan pengujian pada data yang sama akan menghasilkan setidaknya beberapa kesalahan. Berdasarkan volume kesalahan itu mungkin atau mungkin tidak layak untuk mencoba classifier non-linear.
sumber
sumber
safeBinaryRegression
Anda mencoba regresi logistik dan melihat cara kerjanya. Jika tidak berhasil, ada banyak kernel yang dapat Anda coba, dan mungkin masih tidak berhasil.
sumber