• Tidak ada hasil yang ditemukan

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.

Dokumen terkait