Support Vector Machine

October 13, 2022 | Author: Anonymous | Category: N/A
Share Embed Donate


Short Description

Download Support Vector Machine...

Description

 

Support Vector Machine  Menurut Santoso (2007) Support vector machine (SVM) adalah suatu teknik untuk melakukan  prediksi, baik dalam kasus klasifikasi maupun regresi. SVM berada dalam satu kelas dengan Artificial Neural Network (ANN) dalam hal fungsi dan kondisi permasalahan yang bisa diselesaikan. Keduanya masuk dalam kelas supervised kelas supervised learning .  Dalam penelitian ini, teknik SVM digunakan untuk menemukan  fungsi pemisah pemisah(klasifier) (klasifier) yang optimal yang bisa memisahkan dua set data dari dua kelas yang berbeda. Penggunaan teknik machine learning tersebut, karena performansinya yang meyakinkan dalam memprediksi kelas suatu data baru.  baru.  Teori SVM dimulai dengan kasus klasifikasi yang secara linier bisa dipisahkan. Dalam hal ini fungsi pemisah yang dicari adalah fungsi linier. Fungsi ini bisa didefinisikan sebagai;  sebagai;    g ( x)  x) := sgn := sgn(( f   f ( x))  x)) dengan atau dimana and

(2.1)  (2.1) 

(2,2)  (2,2)  (2.3)  x,

w b

∈   ∈  

. Masalah klasifikasi ini bisa dirumuskan set parameter (w, (w, b) b ) sehingga f  sehingga  f ( xi)  xi) =< = < w, x > +b =  yi  untuk semua i. Teknik SVM berusaha menemukan fungsi menemukan  fungsi pemisah (klasifier/hyperplane) terbaik diantara fungsi yang tidak terbatas jumlahnya untuk memisahkan dua macam obyek. Hyperplane terbaik adalah hyperplane yang terletak di tengah-tengah antara dua set obyek dari dua kelas. Mencari hyperplane terbaik ekuivalen dengan memaksimalkan margin atau jarak antara dua set obyek dari kelas yang berbeda. Jika adalah hyperplane-pendukung (supporting hyperplane) dari kelas dan hyperplane-pendukung dari kelas , margin antara dua kelas dapat dihitung dengan mencari jarak antara kedua hyperplane pendukung dari kedua kelas. Secara spesifik, margin dihitung dengan cara berikut:  berikut:   .  Menurut Kecman, Vojislav Kosaka (2001),  (2001),   untuk detailnya bagaimana nilai margin optimal diperoleh seperti dijelaskan pada gambar 2.1 dibawah ini;  ini; 

Gambar 2. 1 Nilai Jarak Optimal Optimal  

 

 

Gambar 2. 2 Hyperplane

Pada suatu ruang ada suatu titik dan hyperplane d (x, W, b)  b)  = 0 kemudian didefinisikan oleh , maka D maka  D jarak  jarak dari titik P ke hyperplane diberikan sebagai berikut;

( 2.4) Jarak antara dua Support vektor dari kelas yang berbeda. Maka margin M dapat didefisikan sebagai berikut: (2.5)   (2.5) dmana notasi w subscript menunjukkan proyeksi ke arah vektor bobot W. Kemudian M marjin sekarang dapat ditemukan dengan menggunakan Support vektor x vektor  x1 dan  dan x  x2 sebagai berikut; (2.6)  , , (2.6)  Dimana α merupakan sudut antara w  dengan dam β besarnya darajat sudut antara w dengan dengan   , sehinga kedua konsep jarak dari vector tersebut dapat dijelaskan dalam bentuk:  bentuk:   (2.7)  (2.7)  Kemudian formula (2.7) disubstitusikan kedalam kedalam bentuk formula (2.6) yang mengahasilkan.   mengahasilkan. (2.8)  (2.8)  dan dengan menggunakan fakta bahwa dan adalah support vektor yang memenuhi , j  j=1,2, =1,2, , yaitu,  yaitu,  dan , dan akhirnya diperoleh;

 

(2.9)   (2.9) Atau singkatnya pendekatan secara aljabar bisa saja digunakan untuk menunjukkan hubungan antara vektor bobot normal dan  M   margin: (2.43) menyatakan jarak D antara vektor dukungan dan Hyperplan kanonik. Jadi, misalnya, untuk dua-dimensi input ditunjukkan pada gambar 2.17,  jarak D antara dukungan vektor x vektor  x2 dan garis pemisah kanonik adalah sama dengan setengah dari M margin, dan dari (2.43) maka diperoleh

