Menafsirkan jarak dari hyperplane di SVM

14

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.

  1. 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"?

  2. 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.

Amit
sumber
Saya pikir jawabannya adalah "tidak", tapi saya tidak cukup ke SVM untuk memberi Anda jawaban penuh. Jawaban saya adalah ketika Anda berada di sisi Timur Tembok Berlin, yah Anda berada di sisi yang salah, tidak peduli seberapa jauh Anda dari itu.
Arthur
scikits.learn telah memprediksi_proba untuk SVC dan linear_model.SGDClassifier, saya percaya untuk pengklasifikasi biner saja; Saya belum menggunakannya.
denis

Jawaban:

18

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 ) sayaysaya-w,xsaya-b22w22ww Zp(w|(y1,x1),...,(ym,xm))1/Zexp(w22)iexp(yiw,xib22)wZmemastikan 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ααiSVαsayak(x,xsaya)+byy=iSVαik(x,xi)+b=w,ϕ(x)H+bw 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 .ywwH=i,jSVαiαjk(xi,xj)

Fabee
sumber
thnx untuk penjelasan Anda ... akan membaca koran
Amit