Apa jenis masalah pembelajaran yang cocok untuk Mesin Vector Support?

16

Apa keunggulan atau properti yang menunjukkan bahwa masalah pembelajaran tertentu dapat diatasi dengan menggunakan mesin vektor dukungan?

Dengan kata lain, apa itu, ketika Anda melihat masalah belajar, membuat Anda pergi "oh saya pasti harus menggunakan SVM untuk ini '' daripada jaringan saraf atau pohon Keputusan atau apa pun?

Ragnar
sumber
Menghapus supervised learningtag, karena SVM juga dapat digunakan dalam masalah pembelajaran yang tidak diawasi .
Dawny33
Bisakah menjelaskan bagaimana svm dapat digunakan untuk masalah yang tidak diawasi dan paket mana yang mengimplementasikannya?
GeorgeOfTheRF
@ML_Pro Silakan buka tautan yang saya sertakan dalam komentar saya.
Dawny33
3
@ Dawny33, penerapan SVM untuk pembelajaran tanpa pengawasan adalah pengecualian dan bukan aturannya. SVM adalah metode pembelajaran yang diawasi.
AN6U5
1
@ AN6U5 Terima kasih atas informasinya :) exceptionMaksud Anda, itu hanya tweak dan bukan konvensi, kan?
Dawny33

Jawaban:

7

SVM dapat digunakan untuk klasifikasi (membedakan antara beberapa kelompok atau kelas) dan regresi (memperoleh model matematika untuk memprediksi sesuatu). Mereka dapat diterapkan untuk masalah linier dan non linier.

Sampai 2006 mereka adalah algoritma tujuan umum terbaik untuk pembelajaran mesin. Saya mencoba menemukan makalah yang membandingkan banyak implementasi dari algoritma yang paling dikenal: svm, jaring saraf, pohon, dll. Saya tidak dapat menemukannya menyesal (Anda harus percaya padaku, hal buruk). Dalam makalah algoritma yang mendapatkan kinerja terbaik adalah svm, dengan libsvm perpustakaan.

Pada tahun 2006 Hinton datang dengan pembelajaran yang dalam dan jaring saraf. Dia meningkatkan keadaan saat ini dengan setidaknya 30%, yang merupakan kemajuan besar. Namun pembelajaran yang mendalam hanya mendapatkan kinerja yang baik untuk set pelatihan besar. Jika Anda memiliki satu set pelatihan kecil saya akan menyarankan untuk menggunakan svm.

Selanjutnya Anda dapat menemukan di sini infografis yang berguna tentang kapan harus menggunakan algoritma pembelajaran mesin yang berbeda dengan scikit-learn. Namun, sejauh pengetahuan saya tidak ada kesepakatan di antara komunitas ilmiah tentang jika masalah memiliki fitur X, Y dan Z maka lebih baik menggunakan svm. Saya akan menyarankan untuk mencoba metode yang berbeda. Juga, tolong jangan lupa bahwa svm atau jaring saraf hanyalah metode untuk menghitung model. Ini sangat penting juga fitur yang Anda gunakan.

hoaphumanoid
sumber
1
@HoapHumaboid Saya tahu tentang SVC dan SVR dan bahwa kita dapat menggunakan kernel untuk menerapkan SVM ke NLPs dan saya mengetahui makalah yang membandingkan SVM dengan algoritma pembelajaran lainnya ... Saya bertanya-tanya tentang karakteristik dari masalah pembelajaran prospektif yang akan membuat jelas bahwa itu harus ditangani dengan SVM. Dengan kata lain, apa yang terjadi ketika Anda melihat masalah belajar membuat Anda pergi "oh saya pasti harus menggunakan SVM untuk ini '' daripada NNs atau pohon Keputusan atau apa pun
Ragnar
@Ragnar silakan lihat respons saya yang diedit
hoaphumanoid
2

Mari kita asumsikan bahwa kita berada dalam pengaturan klasifikasi.

Untuk svmrekayasa fitur adalah landasan:

  • set harus terpisah secara linear. Kalau tidak, data perlu diubah (misalnya menggunakan kernel). Ini tidak dilakukan oleh algo itu sendiri dan mungkin meniup sejumlah fitur.
  • Saya akan mengatakan bahwa svmkinerja menderita karena kami meningkatkan jumlah dimensi lebih cepat daripada metodologi lain (ansambel pohon). Ini karena masalah optimisasi terbatas yang mendukung svms. Kadang pengurangan fitur layak, kadang tidak dan ini adalah saat kita tidak bisa membuka jalan untuk penggunaan yang efektifsvm
  • svmkemungkinan akan kesulitan dengan dataset di mana jumlah fitur jauh lebih besar dari jumlah pengamatan. Ini, sekali lagi, dapat dipahami dengan melihat masalah optimizatiom terbatas.
  • variabel kategori tidak ditangani di luar kotak oleh svmalgoritma.
pincopallino
sumber