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
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
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