konsep algoritma support vector machine (svm)

Mengenal Konsep Algoritma Support Vector Machine (SVM)

Posted by

Support Vector Machine atau SVM adalah algoritma machine learning yang cukup populer untuk kasus supervised learning. SVM dapat digunakan untuk kasus klasifikasi maupun regresi, namun kebanyakan digunakan untuk klasifikasi.

Cara kerja dari algoritma ini adalah dengan membuat best line atau decision boundary yang disebut dengan hyperplane yang membagi ruang n-dimensi ke dalam kelas/kategori sehingga nantinya akan dengan mudah menentukan kelas/kategori data baru.

SVM membuat hyperplane terbaik dengan jarak margin terjauh dari titik terdekat pada tiap kelas.

Masih bingung?

Sekarang mari kita perhatikan beberapa ilustrasi berikut untuk lebih memahami konsep algoritma support vector machine (SVM).

Baca Juga: 2 Teknik Reduksi Dimensi Populer dengan Python

Ilustrasi 1

Disini kita akan mencoba mengidentifikasi hyperplane terbaik untuk mengklasifikasikan titik merah dan kuning. Perhatikan gambar berikut.

ilustrasi hyperplane svm

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

Sekarang bagaimana jika ada hyperplane yang seperti di bawah ini.

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.

Baca Juga: Algoritma K-Nearest Neighbor (KNN) untuk Klasifikasi

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?

ilustrasi hyperplane svm

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.

Baca Juga: Cara Memilih Algoritma Machine Learning

Ilustrasi 4

Bagaimana jika ada outlier seperti pada gambar berikut, dimana ada titik kuning (outlier) di area titik merah

ilustrasi svm

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.

ilustrasi hyperplane svm

Nah, sekarang sudah tahu kan cara kerja algoritma Support Vector Machine atau SVM. Semoga artikel ini bermanfaat untuk Anda.

Referensi

Semoga bermanfaat!

modul data science ilmudatapy