Untuk membuktikan bahwa memaksimalkan margin antara dua set obyek akan meningkatkan  probabilitas pengelompokkan secara benar dari data testing. Pada dasarnya jumlah fungsi  pemisah ini tidak terbatas banyaknya. Misalkan dari jumlah yang tidak terbatas ini diambil dua saja, yaitu  f 1( x)  x) and  f 2( x)  x) . Fungsi  f 1  mempunyai margin yang lebih besar dari pada fungsi  f 2. Setelah menemukan dua fungsi ini, sekarang suatu data baru masuk dengan keluaran −1. Kemudian harus dikengelompokkan apakah data ini ada dalam kelas −1 atau +1 dengan menggunakan fungsi pemisah yang sudah di temukan. Dengan menggunakan  f 1, akan kelompokkan data baru ini di kelas −1 yang berarti pengelompokkannya benar. Selanjutnya gunakan  f 2, akan menempatkannya di kelas +1 yang berarti salah. Dengan demikian bahwa memperbesar margin bisa meningkatkan probabilitas pengelompokkan suatu data secara benar.  benar. 

1.  Formula Matematis  Secara matematika, formulasi problem optimisasi SVM untuk kasus klasifikasi linier di dalam  primal space santoso (2007)   (2007) adalah   adalah (2.11) (2.11)   Subject to  to 

(2.12) (2.12)    xi  dimana adalah data input,  yi adalah keluaran dari data  xi, w, b adalah parameter-parameter yang dicari nilainya. Dalam formulasi di atas,akan diminimalkan  fungsi tujuan (obyektif function) atau memaksimalkan kuantitas atau dengan memperhatikan pembatas Bila output data  yi  = +1, maka pembatas menjadi .  .  Sebaliknya bila  yi  = -1, pembatas menjadi (wx (wxi+b) ≤ −1. Di dalam kasus yang tidak feasible (infeasible) dimana  beberapa data mungkin tidak bisa dikelompokkan secara benar, formulasi matematikanya menjadi berikut  berikut 

 

  Subject to  to 

dimana ti adalah variabel slack  variabel  slack . Dengan formulasi ini dapat memaksimalkan margin antara dua kelas dengan meminimalkan ) . Dalam formulasi ini berusaha meminimalkan kesalahan klasifikasi (misclassification error) yang dinyatakan dengan adanya variabel  slack ti ti,, sementara dalam waktu yang sama dapat memaksimalkan margin, ) . . Penggunaan variabel slack adalah untuk mengatasi kasus ketidaklayakan (infeasibility) dari pembatas (constraints) dengan cara memberi pinalti untuk data yang tidak memenuhi pembatas tersebut. Untuk meminimalkan nilai ti ini, berikan pinalti dengan menerapkan konstanta ongkos C . Vektor w tegak lurus terhadap fungsi pemisah: wx + b = 0. Konstanta b menentukan lokasi fungsi pemisah relatif terhadap titik asal (origin). Problem formula diatas adalah  programa nonlinear . Ini bisa dilihat dari fungsi dari  fungsi tujuan (objective function) yang berbentuk kuadrat. Untuk menyelesaikannya lebih mudah dan efisien untuk diselesaikan, masalah ini bisa ditransformasikan ke dalam dual  space.. Untuk itu, formula diatas dirubah menjadi fungsi  space menjadi  fungsi Lagrangian : 

non-negatif, negatif, αi dinamakan αi dinamakan Lagrange  Lagrange multiplier . Solusi dari problem optimisasi dimana variabel nondengan pembatas seperti di atas ditentukan dengan mencari  mencari   saddle point p oint dari fungsi Lagrangian J  Lagrangian  J (w, b, α). α). Fungsi ini harus diminimalkan terhadap variabel w dan b dan harus dimaksimalkan terhadap variable α. Kemudian cari turunan pertama dari fungsi  J (w, b, α) α) terhadap variabel w dan b dan samakan dengan 0. Dengan melakukan proses ini, akan mendapatkan dua kondisi optimalitas berikut:  berikut:  1.  kondisi 1: 1:  

1.  kondisi 2:

Penerapan kondisi optimalitas 1 pada fungsi Lagrangian (2.14) akan menghasilkan  menghasilkan 

menghasilkan   Penerapan kondisi optimalitas 2 pada fungsi Lagrangian (2.14) akan menghasilkan

 

 

