Anda di halaman 1dari 13

SUPPORT VECTOR MACHINE CLASSIFIER

USWATUN HASANAH, S.KOM., M.ENG.


PRODI PTIK, FAKULTAS TEKNIK
UNIVERSITAS NEGERI SEMARANG
SVM

 Support Vector Machines (SVM) merupakan metode yang paling sering digunakan untuk permasalahan
klasifikasi. SVM termasuk dalam kategori machine learning yang diawasi (supervised learning). Namun, dengan
sedikit modifikasi, SVM juga dapat digunakan untuk permasalahan lain seperti:
 • Clustering (unsupervised learning) melalui penggunaan algoritma Support Vector Clustering.
 • Regresi (supervised learning) melalui penggunaan algoritma Support Vector Regression (SVR).
ALGORITMA KLASIFIKASI SVM

 SVM digunakan untuk mencari hyperplane terbaik dengan memaksimalkan jarak antar kelas. Hyperplane adalah
sebuah fungsi yang dapat digunakan untuk pemisah antar kelas.
 Dalam 2-D fungsi yang digunakan untuk klasifikasi antar kelas disebut sebagai line whereas, fungsi yang
digunakan untuk klasifikasi antas kelas dalam 3-D disebut plane similarly, sedangan fungsi yang digunakan untuk
klasifikasi di dalam ruang kelas dimensi yang lebih tinggi di sebut hyperplane.
ALGORITMA KLASIFIKASI SVM

 Misalkan kita memiliki sekumpulan titik yang dimiliki oleh dua kelas yang terpisah. Kita ingin memisahkan kedua
kelas tersebut sehingga di masa yang akan datang ketika ada titik baru, kita dapat menempatkan titik baru tersebut
di salah satu kelas dengan tepat.
 Algoritme SVM mencoba menemukan hyperplane yang memisahkan kedua kelas ini dengan margin setinggi
mungkin. Jika kelas dapat dipisahkan sepenuhnya secara linier, maka hard-margin dapat digunakan. Jika tidak,
maka pemisahan kelas akan membutuhkan soft-margin. Titik-titik yang berakhir pada margin dikenal sebagai
support vectors (vektor pendukung).
HARD-MARGIN
HARD-MARGIN

 Hyperplane "H1" tidak dapat memisahkan dua kelas secara akurat; karenanya, hyperplane ini bukanlah solusi
yang layak untuk permasalahan kita.
 Hyperplane "H2" dapat memisahkan kelas dengan benar. Namun, margin antara hyperplane dan titik biru dan
hijau terdekat kecil. Karenanya, ada kemungkinan besar terjadi kesalahan dalam mengklasifikasikan titik baru di
masa yang akan datang. Misalnya, titik abu-abu baru (x1 = 3, x2 = 3,6) akan dimasukkan ke kelas titik hijau oleh
algoritme padahal sudah jelas bahwa titik tersebut seharusnya milik kelas biru.
 Hyperplane "H3" memisahkan dua kelas dengan benar dan dengan margin tertinggi (area berwarna kuning). Maka
hyperplane 3 dapat menjadi solusi untuk permasalahan kita.
 Menemukan margin terbesar memungkinkan untuk mengklasifikasikan titik baru dengan lebih akurat, serta
membuat model jauh lebih kuat. Dapat dilihat bahwa titik abu-abu baru akan ditetapkan dengan benar ke kelas
biru saat menggunakan hyperplane "H3".
SOFT-MARGIN

 Ada kalanya kita tidak mungkin untuk


memisahkan kedua kelas dengan sempurna.
 Dalam skenario seperti ini, soft-margin dapat
digunakan di mana beberapa titik dibiarkan salah
klasifikasi atau masuk ke dalam margin (area
berbayang kuning).
 Selanjutnya, kita akan menggunakan nilai
“slack”, dilambangkan dengan huruf yunani ξ (xi,
dilafalkan “ksi”).
SOFT-MARGIN

 Pada gambar di atas, kita dapat melihat bahwa hyperplane "H4" membuat titik hijau di dalam margin sebagai
pencilan (outlier). Pencilan merupakan suatu nilai data yang ekstrim berbeda dengan yang lainnya. Oleh karena
itu, support vectors adalah dua titik hijau yang lebih dekat ke kelompok utama titik hijau. Hal ini memungkinkan
adanya margin yang lebih besar, sehingga meningkatkan ketahanan model.
SOFT-MARGIN

 Algoritma memungkinkan kita untuk mengontrol seberapa besar


kita mempedulikan kesalahan klasifikasi (dan titik-titik di dalam
margin) dengan menyesuaikan hyperparameter C.
 Pada dasarnya, C merupakan bobot yang ditetapkan ke ξ.
Parameter C dipilih untuk mengontrol trade off antara margin dan
error klasifikasi ξ atau nilai kesalahan pada klasifikasi.
 Parameter C ditentukan dengan mencoba beberapa nilai dan
dievaluasi efeknya terhadap akurasi yang dicapai oleh SVM
misalnya dengan cara Cross Validation.
 Nilai C yang besar berarti akan memberikan pinalti yang lebih
besar terhadap error klasifikasi tersebut.
SOFT-MARGIN

 Menyetel nilai tinggi untuk C kemungkinan akan menghasilkan performa model yang lebih baik pada data
pelatihan, namun ada risiko tinggi terjadi overfitting, yaitu kondisi di mana model akan menghasilkan hasil yang
buruk pada data pengujian.
 Pada umumnya permasalahan data tidak dapat dipisahkan secara Linear dalam ruang input, soft margin SVM
tidak dapat menemukan pemisah dalam hyperplane sehingga tidak dapat memiliki akurasi yang besar dan tidak
menggeneralisasi dengan baik.
 Oleh karena itu, dibutuhkan kernel untuk mentransformasikan data ke ruang dimensi yang lebih tinggi yang
disebut ruang kernel yang berguna untuk memisahkan data secara Linear.
 Secara umum, fungsi kernel yang sering digunakan adalah kernel Linear, Polynomial dan Radial Basis Function
(RBF).
TRIK KERNEL

 Kernel adalah fungsi yang mengambil masalah non-


linier asli dan mengubahnya menjadi masalah linier
dalam ruang berdimensi lebih tinggi. Untuk
menjelaskan trik ini, mari pelajari contoh di bawah ini.
 Misalkan Anda memiliki dua kelas - merah dan hitam,
seperti yang ditunjukkan pada gambar
 Seperti yang Anda lihat, titik merah dan hitam tidak
dapat dipisahkan secara linier karena kita tidak dapat
menggambar garis yang akan menempatkan kedua
kelas ini pada sisi yang berbeda dari garis tersebut.
Namun, kita dapat memisahkannya dengan
menggambar lingkaran dengan semua titik merah di
dalamnya dan titik hitam di luarnya.
BAGAIMANA MENGUBAH MASALAH INI MENJADI MASALAH
LINIER?

 Mari tambahkan dimensi ketiga dan jadikan


permasalahan tersebut sebagai penjumlahan dari
nilai x dan y kuadrat:
z = x² + y²
 Dengan menggunakan ruang tiga dimensi dengan
koordinat x, y, dan z, sekarang kita dapat
menggambar hyperplane (permukaan datar 2D)
untuk memisahkan titik merah dan hitam. Oleh
karenanya, algoritma klasifikasi SVM sekarang
dapat digunakan.
CONTOH KERNEL RADIAL BASIS FUNCTION (RBF) DAN KODE
PYTHON

 Lihat modul praktikum

Anda mungkin juga menyukai