Hyperplane optimal dalam SVM didefinisikan sebagai:
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 Z
Namun, kita selalu dapat mendefinisikan pemetaan sehingga , , dan kemudian hiperplane optimal akan didefinisikan sebagai ϕ 0 ( x ) = 1 ∀ x w ⋅ ϕ ( x ) = 0.
Pertanyaan:
Mengapa banyak makalah menggunakan ketika mereka sudah memiliki pemetaan dan memperkirakan parameter dan theshold terpisah?ϕ w b
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
Jika definisi SVM dari pertanyaan 2. dimungkinkan, kami akan memiliki dan ambang batas akan menjadi , yang tidak akan kami perlakukan secara terpisah. Jadi kita tidak akan pernah menggunakan rumus seperti untuk memperkirakan dari beberapa vektor dukungan . Baik?
Jawaban:
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.
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).b 1||w||2 2||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
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
sumber
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
Namun, jika kita menempatkan intersep dalam bobot, fungsi objektif akan sedikit berbeda dengan yang asli. Itu sebabnya kami menyebutnya "menghukum".
sumber
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 θ
sumber