(Bertsekas,1995)  Menurut duality theorem (Bertsekas,1995)  1.  Jika problem primal mempunyai solusi optimal, maka problem dual juga akan mempunyai solusi optimal yang nilainya sama.  sama.   2.  Bila wo  adalah solusi optimal untuk problem primal dan αo  untuk problem dual, maka  perlu dan cukup  bahwa wo  solusi layak untuk problem primal dan  dan   Φ(w wo) = J  = J (wo , bo , αo) =  =  Φ(

berikut:  Untuk mendapatkan problem dual dari problem , jabarkan persamaan (2.14) sebagai berikut: 

Menurut kondisi optimalitas ke dua dalam (2.18), term ketiga sisi sebelah kanan dalam  persamaan di atas sama dengan 0. Dengan memakai nilai nilai w di (2.17), dapatkan  dapatkan 

maka persamaan (2.18) menjadi  menjadi 

Selanjutnya dapatkan formulasi dual dari problem (2.11):  (2.11): 

Subject to to  

0≤αi , i=1,…,λ  

 

Dengan dot product sering diganti dengan simbol  K . dimana K dimana  K adalah fungsi kernel. Formulasi (2.22) adalah quadratic programming (QP)dengan pembatas (constraint) linier. Melatih SVM ekuivalen dengan menyelesaikan problem convex optimization. optimization. Karena itu solusi dari SVM adalah unik (dengan asumsi bahwa k adalah positive definite) dan global optimal.  optimal.  

Fungsi pemisah optimal adalah adalah  

Dimana = 1 , ..,λ   ..,λ adalah solusi optimal dari problem (10) dan dipilih sehingga  y f   xi) = 1 untuk sembarang i dengan C > >0 . Data . Data x  xi dimana > 0 dinamakan i ( x  support vector dan menyatakan data training yang diperlukan untuk mewakili fungsi keputusan yang optimal.  optimal. 

1.  Metode Kernel  Menurt Santoso (2007) banyak teknik data mining atau machine learning yang dikembangkan dengan asumsi kelinieran. Sehingga algorithma yang dihasilkan terbatas untuk kasus-kasus yang linier. Karena itu, bila suatu kasus klasifikasi memperlihatkan ketidaklinieran, algorithma seperti  perceptron tidak bisa mengatasinya. Secara Sec ara umum, kasus-kasus di dunia nyata adalah kasus yang tidak linier. Sebagai contoh, perhatikan Gambar 2.3. Data ini sulit dipisahkan secara linier. Metoda kernel adalah salah satu untuk mengatasinya. Dengan metoda kernel suatu data x data  x di input space dimapping ke feature space  F dengan dimensi yang lebih tinggi melalui map ϕ   sebagai  berikut ϕ  : x _→ ϕ ( x).  x). Karena itu data x data x di input space menjadi ϕ ( x)  x) di feature space. Sering kali fungsi ϕ ( x)  x) tidak tersedia atau tidak bisa dihitung. Tetapi dot  product dari dua vektor dapat dihitung baik di dalam input space maupun di  feature space space.. Dengan kata lain, sementara ϕ ( x)  x) mungkin tidak diketahui, dot product < ϕ ( x  x1) ,  , ϕ  ( x  x2) > masih bisa dihitung di feature space.  space.   Untuk bisa memakai metoda kernel, pembatas (constraint) perlu diekspresikan dalam bentuk dot  product dari vektor data  xi  xi.. Sebagai konsekuensi, pembatas yang menjelaskan permasalahan dalam klasifikasi harus diformulasikan kembali sehingga menjadi bentuk dot product. Dalam feature space ini dot product < . > menjadi menjadi< < ϕ ( x)  x) ,  , ϕ ( x)  x)‘ >. Suatu fungsi kernel, k ( x,  x, x’ ), ), bisa untuk menggantikan dot product < ϕ ( x)  x) ,  , ϕ ( x)  x)‘ >. Kemudian di feature space, bisa membuat

 

suatu fungsi pemisah yang linier yang mewakili fungsi nonlinear di input space. Gambar 2.3 mendeskrisikan suatu contoh feature mapping dari ruang dua dimensi ke feature space dua dimensi.   dimensi. Dalam input space, data tidak bisa dipisahkan secara linier, tetapi bias memisahkan di feature space. Karena itu dengan memetakan data ke feature space menjadikan tugas klasifikasi menjadi lebih mudah  mudah 

Kelinieran   Gambar 2. 3 Transformasi Kelinieran

 

Linier :

 

Polynomial:





 



 



Pemilihan fungsi kernel yangditepat adalah halklasifier yang sangat fungsi kernelkernelnya ini akan menentukan feature space mana fungsi akanpenting. dicari. Karena Sepanjang fungsi

 

