Memahami hyperplane, margin, dan titik data yang menjadi support vector.
Melihat pengaruh parameter C terhadap batas keputusan dan toleransi kesalahan.
Menggunakan kernel ketika data tidak dapat dipisahkan oleh garis lurus.
Dua kelas data terlihat hampir terpisah, tetapi garis mana yang paling baik? SVM menjawab dengan mencari hyperplane yang memberi margin paling lebar di antara kelas.
Hyperplane dan margin
Pada 2D, hyperplane adalah garis pemisah. Pada 3D, ia menjadi bidang. Pada dimensi lebih tinggi, kita tetap menyebutnya hyperplane. Margin adalah jarak antara hyperplane dan titik terdekat dari masing-masing kelas.
Titik yang menempel pada batas margin disebut support vector. Titik-titik inilah yang paling menentukan posisi boundary. Jika support vector bergeser, hyperplane bisa ikut berubah.
min 1/2 ||w||^2 + C sum hinge_losshinge_loss = max(0, 1 - y_i(w^T x_i + b))Tujuannya menjaga margin lebar sambil memberi penalti pada kesalahan klasifikasi.Hard margin dan soft margin
Hard margin menganggap data bisa dipisahkan sempurna. Ini jarang terjadi pada data nyata. Soft margin memperbolehkan beberapa pelanggaran dengan parameter C. C besar menghukum kesalahan lebih keras, sedangkan C kecil membuat boundary lebih toleran.
Kernel trick
Jika data tidak bisa dipisahkan garis lurus, SVM dapat memakai kernel untuk menghitung kemiripan seolah-olah data diproyeksikan ke ruang fitur yang lebih tinggi. Kernel linear cocok untuk data yang hampir linear. Polynomial dan RBF membantu pada pola non-linear.
Coba di workspace
- Buka lab SVM.
- Lihat titik mana yang menjadi support vector.
- Ubah parameter dan amati margin.
- Bandingkan boundary dengan Regresi Logistik dan KNN.
SVM kuat untuk dataset kecil hingga menengah, terutama ketika margin jelas. Untuk data tabular besar, bandingkan juga dengan Random Forest dan baca hasilnya memakai Confusion Matrix.
Ringkasan praktis
- Lihat bagaimana SVM memilih batas keputusan dengan margin terlebar, lalu menangani pola non-linear melalui kernel.
- Periksa contoh dan batas metode sebelum menarik kesimpulan dari hasilnya.
- Gunakan lab interaktif untuk menguji satu perubahan pada satu waktu.
Pertanyaan yang sering muncul
Apa yang perlu disiapkan sebelum membaca?
Tidak ada prasyarat khusus. Istilah tentang klasifikasi akan dijelaskan saat pertama kali digunakan.
Bagaimana cara menguji pemahaman ini?
Gunakan data kecil dan ubah satu parameter pada satu waktu. Setelah itu, buka eksperimen interaktifnya untuk melihat apakah intuisi kita sesuai dengan hasilnya.
Support-Vector Networks dan scikit-learn SVM
Sumber berikut dapat dibuka untuk memeriksa konteks dan rujukan yang digunakan.
Buka sumber asli →