Mengapa istilah bias dalam SVM diperkirakan secara terpisah, alih-alih dimensi ekstra dalam vektor fitur?

11

Hyperplane optimal dalam SVM didefinisikan sebagai:

wx+b=0,

di mana merupakan ambang. Jika kita memiliki beberapa pemetaan yang memetakan ruang input ke beberapa ruang , kita dapat mendefinisikan SVM di ruang , di mana hiperplane optimal adalah:ϕ Z ZbϕZZ

wϕ(x)+b=0.

Namun, kita selalu dapat mendefinisikan pemetaan sehingga , , dan kemudian hiperplane optimal akan didefinisikan sebagai ϕ 0 ( x ) = 1 x wϕ ( x ) = 0.ϕϕ0(x)=1x

wϕ(x)=0.

Pertanyaan:

  1. Mengapa banyak makalah menggunakan ketika mereka sudah memiliki pemetaan dan memperkirakan parameter dan theshold terpisah?ϕ w bwϕ(x)+b=0ϕwb

  2. Apakah ada masalah untuk mendefinisikan SVM sebagai s.t. \ y_n \ mathbf w \ cdot \ mathbf \ phi (\ mathbf x_n) \ geq 1, \ forall n dan perkirakan hanya parameter vektor \ mathbf w , dengan asumsi bahwa kita mendefinisikan \ phi_0 (\ mathbf x) = 1, \ forall \ mathbf x ? s. t. y n w ϕ ( x n )1,n w ϕ 0 ( x )=1, x

    minw||w||2
    s.t. ynwϕ(xn)1,n
    wϕ0(x)=1,x
  3. Jika definisi SVM dari pertanyaan 2. dimungkinkan, kami akan memiliki w=nynαnϕ(xn) dan ambang batas akan menjadi b=w0 , yang tidak akan kami perlakukan secara terpisah. Jadi kita tidak akan pernah menggunakan rumus seperti b=tnwϕ(xn) untuk memperkirakan b dari beberapa vektor dukungan xn . Baik?

Dejan
sumber
Terkait: Alasan untuk tidak menyusut istilah bias (mencegat) dalam regresi .
Amoeba berkata Reinstate Monica

Jawaban:

12

Mengapa bias itu penting?

Istilah bias , memang, adalah parameter khusus dalam SVM. Tanpanya, classifier akan selalu melewati titik asal. Jadi, SVM tidak memberi Anda hyperplane pemisah dengan margin maksimum jika tidak terjadi melewati titik asal, kecuali jika Anda memiliki istilah bias.b

Di bawah ini adalah visualisasi dari masalah bias. SVM dilatih dengan (tanpa) istilah bias ditampilkan di sebelah kiri (kanan). Meskipun kedua SVM dilatih tentang data yang sama , namun mereka terlihat sangat berbeda.

masukkan deskripsi gambar di sini

Mengapa bias diperlakukan secara terpisah?

Seperti yang ditunjukkan Ben DAI , istilah bias harus diperlakukan secara terpisah karena regularisasi. SVM memaksimalkan ukuran margin, yaitu (atau tergantung pada bagaimana Anda mendefinisikannya).b1||w||22||w||2

Memaksimalkan margin sama dengan meminimalkan . Ini juga disebut istilah regularisasi dan dapat diartikan sebagai ukuran kompleksitas pengelompokan. Namun, Anda tidak ingin mengatur istilah bias karena, bias menggeser nilai klasifikasi naik atau turun dengan jumlah yang sama untuk semua poin data . Secara khusus, bias tidak mengubah bentuk classifier atau ukuran marginnya. Karena itu, ...||w||2

istilah bias dalam SVM TIDAK boleh diatur.

Dalam praktiknya, bagaimanapun, lebih mudah untuk hanya mendorong bias ke vektor fitur daripada harus berurusan dengan sebagai kasus khusus.

Catatan: ketika mendorong bias ke fungsi fitur, yang terbaik adalah memperbaiki dimensi vektor fitur ke sejumlah besar, misalnya , sehingga dapat meminimalkan efek samping dari regularisasi bias.ϕ0(x)=10