legitimate, SVM akan beroperasi secara benar meskipun tidak tahu seperti apa map yang digunakan. Pada penerapan metoda kernel, tidak perlu tahu map apa yang digunakan untuk satu  per satu data, tetapi lebih penting mengetahui bahwa dot produk dua titik di feaure space bisa digantikan oleh fungsi kernel.  kernel.  

1.  Support Vector Machine Multikelas  Pengembangan kearah persoalan klasifikasi untuk multi kelas masih menjadi perhatian para  peneliti [Hsu and Lin, 2002]. Pada Klasifikasi multi kelas, output dari set data memiliki lebih dari dua kelas atau kategori. Dengan jumlah kelas yang lebih dari dua, maka diperlukan  pendekatan yang berbeda dengan kasus dua kelas. Ada dua pendekatan utama u tama untuk SVM multi kelas yaitu: pertama menentukan dan menggabungkan beberapa fungsi pemisah persoalan klasifikasi multi kelas. Yang kedua, secara langsung menggunakan semua data dari semua kelas dalam satu formasi persoalan optimasi.termasuk dalam pendekatan pertama dimana beberapa fungsi untuk problem dua kelas dikembangkan lalu digabung: satu-lawan-semua (One-againtall), dan satu-lawan-satu(one-againts-one) [Hsu and Lin,2002; Santosa and Trafalis, 2004].

 

1. Metode Satu-Lawan Semua

Menurut Santoso (2007) Metode Satu-Lawan-Satu (SLA), untuk masalah klasifikasi k -Kelas, -Kelas, ditemukan k   fungsi pemisah dimana k adalah banyaknya kelas. Misalkan fungsi pemisah dinamakan dan dinotasikan dengan  ρ.  ρ.Dalam Dalam metode ini ,  , ditraining dengan data dari kelas-i dengan label +1 dan semua data dari kelas lain dengan label   -1. -1. Diislustrasikan dalam masalah klasifikasi 3 kelas, ketika mentraining semua data dalam kelas 1 diberi label +1 dan data yang lain dari kelas 2 dan 3 diberi -1. Begitu juga, ketika fungsi semua data dalam kelas 2 diberi label +1 dan data yang lain dari kelas 1 dan 3 diberi label -1. Proses dilakuakn untuk semua i=1,2,3. Dan apabila diberikan λ data untuk training dimana d imana adalah data input dan kelas dari yang bersangkutan, fungsi pemisah ke-I menyelesaikan persoalan optimasi  berikut:

(2.25)

Setelah penyelesaian (2.25) ada k  Fungsi  Fungsi pemisah

 

 

1.  Estimasi Parameter Terbaik   Akurasi model yang akan dihasikan dari proses pelatihan dengan SVM sangat bergantung pada fungsi kernal serta parameter yang digunakan. Oleh karena itu  performansinya dapat dioptimasi dengan mencari (mengestimasi) parameter terbaik. Ada  beberapa cara yang dapat dilakukan antara lain cross validation (mudah digunakan)  digunakan)  dan leaveone-out (akurat tetapi membutuhkan biaya komputasi yang tinggi) . K-folds .  K-folds crossalidation dapat digunakan untuk menentukan nilai parameter C dan parameter kernel yang tidak overfit data  pelatihan. Dengan metode ini, data yang diambil secara acak kemudian dibagi menjadi k buah  partisi dengan ukuran yang sama. Selanjutnya, dilakukan iterasi sebanyak k. Pada setiap iterasi digunakan sebuah partisi sebagai data pengujian, sedangkan k-1 partisi sisanya digunakan sebagai data pelatihan. Jadi akan dicoba berbagai nilai parameter dan parameter terbaik ditentukan melalui k-folds crossalidation. crossalidation.

1.  Pemilihan Atribut penting (feature selection)   Pada pelatihan dengan menggunakan SVM tidak terdapat mekanisme untuk mengetahui atribut yang penting atau yang kurang penting. Atribut yang kurang  penting umumnya tidak mempengaruhi efektifitas teknik klasifikasi. Oleh karena itu, jika atribut yang kurang penting ini dibuang maka efisiensi teknik klasifikasi akan meningkat. Efektifitas teknik klasifikasi juga dapat meningkat jika atribut yang kurang penting ini ternyata menjadi noise.. Pada SVM salah satu cara yang sederhana untuk mengetahui atribut yang penting adalah noise seperti yang dilakukan dengan mengevaluasi efektifitas dan efisiensi teknik klasifikasi setelah sebuah fitur dihilangkan. Dari hasil pengujian setelah fitur ini dihilangkan dapat diketahui sebuah fitur penting atau tidak dari perbedaan efisiensi dan efektifitas

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF