Apa domain di mana SVM masih mutakhir?


10

Tampaknya jaringan syaraf yang dalam dan model berbasis jaringan syaraf lainnya mendominasi banyak bidang saat ini seperti visi komputer, klasifikasi objek, pembelajaran penguatan, dll.

Apakah ada domain di mana SVM (atau model lain) masih menghasilkan hasil yang canggih?

Jawaban:


12

State-of-the-art adalah bar yang sulit, karena tidak jelas bagaimana harus diukur. Kriteria alternatif, yang mirip dengan state-of-the-art, adalah untuk bertanya kapan Anda mungkin lebih suka mencoba SVM.

SVM memiliki beberapa keunggulan:

  1. Melalui trik kernel, runtime dari SVM tidak meningkat secara signifikan jika Anda ingin mempelajari pola kombinasi banyak fitur non-linear, daripada set fitur asli. Sebaliknya, pendekatan yang lebih modern seperti jaringan saraf yang dalam perlu perlu lebih dalam atau lebih luas untuk memodelkan pola yang sama, yang akan menambah waktu pelatihannya.
  2. SVM memiliki bias yang melekat terhadap pengambilan hipotesis "konservatif", yang cenderung kurang sesuai dengan data, karena mereka mencoba untuk menemukan hipotesis margin maksimum. Dalam arti tertentu, mereka "memanggang" pisau cukur Occam.
  3. SVM hanya memiliki dua hiperparameter (pilihan kernel dan konstanta regularisasi), sehingga sangat mudah untuk mengatasi masalah tertentu. Biasanya cukup untuk menyetelnya dengan melakukan pencarian kotak sederhana melalui ruang parameter, yang dapat dilakukan secara otomatis.

SVM juga memiliki beberapa kelemahan:

  1. SVM memiliki runtime yang skala kubik dalam jumlah titik data yang ingin Anda latih (yaitu runtime HAI(n3) ) 1 . Ini tidak sebanding dengan, katakanlah, pendekatan pelatihan khas untuk jaringan saraf yang dalam yang berjalan dalam waktu HAI(wne) , di mana n adalah jumlah titik data, e adalah jumlah zaman pelatihan, dan w adalah jumlah bobot dalam jaringan. Umumnya w,e<<n .
  2. Untuk memanfaatkan trik Kernel, SVM menyimpan nilai untuk "jarak" yang di-kernel-kan antara dua pasang titik. Ini berarti mereka membutuhkan memori HAI(n2) . Ini jauh, jauh, lebih banyak masalah daripada runtime kubik pada sebagian besar set dunia nyata. Lebih dari beberapa ribu titik data akan membuat sebagian besar server modern meronta-ronta , yang meningkatkan runtime efektif dengan beberapa kali lipat. Bersama dengan poin 1, ini berarti SVM akan cenderung menjadi lambat tidak berfungsi untuk set lebih dari 5.000-10.000 titik data, pada batas atas.

Semua faktor ini menunjukkan bahwa SVM relevan untuk satu kasus penggunaan: set data kecil di mana pola target dipikirkan, apriori, merupakan fungsi reguler, tetapi sangat non-linear, dari sejumlah besar fitur. Kasus penggunaan ini sebenarnya cukup sering muncul. Contoh aplikasi baru-baru ini di mana saya menemukan SVM sebagai pendekatan alami sedang membangun model prediksi untuk fungsi target yang dikenal sebagai hasil interaksi antara pasangan fitur (khususnya, komunikasi antara pasangan agen). SVM dengan kernel kuadrat karenanya dapat secara efisien mempelajari tebakan yang konservatif, masuk akal.


1 Ada perkiraan algoritma yang akan menyelesaikan SVM lebih cepat dari ini, seperti yang tercantum dalam jawaban lain.


7

