Support Vector Machine (SVM)
Assalamu’alaikum warahmatullah wabarakatuh, Hallo Gais!! Udah lama ga posting materi nih. Nah kali ini aku akan kasih sharing materi masih tentang mata kuliah Machine Learning. Yuk Simak!!
Yang akan kita bahas pertama
ada salah satu model dari metode supervised learning nig ais, Yuk Check it’s
Out!
Support Vector Machine (SVM)
A. Pengertian Support Vector
Machine (SVM)
Support Vector Machine (SVM) merupakan salah
satu metode dalam supervised learning yang biasanya digunakan
untuk klasifikasi (seperti Support Vector Classification) dan
regresi (Support Vector Regression). Algoritma Support Vector Machine merupakan salah satu algoritma yang
termasuk dalam kategori Supervised Learning, yang artinya data yang digunakan
untuk belajar oleh mesin merupakan data yang telah memiliki label sebelumnya.
Sehingga dalam proses penentuan keputusan, mesin akan mengkategorikan data
testing ke dalam label yang sesuai dengan karakteristik yang dimiliki nya.
Dalam pemodelan klasifikasi, SVM memiliki konsep
yang lebih matang dan lebih jelas secara matematis dibandingkan dengan
teknik-teknik klasifikasi lainnya. SVM juga dapat mengatasi masalah klasifikasi
dan regresi dengan linear maupun non linear. 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.
Hyperplane yang ditemukan SVM diilustrasikan seperti Gambar 1 posisinya
berada ditengah-tengah antara dua kelas, artinya jarak antara hyperplane dengan
objek-objek data berbeda dengan kelas yang berdekatan (terluar) yang diberi
tanda bulat kosong dan positif. Dalam SVM objek data terluar yang paling dekat
dengan hyperplane disebut support vector. Objek
yang disebut support vector paling sulit diklasifikasikan
dikarenakan posisi yang hampir tumpang tindih (overlap) dengan kelas
lain. Mengingat sifatnya yang kritis, hanya support vector inilah
yang diperhitungkan untuk menemukan hyperplane yang paling
optimal oleh SVM.
B. Cara Kerja Support Vector Machine (SVM)
Cara kerja dari metode Support Vector
Machine khususnya pada masalah non-linear adalah dengan memasukkan konsep
kernel ke dalam ruang berdimensi tinggi. Tujuannya adalah untuk mencari
hyperplane atau pemisah yang dapat memaksimalkan jarak (margin) antar kelas
data. Untuk menemukan hyperplane terbaik, kita dapat mengukur margin kemudian
mencari titik maksimalnya. Proses pencarian hyperplane yang terbaik ini adalah
ini dari metode Support Vector Machine ini.
C.
Jenis Kernel dalam Support Vector Machine
Dalam algoritma Support Vector
Machine, terdapat beberapa jenis kernel yang sering digunakan, yaitu:
·
Kernel
Linear, biasanya dataset yang cocok menggunakan kernel ini adalah dataset yang
linear.
·
Kernel
Polynomial, digunakan untuk dataset normal
·
Kernel
Radial Basis Function (RBF) atau Gaussian, menjadi kernel yang paling banyak
digunakan karena tingginya nilai akurasinya. Biasanya digunakan untuk dataset
yang tidak terpisah secara linear
·
Kernel
Sigmoid, pengembangan dari jaringan saraf tiruan.
D. Library
Python yang Dapat Digunakan
Untuk menggunakan algoritma Vector Support Machine dengan
Python tentunya akan membutuhkan library tertentu. Sebenarnya, hampir semua
algoritma Machine Learning menggunakan library yang sama, begitu pun algoritma
Support Vector Machine ini. Library yang akan banyak digunakan adalah Pandas
yang digunakan untuk me-manage data, Numpy untuk melakukan hal-hal yang
berhubungan dengan angka, Sklearn atau Scikit Learn yang digunakan untuk
memanggil algoritma Support Vector Machine, dan yang terakhir adalah Matplotlib
dan juga Seaborn yang digunakan untuk visualisasi.
Masih bingung?
E. Ilustrasi Support Vector Machine (SVM)
Sekarang mari kita
perhatikan beberapa ilustrasi berikut untuk lebih memahami konsep algoritma
support vector machine (SVM).
-
Ilustrasi 1
Disini
kita akan mencoba mengidentifikasi hyperplane terbaik untuk
mengklasifikasikan titik merah dan kuning. Perhatikan gambar berikut.
Seperti
yang kita lihat pada gambar di atas, ada 2 garis yang merupakan hyperplane (A
dan B). Manakah dari dua garis tersebut yang dapat dikatakan sebagai hyperplane terbaik?
Aturan
pertama adalah pilih hyperplane yang dapat mengklasifikasikan
dua kelas dengan lebih akurat. Jika begitu, maka dapat kita simpulkan
bahwa hyperplane A adalah yang terbaik.
-
Ilustrasi 2
Ketiga hyperplane di
atas (A, B, dan C) sama-sama membagi titik merah dan kuning dengan akurat. Nah,
bagaimana cara menentukan hyperplane terbaik untuk kasus ini?
Untuk memutuskan mana hyperplane terbaik, kita
dapat mengukur margin-nya, yaitu jarak antara hyperplane dengan
titik terdekat dari tiap kelas. Perhatikan ilustrasi di bawah ini.
Untuk menentukan
mana hyperplane yang terbaik, pilih hyperplane yang
tidak terlalu dekat dengan titik terdekat di masing-masing kelas atau dengan
kata lain memaksimalkan jarak hyperplane dengan titik terdekat
di tiap kelas. Jika kita perhatikan, hyperplane A terlalu
dekat dengan titik merah terdekat sedangkan cukup jauh dengan titik kuning
terdekat. Begitu juga dengan hyperplane C, jaraknya dengan
titik merah dan kuning terdekat cukup dekat.
Hyperplane B pada gambar di atas, memiliki jarak yang
tidak terlalu dekat ke dua titik (merah dan kuning) terdekat, sehingga dapat
dikatakan bahwa hyperplane B adalah yang terbaik.
Intinya, untuk
menentukan hyperplane terbaik, jangan ada titik di salah satu
kelas yang berada sangat dekat dengan hyperplane, sementara titik
terdekat pada kelas lainnya berada sangat jauh dari hyperplane.
-
Ilustrasi 3
Jika kita memiliki dua hyperplane seperti di bawah
ini, mana yang terbaik?
Dilihat
dari gambar di atas, hyperplane A memiliki margin
terbesar/terjauh dibandingkan dengan hyperplane B. Namun,
algoritma SVM akan lebih dulu memilih hyperplane yang dapat
mengklasifikasikan kelas dengan akurat sebelum memaksimalkan margin. Oleh
karena itu, untuk kasus ini, hyperplane B adalah
yang terbaik.
-
Ilustrasi 4
Bagaimana jika
ada outlier seperti pada gambar berikut, dimana ada titik
kuning (outlier) di area titik merah
Algoritma Support Vector Machine memiliki fitur
untuk mengabaikan outlier dan menemukan hyperplane terbaik
yang memiliki margin maksimum. Algoritma SVM bekerja sangat baik dalam menangani outlier atau
pencilan. Hyperplane terbaiknya akan tampak seperti gambar di
bawah ini.
Wassalamu’aliakum Warahmatullah Wabarakatuh, Sekian
dan Terima kasih 😊
Referensi :
https://medium.com/@samsudiney/penjelasan-sederhana-tentang-apa-itu-svm-149fec72bd02
https://www.dqlab.id/kenali-tentang-algoritma-support-vector-machine
https://ilmudatapy.com/algoritma-support-vector-machine-svm/
Komentar
Posting Komentar