0% menganggap dokumen ini bermanfaat (0 suara)
72 tayangan14 halaman

Memahami Support Vector Machine (SVM)

Support Vector Machine (SVM) adalah metode machine learning untuk mengklasifikasikan data ke dalam dua kategori, ditemukan oleh Vladimir N. Vapnik dan Alexey Ya. Chervonenkis pada tahun 1963. SVM terdiri dari SVM linear dan non-linear, menggunakan hyperplane untuk memisahkan kelas, serta berbagai fungsi kernel untuk menangani data yang tidak dapat dipisahkan secara linier.

Diunggah oleh

walid rijal
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
72 tayangan14 halaman

Memahami Support Vector Machine (SVM)

Support Vector Machine (SVM) adalah metode machine learning untuk mengklasifikasikan data ke dalam dua kategori, ditemukan oleh Vladimir N. Vapnik dan Alexey Ya. Chervonenkis pada tahun 1963. SVM terdiri dari SVM linear dan non-linear, menggunakan hyperplane untuk memisahkan kelas, serta berbagai fungsi kernel untuk menangani data yang tidak dapat dipisahkan secara linier.

Diunggah oleh

walid rijal
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd

Support Vector

Machine
Nama Kelompok:

1. Amril Viqri Rachman 21-065


2. Walid Rijal Awali 21-143
3. Daffa Azfaril Naufal 21-173
Definisi
SVM adalah metode pada machine learning yang dapat digunakan untuk
menganalisis data dan mengurutkannya ke dalam salah satu dari dua
kategori. SVM ditemukan oleh Vladimir N. Vapnik dan Alexey Ya.
Chervonenkis pada tahun 1963. Sejak itu, SVM telah digunakan dalam
klasifikasi teks, hiperteks dan gambar. SVM dapat bekerja dengan karakter
tulisan tangan dan algoritma ini telah digunakan di laboratorium biologi
untuk melakukan tugas seperti menyortir protein.
Jenis-Jenis
SVM dapat dibagi menjadi 2 jenis yakni:
1. SVM Linear
SVM linear digunakan untuk data yang dapat dipisahkan secara linear, yang berarti jika sebuah
dataset dapat diklasifikasi menjadi dua kelas dengan menggunakan sebuah garis lurus tunggal,
maka data tersebut disebut sebagai data yang dapat dipisahkan secara linear, dan classifier yang
digunakan disebut sebagai Linear SVM classifier.
2. SVM Non-linear
SVM non-linear digunakan untuk data yang dapat dipisahkan secara non-linear, yang berarti jika
sebuah dataset tidak dapat diklasifikasi menggunkan garis lurus, maka data tersebut disebut data
non-linear dan classifier yang digunakan disebut sebagai Non-linear SVM classifier.
Hyperlane
Dalam memisahkan kelas dalam ruang n-
dimensi, ada kemungkinkan terdapat
beberapa garis atau batas keputusan.
Namun kita perlu menemukan batas
keputusan terbaik yang membantu
mengklasifikasikan titik data. Batas terbaik
ini dikenal sebagai hyperplane dari SVM.
Hyperplane adalah batas keputusan yang
membedakan dua kelas dalam SVM. Titik
data yang jatuh di kedua sisi hyperplane
dapat dikaitkan dengan kelas yang
berbeda.
Dimensi hyperplane bergantung pada fitur
yang ada pada dataset, yang artinya jika
terdapat dua fitur, maka hyperplane akan
berbentuk garis lurus. Dan jika terdapat
tiga fitur, maka hyperplane akan menjadi
Support Vector
Support vector ialah titik data atau vektor
yang paling dekat dengan hyperplane dan
yang mempengaruhi posisi hyperplane.
Karena vektor-vektor ini mendukung
hyperplane, maka disebut support vector.
Max Margin
Margin adalah jarak antara support vector
dari masing-masing kelas di sekitar
hyperplane. Pada gambar dibawah, margin
diilustrasikan dengan jarak antara 2 garis
putus. Margin terbesar (max margin) dapat
ditemukan dengan memaksimalkan nilai
jarak antara hyperplane dan titik
terdekatnya.
Dapat dilihat pada gambar bagian kanan
memiliki margin lebih besar daripada
gambar bagian kiri. Secara intuitif, margin
yang lebih besar akan menghasilkan
performa klasifikasi yang lebih baik.
Cara Kerja Algoritma
SVM
Algoritma SVM bekerja dengan cara
memetakan data ke ruang fitur berdimensi
tinggi sehingga titik data dapat
dikategorikan, bahkan ketika data tersebut
tidak dapat dipisahkan secara linier.

Apabila pemisah antar kategori berhasil


ditemukan, data dapat ditransformasikan
sedemikian rupa sehingga pemisah tersebut
dapat digambarkan sebagai hyperplane.
Kemudian, karakteristik data baru dapat
digunakan untuk memprediksi pada
kelompok mana record baru seharusnya
berada.

Sebagai ilustrasi, perhatikan gambar di


