Saya memiliki beberapa keraguan dalam memahami SVM secara intuitif. Asumsikan kita telah melatih model SVM untuk klasifikasi menggunakan beberapa alat standar seperti SVMLight atau LibSVM.
Ketika kami menggunakan model ini untuk prediksi pada data uji, model menghasilkan file yang memiliki nilai "alpha" untuk setiap titik uji. Jika nilai alpha positif, titik uji milik Kelas 1, kalau tidak, itu milik Kelas 2. Sekarang, dapatkah kita mengatakan bahwa titik uji dengan nilai "alpha" yang lebih besar milik kelas terkait dengan probabilitas "lebih tinggi"?
Mirip dengan pertanyaan pertama, ketika kita memiliki SVM terlatih. SV terletak sangat dekat dengan hyper-plane. Jadi apakah itu berarti SV milik kelas itu dengan probabilitas tinggi? Bisakah kita menghubungkan probabilitas titik milik kelas dengan jaraknya dari "pesawat terbang"? Apakah nilai "alpha" mewakili jarak dari "hyperplane"?
Terima kasih atas masukan Anda.
Jawaban:
Biarkan saya menjawab pertanyaan Anda secara umum. SVM bukan model probabilistik. Salah satu alasannya adalah bahwa hal itu tidak sesuai dengan kemungkinan yang dapat dinormalisasi. Sebagai contoh dalam kuadrat terkecil yang Anda memiliki fungsi kehilangan dan regularizer . Vektor bobot diperoleh dengan meminimalkan jumlah keduanya. Namun ini setara dengan memaksimalkan log-posterior dari mengingat data yang dapat Anda lihat sebagai produk dari kemungkinan Gaussian dan Gaussian sebelum ( ‖ w ‖ 2 2 w p ( w | ( y 1 , x 1 ) , . . . , ( Y m , x m ) ) α 1 / Z exp ( - ‖ w ‖ 2 2 ) ∏∑saya∥ ysaya- ⟨ w , xsaya⟩ - b ∥22 ∥ w ∥22 w w Zp(w|(y1,x1),...,(ym,xm))∝1/Zexp(−∥w∥22)∏iexp(∥yi−⟨w,xi⟩−b∥22) w Z memastikan bahwa itu menormalkan). Anda sampai pada kemungkinan Gaussian dari fungsi kerugian dengan membalik tandanya dan menaruhnya. Namun, jika Anda melakukannya dengan hilangnya fungsi SVM, kemungkinan log bukanlah model probabilistik yang dapat dinormalisasi.
Ada upaya untuk mengubah SVM menjadi satu. Yang paling menonjol, yang-saya pikir-juga diimplementasikan dalam libsvm adalah:
John Platt: Output probabilistik untuk Mesin Vektor Pendukung dan Perbandingan dengan Metode Kemungkinan Teratur (NIPS 1999): http://www.cs.colorado.edu/~mozer/Teaching/syllabi/6622/papers/Platt1999.pdf
Untuk menjawab pertanyaan Anda lebih spesifik: Gagasan dalam SVM memang adalah bahwa semakin jauh vektor uji dari hyperplane semakin milik kelas tertentu (kecuali ketika itu di sisi yang salah tentu saja). Dalam hal itu, vektor dukungan bukan milik kelas dengan probabilitas tinggi karena mereka adalah yang terdekat atau di sisi yang salah dari hyperplane. Nilai yang Anda dapatkan dari libsvm tidak ada hubungannya dengan dalam fungsi keputusan. Ini lebih merupakan output dari fungsi keputusan (dan karena itu harus disebut ). Karena manaα α ∑i∈SVαik(x,xi)+b y y=∑i∈SVαik(x,xi)+b=⟨w,ϕ(x)⟩H+b w hidup dalam ruang kernel Hilbert mereproduksi, sebanding dengan jarak menandatangani kontrak dengan hyperplane tersebut. Itu akan terjadi jika Anda membaginya dengan norma , yang dalam istilah kernel adalah .y w ∥w∥H=∑i,j∈SVαiαjk(xi,xj)−−−−−−−−−−−−−−−−−√
sumber