Deep Learning dan Neural Networks mendapatkan sebagian besar fokus karena kemajuan terbaru di bidang ini dan sebagian besar pakar meyakini bahwa ini adalah masa depan dalam memecahkan masalah pembelajaran mesin.

Tetapi jangan salah, model klasik masih menghasilkan hasil yang luar biasa dan dalam masalah tertentu, mereka dapat menghasilkan hasil yang lebih baik daripada pembelajaran yang mendalam.

Regresi Linier sejauh ini masih merupakan algoritma pembelajaran mesin yang paling banyak digunakan di dunia.

Sulit untuk mengidentifikasi domain tertentu di mana model klasik selalu tampil lebih baik karena akurasi sangat ditentukan pada bentuk dan kualitas data input.

Jadi pemilihan algoritma dan model selalu merupakan trade-off. Pernyataan ini agak akurat untuk membuat model klasik tetap tampil lebih baik dengan set data yang lebih kecil. Namun, banyak penelitian akan meningkatkan kinerja model pembelajaran yang mendalam pada data yang lebih sedikit.

Kebanyakan model klasik membutuhkan lebih sedikit sumber daya komputasi sehingga jika tujuan Anda adalah kecepatan maka itu jauh lebih baik.

Selain itu, model klasik lebih mudah diterapkan dan divisualisasikan yang dapat menjadi indikator kinerja, tetapi tergantung pada tujuan Anda.

Jika Anda memiliki sumber daya yang tidak terbatas, kumpulan data yang dapat diobservasi yang diberi label dengan benar dan Anda menerapkannya dengan benar dalam domain masalah, maka pembelajaran mendalam kemungkinan akan memberi Anda hasil yang lebih baik dalam banyak kasus.

Tetapi dalam pengalaman saya, kondisi dunia nyata tidak pernah sesempurna ini


0

Sepenuhnya setuju dengan jawaban @ John. Akan mencoba dan melengkapi itu dengan beberapa poin lagi.

Beberapa keuntungan SVM:

a) SVM didefinisikan oleh masalah optimisasi cembung yang mana ada metode efisien untuk dipecahkan, seperti SMO .

b) Efektif dalam ruang berdimensi tinggi dan juga dalam kasus di mana jumlah dimensi lebih besar dari jumlah sampel.

c) Menggunakan subset poin pelatihan dalam fungsi keputusan (disebut vektor dukungan), sehingga juga hemat memori.

d) Fungsi Kernel yang berbeda dapat ditentukan untuk fungsi keputusan. . Dalam bentuknya yang paling sederhana, trik kernel berarti mentransformasikan data ke dimensi lain yang memiliki margin pemisah yang jelas antara kelas-kelas data.

Kerugian dari mesin dukungan vektor meliputi:

a) Jika jumlah fitur jauh lebih besar dari jumlah sampel, jangan terlalu pas dalam memilih fungsi Kernel dan istilah regularisasi sangat penting. Model kernel dapat menjadi sangat sensitif untuk menyesuaikan kriteria pemilihan model

b) SVM tidak secara langsung memberikan estimasi probabilitas. Dalam banyak masalah klasifikasi, Anda sebenarnya menginginkan kemungkinan keanggotaan kelas, jadi akan lebih baik menggunakan metode seperti Regresi Logistik, daripada memposting proses SVM untuk mendapatkan probabilitas.


-1

Untuk dataset data tabular dimensi rendah. DNN tidak efisien pada input dimensi rendah karena overparametrisation besar. Jadi meskipun dataset berukuran besar, tetapi setiap sampel SVM berdimensi rendah akan mengalahkan DNN.

Lebih umum jika data tabular dan korelasi antara bidang sampel lemah dan berisik, SVM mungkin masih mengalahkan DNN bahkan untuk data dimensi tinggi, tetapi itu tergantung pada data tertentu.

Sayangnya saya tidak dapat mengingat makalah spesifik tentang subjek, jadi itu sebagian besar alasan yang masuk akal, Anda tidak harus percaya.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.