disamping dimana terdapat titik-titik data
Cara Kerja Algoritma
SVM
Kedua kategori tersebut kemudian dipisahkan Setelah dilakukan transformasi, batas antara dua
dengan kurva, seperti yang terlihat pada kategori dapat ditentukan oleh hyperplane, seperti
gambar 2 yang ditunjukkan gambar 3
Cara Kerja Algoritma
SVM
Fungsi matematis yang digunakan pada proses transformasi algoritma
SVM dikenal dengan istilah fungsi kernel (kernel function). Fungsi
kernel digunakan untuk mengklasifikasikan data non-linier. Caranya
adalah dengan mengubah data non-linear menjadi data linier dan
kemudian membentuk hyperplane.
Fungsi kernel linier direkomendasikan ketika pemisahan linier data
dilakukan secara langsung. Dalam kasus yang berbeda, penggunaan
fungsi lain mungkin diperlukan.
Kita perlu bereksperimen dengan fungsi yang berbeda untuk
mendapatkan model terbaik dalam setiap kasus, karena biasanya
membutuhkan algoritma dan parameter yang berbeda.
Jenis-jenis Fungsi Kernel
1. Kernel linear
Fungsi kernel linear digunakan untuk klasifikasi data linear
Kernel linear adalah fungsi kernel yang paling sederhana. Kernel linear digunakan ketika data yang dianalisis sudah terpisah secara
linear. Kernel linear cocok ketika terdapat banyak fitur dikarenakan pemetaan ke ruang dimensi yang lebih tinggi tidak benar-benar
meningkatkan kinerja. Persamaan untuk fungsi kernel adalah:
K(x, xi) = sum(x * xi)
2. Kernel polynomial
Fungsi kernel polynomial merupakan fungsi kernel yang digunakan ketika data tidak terpisah secara linear.
Kernel polynomial adalah bentuk yang lebih umum dari kernel linear. Dalam machine learning, kernel polynomial adalah fungsi
kernel yang cocok untuk digunakan dalam SVM dan kernelisasi lainnya, di mana kernel mewakili kesamaan vektor sampel pelatihan
dalam ruang fitur. Kernel polynomial juga cocok untuk memecahkan masalah klasifikasi pada dataset pelatihan yang dinormalisasi.
Persamaan untuk fungsi kernel polynomial adalah:
K(x,xi) = 1 + sum(x * xi)^d
Kernel polynomial memiliki parameter derajat (d) yang berfungsi untuk mencari nilai optimal pada setiap dataset. Parameter d
adalah derajat dari fungsi kernel polynomial dengan nilai default d = 2. Semakin besar nilai d maka akurasi sistem yang dihasilkan
akan fluktuatif dan kurang stabil. Hal ini terjadi karena semakin tinggi nilai parameter d maka semakin melengkung garis
hyperplane yang dihasilkan.
3. Kernel RBF (Radial Basic Function)
Fungsi kernel rbf digunakan untuk klasifikasi data non-linear
Kernel RBF atau juga disebut kernel Gaussian adalah konsep kernel yang paling banyak digunakan untuk memecahkan masalah
klasifikasi data yang tidak dapat dipisahkan secara linear. Kernel ini dikenal memiliki performa yang baik dengan parameter
tertentu, dan hasil dari pelatihan memiliki nilai error yang kecil dibandingkan dengan kernel lainnya. Rumus persamaan untuk
[Link]
fungsi kernel RBF adalah: INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
K(x,xi) = exp(-gamma * sum((x – xi^2))
Kelebihan
Training relatif mudah
• tidak mengalami local optimal, tidak seperti pada neural networks

Relatif baik untuk data berdimensi tinggi

Tradeoff antara kompleksitas classifier dan kesalahan dapat


dikontrol secara eksplisit

Data non-tradisional seperti string dan tree dapat digunakan


sebagai input ke SVM, bukan vektor fitur
Kekurangan
Algoritma SVM tidak cocok untuk dataset dalam jumlah yang besar karena
membutuhkan waktu training yang lama.

SVM tidak bekerja dengan baik ketika dataset memiliki lebih banyak noise
misalnya kelas target terjadi tumpang tindih.

Jika jumlah fitur untuk setiap titik data melebihi jumlah sampel data training, SVM
akan memiliki performa yang kurang baik

Karena support vector classifier bekerja dengan meletakkan titik data di atas dan di
bawah hyperplane, tidak ada kejelasan probabilistik untuk klasifikasi tersebut. Hal ini
dapat menyebabkan beban komputasi yang tinggi.
SVM vs Neural Networks
SVM ANN
Men-generalisasi dengan baik tetapi tidak
Konsep yang relatif baru
memiliki dasar matematika

Sifat generalisasi yang bagus Dapat dengan mudah dipelajari secara bertahap

Sulit untuk dipelajari  teknik QP (Quadratic Untuk mempelajari fungsi kompleks  gunakan
Programming) struktur multi layer yang kompleks.
Menggunakan kernel, dapat mempelajari fungsi
yang sangat kompleks
Referensi
• [Link]
• [Link]

Anda mungkin juga menyukai