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:
| No | Kernel | Rumus |
|---|---|---|
| 1 | Linear | — untuk data separable linear [web1] |
| 2 | Polinomial derajat | dengan = derajat, ( di BKPM) = bias [web1][web3] |
| 3 | Polinomial hingga derajat | — memuat semua suku sampai derajat maksimum |
| 4 | RBF / Gaussian | dengan jarak Euclidean, lebar Gaussian () [web1][web3] |
| 5 | Sigmoid | dengan ( di BKPM) skala, () bias — mirip aktivasi jaringan saraf [web1][web3] |
| 6 | Inverse Multiquadratic | dengan konstanta bebas pengontrol kelengkungan [web2] |
| 7 | Additive | 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
- Prasyarat klasifikasi: K-Means Clustering (pengelompokan tak terawasi sebagai pembanding paradigma klasifikasi).
- Terkait representasi: Representasi Pengetahuan.
- Mandiri terhadap: Decision Tree ID3 & C4.5 (satu sumber, topik klasifikasi berbeda).