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

Postingan populer dari blog ini

LENGKAP!! MATERI LIMIT FUNGSI :)

Q-Learning

NILAI MAKSIMUM JEUNG MINIMUM | KALKULUS 1 | BAHASA SUNDA