Regresi logistik kernel vs SVM

32

Seperti diketahui oleh semua, SVM dapat menggunakan metode kernel untuk memproyeksikan titik data di ruang yang lebih tinggi sehingga titik dapat dipisahkan oleh ruang linear. Tetapi kita juga dapat menggunakan regresi logistik untuk memilih batas ini di ruang kernel, jadi apa kelebihan SVM? Karena SVM menggunakan model jarang di mana hanya vektor-vektor pendukung yang berkontribusi saat memprediksi, apakah ini membuat SVM lebih cepat dalam prediksi?

FindBoat
sumber
1
Slide Hastie adalah apa yang Anda cari
Yibo Yang

Jawaban:

28

KLR dan SVM

  1. Performa klasifikasi hampir identik dalam kedua kasus.
  2. KLR dapat memberikan probabilitas kelas sedangkan SVM adalah penggolong deterministik.
  3. KLR memiliki ekstensi alami untuk klasifikasi multi-kelas sedangkan di SVM, ada beberapa cara untuk memperluasnya ke klasifikasi multi-kelas (dan masih merupakan area penelitian apakah ada versi yang memiliki kualitas unggul yang terbukti lebih unggul dari yang lain).
  4. Secara mengejutkan atau tidak mengejutkan, KLR juga memiliki properti margin optimal yang dinikmati oleh SVM (setidaknya dalam batas)!

Melihat di atas hampir terasa seperti regresi logistik kernel adalah apa yang harus Anda gunakan. Namun, ada keuntungan tertentu yang dinikmati SVM

  1. O(N3)O(N2k)k
  2. Pengklasifikasian dalam SVM dirancang sedemikian rupa sehingga hanya ditentukan dalam hal vektor dukungan, sedangkan di KLR, pengklasifikasi didefinisikan atas semua titik dan bukan hanya vektor dukungan. Ini memungkinkan SVM untuk menikmati beberapa percepatan alami (dalam hal penulisan kode efisien) yang sulit dicapai untuk KLR.
TenaliRaman
sumber
7
+1 Saya hanya akan menambahkan bahwa jika kompleksitas komputasi adalah masalah, tidak terlalu sulit untuk membangun model regresi logistik kernel yang jarang dengan dengan rakus memilih vektor-vektor dasar untuk meminimalkan kerugian yang diatur pada set pelatihan, atau pendekatan lainnya. Lihat kertas di "Mesin Vektor Informatif" misalnya.
Dikran Marsupial
4
Juga, cukup sering jika Anda mengoptimalkan kernel dan parameter regularisasi dari SVM Anda berakhir dengan model di mana hampir semua data adalah vektor dukungan. Sparsity dari SVM adalah kecelakaan yang membahagiakan, itu bukan benar-benar nilai jual yang baik dari teknik karena umumnya memungkinkan untuk mencapai sparsity yang lebih besar dengan cara lain.
Dikran Marsupial
1
@DikranMarsupial Terima kasih atas penunjuk ke Mesin Vektor Informatif. Saya tahu beberapa karya di Sparse KLR tetapi sejauh ini saya tidak berpikir ada di antara mereka yang dapat mengukur dengan baik untuk dataset besar. Either way melepaskan implementasi KLR jarang yang ramah-pengguna seperti libSVM atau SVM Light dapat berjalan jauh dalam penerapannya. Permintaan maaf jika implementasi seperti itu sudah ada, namun saya tidak mengetahui adanya. (EDIT: Saya pikir Anda bermaksud "Impor mesin vektor", bukan "Mesin vektor informatif"?)
TenaliRaman
2
Jika Anda berakhir dengan semua titik data sebagai vektor dukungan, maka Anda terlalu pas. Ini terjadi dengan RBF berkali-kali. Bahkan, salah satu hal mendasar yang saya pelajari sebagai pengguna SVM adalah pertama-tama dan terutama memeriksa fraksi poin yang dipilih sebagai vektor dukungan. Jika lebih dari 30% data, saya langsung menolak model itu.
TenaliRaman
3
Itu tidak benar bahwa semua titik data menjadi SVs berarti terlalu pas. Jika nilai C kecil, maka ada sedikit penalti pada variabel slack maka Anda dapat memiliki classifier yang sangat hambar (yang membuat banyak kesalahan pada set pelatihan) dan margin sangat lebar sehingga semua data adalah vektor dukungan. Menolak model non-jarang bukan aturan praktis yang baik karena kadang-kadang SVM dengan kinerja generalisasi terbaik adalah non-jarang. Jumlah SV adalah batas atas pada kesalahan meninggalkan-satu-keluar, tetapi seringkali memang merupakan batas yang sangat hilang!
Dikran Marsupial
15

Inilah pendapat saya tentang masalah ini:

SVM adalah cara yang sangat elegan untuk melakukan klasifikasi. Ada beberapa teori yang bagus, beberapa matematika yang indah, mereka menggeneralisasi dengan baik, dan mereka juga tidak terlalu lambat. Cobalah untuk menggunakannya untuk regresi, dan itu menjadi berantakan.

  • Berikut adalah sumber daya pada regresi SVM. Perhatikan parameter tambahan untuk mengubah arah dan diskusi mendalam tentang algoritma pengoptimalan.

Regresi Proses Gaussian memiliki banyak matematika kernelly yang sama, dan ini berfungsi baik untuk regresi. Sekali lagi, sangat elegan, dan tidak terlalu lambat. Cobalah untuk menggunakannya untuk klasifikasi, dan mulai terasa cukup kludgy.

  • Inilah bab dari buku GP tentang regresi.

  • Inilah bab tentang klasifikasi, untuk perbandingan. Perhatikan bahwa Anda berakhir dengan beberapa perkiraan rumit atau metode berulang.

Satu hal yang menyenangkan tentang menggunakan dokter untuk klasifikasi, adalah memberi Anda distribusi prediksi, bukan klasifikasi ya / tidak sederhana.

Joe Pete yang kekar
sumber
2
+1 GP adalah alternatif yang baik untuk KLR (meskipun KLR sering memberikan kinerja yang lebih baik karena pemilihan model berbasis bukti bisa salah dengan cukup mudah jika ada spesifikasi salah model) dan validasi silang sering lebih disukai.
Dikran Marsupial
7

please visit http://www.stanford.edu/~hastie/Papers/svmtalk.pdf

Some conclusions: The classification performance is very similar. Has limiting optimal margin properties. Provides estimates of the class probabilities. Often these are more useful than the classifications. Generalizes naturally to M-class classification through kernel multi-logit regression.

pockeystar
sumber