Support Vector Machine (SVM) dikembangkan oleh Boser, Guyon, dan Vapnik, pertama kali diperkenalkan pada tahun 1992 di Annual Workshop on Computational Learning Theory. Konsep dasar metode SVM sebenarnya merupakan gabungan atau kombinasi dari teori-teori komputasi yang telah ada pada tahun sebelumnya, seperti kernel diperkenalkan oleh Aronszajn tahun 1950, Lagrange Multiplier yang ditemukan oleh Joseph Louis Lagrange pada tahun 1766, dan demikian juga dengan konsep-konsep
pendukung lain. Konsep SVM dapat dijelaskan secara sederhana sebagai usaha mencari pemisah dua buah kelas pada input space (Listiana & Much, 2017).
SVM merupakan salah satu metode unggulan dibidang pattern recognition, sebagai algoritma yang terhitung masih baru (1992), SVM berkembang pesat karena berprinsip Structural Risk Minimization (SRM) dengan tujuan menemukan hyperplane terbaik untuk memisahkan dua buah kelas pada suatu space sehingga algoritma ini cocok untuk diimplementasikan sebagai clasificator. Berbeda dengan strategi neural network yang berusaha mencari hyperplane pemisah antar class, SVM berusaha menemukan hyperplane yang terbaik pada input space. Prinsip dasar SVM adalah linear classifier, dan selanjutnya dikembangkan agar dapat bekerja pada problem non-linear.
dengan memasukkan konsep kernel trick pada ruang kerja berdimensi tinggi .
Konsep SVM adalah mendesain sebuah hyperplane yang dapat mengklasifikasikan seluruh data training menjadi dua buah kelas, pada Gambar 2.1 memperlihatkan beberapa pattern yang merupakan anggota dari dua buah class yang berbentuk lingkaran dan kotak. Berbagai alternatif garis pemisah (discrimination boundaries) ditunjukkan pada Gambar 2.1.
Gambar 2.1 Hyperplane Mengklasifikasikan Data Menjadi Dua Kelas (Listiana & Much, 2017)
Hyperplane terbaik antara kedua class dapat ditemukan dengan cara mengukur margin hyperplane tersebut dan mencari titik maksimalnya. Margin adalah jarak antara hyperplane dengan pattern terdekat dari masing-masing kelas, seperti yang terlihat pada Gambar 2.2 Pattern yang paling dekat ini disebut sebagai Support Vector.
Gambar 2.2 Support Vector, Jarak Terdekat Dengan Masing-Masing Kelas (Listiana & Much, 2017)
Pattern yang merupakan anggota dari dua buah kelas: +1 dan -1 dan berbagi alternatif garis pemisah (discrimination boundaries). Margin adalah jarak antara pemisah tersebut dengan pattern terdekat dari masing-masing kelas. Pattern yang memiliki jarak paling dekat disebut sebagai support vector. Dalam menyelesaikan permasalahan linear diasumsikan terdapat data latih {π₯π , π¦π } , π₯π merupakan atribut untuk data latih {π₯1,
β¦ , π₯π } dan π¦π β {β1,1} adalah label kelas dari data latih π₯π. Bidang pemisah yang baik tidak hanya bisa memisahkan data tetapi juga memiliki margin yang besar atau maksimal, data yang berada dekat dan diatas bidang pemisah.
Klasifikasi menggunakan SVM dapat dijelaskan secara sederhana yaitu usaha untuk mendapatkan garis sebagai fungsi pemisah terbaik yang dapat memisahkan dua kelas yang berbeda (+1,-1) pada ruang input.
Gambar 2.3. Konsep Fungsi Pemisah pada SVM
Pada Gambar 2.3 memperlihatkan bahwa beberapa data yang merupakan anggota dari kelas -1 dan +1. Data yang disimbolkan dengan kotak adalah anggota data -1 sedangkan yang bulat menyimbolkan anggota data +1. Fungsi pemisah terbaik adalah fungsi yang mampu memisahkan data dengan nilai margin (m) yang terbesar, dan tepat berada di antara kedua kelas data. Margin merupakan jarak antara fungsi pemisah dengan data terdekat dari masing-masing kelas (Prasetyo, 2012). Pada gambar 1, fungsi pemisah terbaik ditunjukkan dengan garis tebal yang memisahkan kedua kelas. Data yang berada pada bidang pembatas dan terdekat dengan fungsi pemisah terbaiklah yang disebut dengan support vector. Hanya data support vector yang digunakan selama proses mendapatkan fungsi pemisah terbaik (Prasetyo, 2012). SVM merupakan metode berbasis machine learning yang berpotensi untuk dikembangkan lebih jauh karena memiliki performansi tinggi dan dapat diaplikasikan secara luas untuk klasifikasi dan estimasi.
Apabila terdapat dua kelas yang dipisahkan oleh dua bidang pembatas secara sejajar yaitu kelas +1 dan kelas -1. Bidang pembatas dinyatakan dengan H. H1 dinyatakan sebagai bidang pembatas pada kelas +1 dan H2 dinyatakan sebagai bidang pembatas kelas -1, yang dinyatakan dengan persamaan 2.1 dan 2.2 sebagai berikut:
π€. π₯π + π β₯ +1 πππ π¦π = +1 β¦β¦β¦.β¦β¦β¦β¦.β¦.. (2.1)
Sehingga didapatkan persamaan 2.3 sebagai berikut:
π¦π (π₯π . π€ + π) β₯ 1 β¦β¦β¦.β¦β¦β¦... (2.3) Jika titik terpisah secara linear fungsi untuk permukaan ini ditentukan dengan persamaan 2.4 sebagai berikut:
f(x) =(βππ=1βπ βyi (xi.x)+b*) (xi,yi) β¬Rn x{-1,1} β¦β¦β¦.β¦β¦..β¦ (2.4) Keterangan :
πΌπ β : Lagrange Multiplier πβ : Bias
Jika kelas tidak terpisah secara linear maka fungsi untuk permukaan ditentukan oleh
Terdapat beberapa fungsi kernel yang digunakan untuk menyelesaikan masalah pada VM non linear dapat dilihat pada persamaan 2.6 hingga 2.7 berikut ini:
a. Fungsi Kernel Linear
Metode Sequential Training merupakan metode yang digunakan untuk training data agar menghasilkan hyperlane yang optimal. Metode ini digunakan juga untuk mendapatkan nilai Ξ±. Metode ini dikembangkan oleh Vijayakumar dan memiliki langkah proses seperti berikut:
a. Melakukan perhitungan kernel dan melakukan inisialisasi parameter-parameter SVM seperti contoh nilai Ξ±i = 0; Ξ΅ = 0,001; Ξ³ = 0,01; Ξ» = 1; C = 1; dan nilai iterasi maksimal = 10;
b. Menghitung matriks Hessian dengan persamaan 2.9.
π·ππ = π¦ππ¦π (πΎ(π₯π , π₯π ) + Ξ»2) β¦β¦β¦.β¦.. (2.9) c. Melakukan iterasi untuk setiap iterasi = 1, 2, 3, β¦ , n dan dihitung menggunakan
persamaan 2.10 hingga 2.13.
- Menghitung nilai Ei menggunakan persamaan 2.10.
Ei= βππ=1βπβ π·ij β¦β¦β¦..β¦β¦β¦..β¦.β¦ (2.10) - Menghitung nilai Ξ³ dan δαi menggunakan persamaan 2.11 dan 2.12.
Ι€ =πΎπππ π‘πππ‘π
πππ₯π·ππ β¦β¦β¦. (2.11)
δαπ = min[max[πΎ(1 β πΈπ ), πΌπ ] , πΆ β πΌπ ] β¦β¦β¦.. (2.12) - Memperbarui nilai Ξ±i menggunakan persamaan 2.13.
πΌπ = πΌπ + πΏπΌ β¦β¦β¦.β¦β¦.. (2.13) atau ketika nilai iterasi sudah mencapai nilai maksimum maka iterasi dihentikan.
e. Menghitung nilai w.x+ dan w.x- untuk mendapatkan nilai bias menggunakan
πΎ(π₯, π₯+) : Nilai kernel data x dengan data x kelas positif yang memiliki nilai Ξ± tertinggi.
πΎ(π₯, π₯β) : Nilai kernel data x dengan data x kelas negatif yang memiliki nilai Ξ± tertinggi dan π : Nilai bias.
2.2.2 Algoritma Smooth Support Vector Machine (SSVM)
SSVM adalah pengembangan SVM dengan menggunakan teknik smoothing dimana metode ini pertama kali diperkenalkan oleh Lee pada tahun 2001. Algoritma SVM memanfaatkan optimasi dengan quadratic programming, sehingga untuk data berdimensi tinggi dan data jumlah besar SVM menjadi kurang efisien. SVM adalah sistem pembelajaran yang menggunakan ruang hipotesis berupa fungsi-fungsi linier dalam sebuah ruang fitur (feature space) berdimensi tinggi, dilatih dengan algoritma pembelajaran yang didasarkan pada teori optimasi dengan mengimplementasikan learning bias yang berasal dari teori pembelajaran statistik (Christianini, 2000). Oleh karena itu dikembangkan smoothing technique yang menggantikan plus function SVM
dengan integral dari fungsi sigmoid neural network yang selanjutnya dikenal dengan Smooth Support Vector Machine (SSVM).
Smooth Support Vector Machine (SSVM) merupakan mengembangan dari kasifikasi Support Vector Machine (SVM) dimana melibatkan fungsi smoothing didalamnya. Jika terdapat masalah dari klasifikasi titik π di dalam π ruang dimensi nyata π π, gambaran dari matriks π Γ π adalah matrik π΄, anggota dari titik π΄π di dalam kelas +1 atau β1 seperti yang diberikan π Γπ matriks diagonal π· dengan diagonal +1 atau β1. Untuk masalah support vector machine dengan sebuah kernel linier π΄π΄β²
Dimana π€ adalah normal untuk bounding planes:
π₯β²π€βπΎ=+1 β¦β¦β¦.β¦β¦β¦.β¦.β¦ (2.19) π₯β²π€βπΎ=+1 β¦β¦β¦.β¦β¦β¦.β¦.β¦ (2.20) Dan πΎ menentukan daerah relative asal. Garis pemisah pertama batasanya adalah +1 dan garis pemisah kedua batasnya adalah β1 ketika kedua kelas dipisahkan secara ππππππ, yaitu ketika variabel slack π¦ = 0. Garis pemisah linier ketika: π₯β²π€=πΎ. Batasan tengah antara dua garis (lihat gambar 2.3). Jika kelas linier tidak bisa dipisahkan kemudian dua plane membatasi dua kelas dengan βsoft marginβ ditentukan oleh variabel slack y non negatif, yaitu
π₯β²β πΎ+π¦π β₯ +1 π’ππ‘π’π π₯β²=π΄π πππ π·ππ=+1 π₯β²β πΎβπ¦π β€ +1 π’ππ‘π’π π₯β²=π΄π πππ π·ππ=β1 Solusi dari permasalahan di atas adalah:
π¦=(πβπ·(π΄π€βππΎ))+ β¦β¦β¦.β¦.β¦ (2.21)
Dimana, terlebih dahulu menggambarkan, (.)+ diganti dengan komponen negative dari vektor nol, dengan demikian dapat mengganti y dalam persamaan (2.22) dengan (πβπ·(π΄π€βππΎ))+ dan mengubah masalah Support Vector Machine (SVM) pada persamaan (2.3) kedalam Support Vector Machine (SVM) yang merupakan masalah optimasi dibatasi sebagai berikut:
πππ(π€,π¦) π£
2β(π β π·(π΄π β ππΎ))β2
2+1
2(πβ²π + πΎ2) β¦β¦β¦ (2.22)
Masalah ini adalah masalah minimisasi tanpa banyak kendala. Tetapi tujuan fungsi dalam persamaan (2.23) tidak dua kali terdiferensiasi yang menghalangi penggunaan metode Newton. Penerapan teknik smoothing dengan mengganti π₯+ dengan sebuah akurasi penaksiran smooth pemulusan yang diberikan oleh π(π₯,πΌ), fungsi integral sigmoid 1/1+πβπΌπ₯ dari neural networks:
p(x,Ξ±) = x +1
πΌlog(1-Ι-Ξ±x), Ξ± > 0 β¦β¦β¦..β¦.β¦ (2.23) Fungsi π dengan parameter pemulusan πΌ digunakan untuk menggantikan fungsi plus pada persamaan (2.24) untuk mendapatkan sebuah Smooth Support Vector Machine (SSVM):
Algoritma pelatihan Backpropagation Neural Network (BPNN) pertama kali dirumuskan oleh Werbos dan dipopulerkan oleh Rumelhart & Mc. Clelland (Kusumadewi, 2004). Pada supervised learning terdapat pasangan data input dan output yang dipakai untuk melatih JST hingga diperoleh bobot penimbang (weight) yang diinginkan.
Pelatihan Backpropagation meliputi 3 fase:
1. Fase propagsi maju (feedforward) pola pelatihan masukan. Pola masukan dihitung maju mulai dari layer masukan hingga layer keluaran dengan fungsi aktivasi yang ditentukan.
2. Fase propasi mundur (backpropagation) dari error yang terkait. Selisih antara keluaran dan target merupakan kesalahn yang terjadi. Kesalahan tersebut dipropagasi mundur, dimulai dari garis yang berhubungan langsung dengan unit-unit dilayar keluaran.
3. Fase modifikasi bobot.
Ketiga tahapan tersebut diulangi terus-menerus sampai mendapatkan nilai error yang diinginkan. Setelah training selesai dilakukan, hanya tahap pertama yang diperlukan untuk memanfaatkan jaringan syaraf tiruan tersebut. Kemudian, dilakukan pengujian terhadap jaringan yang telah dilatih. Pembelajaran algoritma jaringan syaraf membutuhkan perambatan maju dan diikuti dengan perambatan mundur.