Support Vector Machine

Ringkasan

Support Vector Machine (SVM) adalah algoritma supervised learning untuk klasifikasi (dan regresi) yang dikembangkan Guyon, Boser, Vapnik dan diperkenalkan 1992. Prinsipnya: Structural Risk Minimization (SRM) — cari hyperplane terbaik (margin terbesar) yang memisahkan dua kelas; berupa linear classifier yang diperluas lewat kernel trick agar mampu menangani data non-linear. SVM dirancang untuk klasifikasi biner (); untuk multi-kelas dipakai strategi One-vs-One atau One-vs-Rest.


Konsep Kunci

1. SRM dan hyperplane

  • Teori berangkat dari kasus linear separable: data dengan label ; kelas data uji ditentukan lewat fungsi keputusan.
  • Tujuan SRM: hyperplane yang memisahkan ruang input dua kelas dengan generalisasi terbaik (margin maksimal, bukan sekadar memisahkan).
  • Persamaan hyperplane:
  • Fungsi keputusan:
  • Optimasi (kasus linear): minimalkan dengan syarat untuk semua data latih.

2. Kernel trick

  • Bila data tak separable linear, petakan ke ruang berdimensi lebih tinggi via sehingga hyperplane bisa dibangun di sana; perhitungan hanya butuh dot product di ruang baru.
  • Karena sulit dicari eksplisit, menurut Mercer dot product diganti fungsi kernel:
  • Tabel BKPM menyebut 7 kernel beserta penjelasan parameternya, tetapi baris rumus kosong di ekstraksi teks (hilang saat pdftotext). Rumus di bawah dilengkapi dari sumber web tepercaya [web1][web2][web3] untuk melengkapi materi kampus:
NoKernelRumus
1Linear — untuk data separable linear [web1]
2Polinomial derajat dengan = derajat, ( di BKPM) = bias [web1][web3]
3Polinomial hingga derajat — memuat semua suku sampai derajat maksimum
4RBF / Gaussian dengan jarak Euclidean, lebar Gaussian () [web1][web3]
5Sigmoid dengan ( di BKPM) skala, () bias — mirip aktivasi jaringan saraf [web1][web3]
6Inverse Multiquadratic dengan konstanta bebas pengontrol kelengkungan [web2]
7Additive dengan jumlah fitur, kernel untuk fitur [web2]

3. Multi-kelas: OvO vs OvR

  • One-vs-One (OvO): untuk kelas A, B, C buat 3 model biner (A–B, A–C, B–C); tiap model hanya tangani 2 kelas → biasanya lebih efisien untuk dataset besar.
  • One-vs-Rest (OvR / One-vs-All): tiap kelas dilawan gabungan semua kelas lain (A vs BC, B vs AC, C vs AB); lebih sederhana diimplementasikan, kadang kurang akurat dibanding OvO.

4. Alur praktikum BKPM

  • Diberi dataset 2 fitur () → tulis program Python yang menggambar hyperplane → hyperplane awal program dinyatakan SALAH (arah maupun posisi) → hitung manual lewat formulasi optimasi + syarat, lalu perbaiki program dan gambar ulang dengan support vector ditandai (data merah (3,4), data biru (2,3)).

Contoh (dengan perhitungan)

Hitung , → garis

Misal , . Ambil persamaan support vector (4): :

Ambil persamaan (7): :

Dengan support vector data ke-(4)/(7): . Persamaan hyperplane:

Tugas Python (dari BKPM)

Jalankan program SVM yang diberikan; bila kode benar, luaran awal muncul (dengan hyperplane yang salah). Lanjutkan menggambar grafik: support vector merah (3,4) dan biru (2,3), lalu betulkan garis sesuai dan dokumentasikan hasil latihan.


Sources

[web1] https://scikit-learn.org/stable/modules/svm.html — Kernel functions (linear, polynomial, RBF, sigmoid) [web2] https://cse.msu.edu/~cse802/S17/slides/Lec_17_Mar27_SVM.pdf — Support Vector Machine and Kernel Methods (MSU) [web3] https://apple.github.io/coremltools/mlmodel/Format/SVM.html — SVM kernel formulas (linear, RBF, poly, sigmoid)


Keterkaitan