Monday, March 27, 2023

7.3 Support Vector Machine (1)

Sumber : Machine Learning: The Art and Science of Algorithms that Make Sense of Data", Peter Flach

--
SVM atau Support Vector Machine adalah salah satu algoritma machine learning untuk melakukan klasifikasi data. Konsep dasar dari SVM adalah mencari sebuah garis atau bidang pemisah yang dapat memisahkan dua kelas data dengan margin yang maksimum. Margin adalah jarak antara garis pemisah dengan titik data terdekat dari kedua kelas. SVM mencari garis pemisah ini dengan cara memaksimalkan margin antara kedua kelas.

Dalam buku Machine Learning: The Art and Science of Algorithms that Make Sense of Data, SVM dibahas pada bab 7.3. SVM adalah salah satu algoritma linear yang dapat menghasilkan model dengan tingkat akurasi yang baik. SVM bekerja dengan mengubah ruang data menjadi ruang yang lebih tinggi, dimana data yang awalnya tidak terpisah secara linier dapat dipisahkan dengan garis pemisah yang linier. SVM menggunakan kernel function untuk melakukan transformasi ini.

Keuntungan dari SVM adalah kemampuannya dalam menangani data yang kompleks dengan jumlah fitur yang besar. Selain itu, SVM juga mampu menangani data yang tidak seimbang dengan baik, yaitu ketika jumlah data pada kelas yang satu jauh lebih sedikit dari kelas yang lain. Namun, kekurangan dari SVM adalah kurang efisien dalam mengolah data yang sangat besar dan kompleks, serta membutuhkan pemilihan parameter yang tepat untuk mendapatkan hasil yang optimal.

Dalam implementasinya, SVM dapat digunakan untuk berbagai macam tugas, seperti klasifikasi biner dan multi-kelas, regresi, deteksi outlier, dan lain sebagainya. SVM telah digunakan dalam berbagai bidang, seperti pengenalan gambar, pengenalan suara, bioinformatika, dan sebagainya.

Figure 7.7

Gambar 7.7 menunjukkan geometri dari sebuah Support Vector Machine (SVM) untuk mengklasifikasikan dua kelas data. SVM mencari garis yang terbaik untuk memisahkan kedua kelas data tersebut. Garis ini disebut dengan hyperplane, Hyperplane adalah permukaan yang memiliki dimensi satu kurang dari ruang fitur. Dalam kasus dua dimensi, hyperplane adalah garis, sedangkan dalam tiga dimensi, hyperplane adalah bidang.

Pada gambar tersebut, terdapat dua kelas yaitu kelas positif (berwarna biru) dan kelas negatif (berwarna merah). Ada beberapa titik data yang ditandai dengan lingkaran pada gambar, yang disebut support vectors. Support vectors adalah titik data pelatihan yang terletak di sekitar garis batas keputusan (decision boundary) dan memberikan sumbu untuk menentukan garis batas keputusan.

Dalam notasi matematika, hyperplane didefinisikan sebagai w · x + b = 0, di mana w adalah normal vektor hyperplane dan b adalah bias. Vektor normal w menentukan orientasi dari hyperplane, sedangkan bias b mengontrol jarak antara garis batas keputusan dengan titik-titik pelatihan terdekat.
Pada gambar 7.7, garis batas keputusan ditunjukkan sebagai garis hitam tebal yang memisahkan dua kelas.

Margin adalah jarak antara garis batas keputusan dengan support vector terdekat. Margin ini dinyatakan sebagai m = 1/||w||, di mana ||w|| adalah norma Euclidean dari vektor w. Dalam kasus dua dimensi, ||w|| dapat dinyatakan sebagai akar kuadrat dari w1^2 + w2^2.

Tujuan dari SVM adalah untuk menemukan garis batas keputusan yang memaksimalkan margin m. Ini dapat dirumuskan sebagai masalah optimasi dengan batasan, di mana batasan adalah memastikan bahwa semua titik pelatihan berada pada sisi yang benar dari garis batas keputusan. Solusi untuk masalah optimasi ini dapat ditemukan menggunakan teknik optimasi, seperti algoritma lagrange.

No comments :

Post a Comment