SVM, singkatan dari support vector machine, adalah classifier yang memilih batas antar kelas dengan margin sebesar mungkin. Jika Anda mencari apa itu SVM, inilah gagasan intinya: jangan hanya memisahkan kelompok-kelompoknya, tetapi sisakan celah yang paling lebar dan andal di antara keduanya.
Titik-titik yang paling dekat dengan batas itu disebut support vectors. Titik-titik ini paling penting karena merekalah yang menentukan di mana pemisah dapat ditempatkan.
Mengapa Margin Penting
Bayangkan dua kumpulan titik, satu dari kelas A dan satu dari kelas B. Banyak garis mungkin bisa memisahkan keduanya. SVM lebih memilih garis yang menyisakan buffer keamanan terbesar di kedua sisi.
Margin yang lebih lebar sering membuat classifier kurang sensitif terhadap perubahan kecil pada data pelatihan. Ini bukan jaminan kinerja yang lebih baik di dunia nyata, tetapi itulah intuisi utama di balik SVM.
Seperti Apa Batas Keputusan SVM
Pada SVM linear, batas keputusan adalah sebuah hyperplane:
Classifier memprediksi satu kelas ketika dan kelas lainnya ketika .
Dalam penskalaan max-margin standar untuk data yang dapat dipisahkan, SVM memilih dan sehingga
untuk setiap titik pelatihan, sambil membuat margin sebesar mungkin. Dalam penskalaan itu, lebar margin penuh adalah
Gagasan praktis yang penting lebih sederhana daripada rumusnya: yang lebih kecil berarti margin yang lebih lebar dalam pengaturan yang dinormalisasi ini.
Contoh Kerja: SVM Satu Dimensi
Contoh satu dimensi membuat gagasan margin mudah dilihat.
Misalkan kelas negatif memiliki titik di dan , dan kelas positif memiliki titik di dan .
Ambang apa pun di antara dan memisahkan kelas-kelas tersebut. Misalnya, berhasil dan juga berhasil, tetapi pilihan-pilihan itu tidak memberi buffer yang sama di setiap sisi.
Dalam pengaturan satu dimensi yang dapat dipisahkan ini, SVM memilih titik tengah di antara titik-titik terdekat dari kelas yang berlawanan, sehingga ambang keputusannya adalah
Titik negatif terdekat adalah , dan titik positif terdekat adalah . Keduanya adalah support vectors. Masing-masing berjarak satuan dari batas, sehingga margin seimbang selebar mungkin.
Anda dapat menuliskan classifier di sini sebagai "prediksi positif ketika dan negatif ketika ." Kasus sederhana ini menangkap gagasan sebenarnya: batas ditentukan oleh kasus-kasus terdekat yang paling sulit, bukan oleh titik-titik yang jauh dan sudah mudah diklasifikasikan.
SVM Hard-Margin Vs Soft-Margin
SVM hard-margin hanya bekerja ketika data pelatihan dapat dipisahkan secara linear dengan sempurna. Jika bahkan satu titik saja melanggar kondisi itu, pengaturan hard-margin tidak cocok dengan data.
Itulah sebabnya banyak SVM praktis menggunakan soft margin. SVM soft-margin tetap lebih menyukai margin yang lebar, tetapi mengizinkan beberapa titik jatuh di dalam margin atau bahkan di sisi batas yang salah, dengan penalti.
Parameter mengendalikan tradeoff tersebut. Nilai yang lebih besar memberi penalti lebih kuat pada pelanggaran. Nilai yang lebih kecil memberi lebih banyak fleksibilitas. Tidak ada pilihan yang otomatis lebih baik; semuanya bergantung pada data dan perlu diperiksa terhadap kinerja validasi.
Kapan Kernel SVM Membantu
Kadang-kadang batas lurus tidak cukup dalam ruang fitur asli. Kernel SVM menangani hal ini dengan membandingkan titik-titik melalui fungsi kernel, yang dapat memungkinkan batas melengkung tanpa harus secara eksplisit menuliskan vektor fitur hasil transformasi yang sangat besar.
Kondisi kuncinya adalah bahwa fleksibilitas tambahan itu hanya membantu jika pola data memang membutuhkannya. Kernel dapat meningkatkan model, tetapi juga dapat membuat tuning lebih sulit, jadi sebaiknya divalidasi, bukan dipilih sebagai default.
Kesalahan Umum pada SVM
Mengira Setiap Titik Sama Pentingnya
Dalam SVM, titik-titik terdekat adalah yang paling penting. Titik-titik yang jauh dari batas sering kali hanya sedikit memengaruhi pemisah akhir.
Melupakan Syarat di Balik Hard Margin
Keterpisahan linear sempurna adalah syarat nyata, bukan asumsi default. Jika kelas-kelas saling tumpang tindih, Anda memerlukan soft margin atau model yang berbeda.
Mengabaikan Penskalaan Fitur
SVM bergantung pada jarak dan dot product. Jika satu fitur diukur pada skala yang jauh lebih besar daripada fitur lain, fitur itu dapat mendominasi batas kecuali Anda menskalakan input terlebih dahulu.
Menganggap Kernel Otomatis Lebih Baik
Batas yang lebih fleksibel dapat menyesuaikan data pelatihan dengan lebih baik, tetapi itu tidak otomatis berarti model akan melakukan generalisasi dengan lebih baik.
Di Mana SVM Digunakan
SVM digunakan untuk masalah klasifikasi ketika batas antar kelas mungkin cukup tegas dan ketika penalaran berbasis margin membantu. SVM sangat umum pada masalah tabular berukuran kecil hingga menengah dan pada klasifikasi teks, di mana ruang fitur berdimensi tinggi sering muncul.
SVM juga digunakan untuk regresi dalam metode terkait yang disebut support vector regression, tetapi itu adalah pengaturan yang berbeda dari gambaran klasifikasi biner yang dijelaskan di sini.
Coba Soal SVM yang Mirip
Ambil titik-titik satu dimensi dari contoh tadi dan tambahkan satu titik negatif baru di . Sekarang celah lebar yang bersih sudah hilang. Tanyakan apa yang berubah jika Anda tetap memaksakan hard margin, dan apa yang berubah jika Anda mengizinkan soft margin. Perbandingan itu sering menjadi cara tercepat agar konsep SVM benar-benar terasa masuk akal.
Butuh bantuan mengerjakan soal?
Unggah pertanyaanmu dan dapatkan solusi terverifikasi langkah demi langkah dalam hitungan detik.
Buka GPAI Solver →