Sobi
sumber
Program apa yang Anda gunakan untuk membuat plot, karena penasaran?
d0rmLife
1
@ d0rmLife: ini hanya kartun yang saya buat menggunakan MS PowerPoint!
Sobi
+1. Terkait: Alasan untuk tidak menyusut istilah bias (mencegat) dalam regresi .
Amoeba berkata Reinstate Monica
1

Terkadang, orang hanya akan menghilangkan intersep di SVM, tapi saya pikir alasannya mungkin kita bisa menghukum intersep untuk menghilangkannya. yaitu,

kita dapat memodifikasi data , dan sehingga menghilangkan intersep Seperti yang Anda inginkan mengatakan, teknik serupa dapat digunakan dalam versi kernel.x^=(1,x)w^=(w0,wT)T

x w+b=x^ w^

Namun, jika kita menempatkan intersep dalam bobot, fungsi objektif akan sedikit berbeda dengan yang asli. Itu sebabnya kami menyebutnya "menghukum".

Ben Dai
sumber
Saya setuju bahwa kita akan memiliki fungsi tujuan yang berbeda. Kasus ketika kita tidak menyertakan intersep dalam parameter mengarah ke masalah optimisasi tunduk pada kendala, sementara sebaliknya kita memiliki masalah . Tapi, saya tidak mengerti mengapa panik mencegat kurang lebih penting untuk model. min w , b | | w | | 2 min w , b | | w | | 2 + b 2bminw,b||w||2minw,b||w||2+b2
Dejan
Apa yang terlintas dalam pikiran saya, adalah bahwa alasan utama kita berpotongan mungkin karena dalam masalah ganda, intersep memungkinkan kita untuk memiliki kendala yang penting untuk menerapkan algoritma SMO, dan jika kita tidak memiliki intersep kita hanya akan memiliki konstanta dan optimasi ganda akan lebih sulit dalam kasus itu. α n0αntn=0αn0
Dejan
@Petar Satu hal yang saya ketahui adalah menjadi kuat ketika kita mempertimbangkan tentang bentuk ganda model ini. Teknik ini akan menghilangkan batasan linear.
Ben Dai
@Petar Saya tidak berpikir optimasi ganda akan lebih sulit, karena kami memiliki domain yang lebih mudah.
Ben Dai
@Petar Untuk algoritma tertentu, mungkin lebih sulit. Namun, secara matematis, saya pikir domain kotak mungkin lebih baik
Ben Dai
0

Selain alasan yang disebutkan di atas, jarak titik ke hyperplane yang didefinisikan oleh slope dan intersep adalah Ini adalah bagaimana konsep margin dalam SVM digerakkan. Jika Anda mengubah untuk memasukkan istilah intersep , norma akan dipengaruhi oleh ukuran intersep, yang akan menyebabkan SVM mengoptimalkan ke arah intersep kecil, yang dalam banyak kasus tidak masuk akal.xθb

|θTx+b|||θ||
θbθ

charlieh_7
sumber
Bahkan mengira jarak titik ke hyperplane sudah benar dan penjelasannya terlihat menarik, saya tidak melihat korelasi antara formula ini dan pelatihan SVM. Bisakah Anda menjelaskan lebih baik bagaimana formula ini digunakan selama pelatihan atau memberikan beberapa tautan tambahan.
Dejan
@Jejan Gagasan di balik SVM adalah untuk menemukan hyperplane yang memaksimalkan margin minimum dataset. Margin adalah "jarak" ( , tanpa mengambil nilai absolut, yang menunjukkan kepercayaan yang dimiliki oleh penggolong terhadap hipotesisnya) dari titik tersebut ke hyperplane kali labelnya, yang ada di . Produk adalah , yang positif jika output classifier cocok dengan label dan negatif sebaliknya. Dalam praktiknya, kami cukup menskalakan model kami sehingga margin minimum dari kumpulan data adalah . {-1,1}y(θTx+b)θTx+b||θ||{1,1}1y(θTx+b)||θ||1||θ||
charlieh_7
@Dejan Anda dapat menemukan rincian lebih lanjut pada Catatan Andrew Ng: cs229.stanford.edu/notes/cs229-notes3.pdf
charlieh_7