Data Mining Support Vector Machine

BAB 2 LANDASAN TEORI Dalam bab ini dibahas teori yang digunakan sebagai landasan pengerjaan Support Vector Backpropagation. Pembahasan bertujuan untuk menguraikan teori dan algoritma yang digunakan dalam Support Vector Backpropagation dalam upaya mengurangi pengaruh curse of dimensionality dan menciptakan visualisasinya.

2.1. Data Mining

Data mining merupakan teknologi dalam menggabungkan metoda analisis tradisional dengan algoritma yang canggih untuk memproses data dengan volume besar. Data mining adalah suatu istilah yang digunakan untuk menemukan pengetahuan yang tersembunyi dalam sebuah database. Data mining merupakan proses semi automatic yang menggunakan statistika, matematika, kecerdasan buatan dan machine learning untuk mengekstraksi dan mengidentifikasi informasi pengetahuan potensial dan berguna yang bermanfaat yang tersimpan dalam database besar. Analisis yang diautomatisasi yang dilakukan oleh data mining melebihi yang dilakukan oleh sistem pendukung keputusan tradisional yang sudah banyak digunakan. Data mining dapat menjawab pertanyaan-pertanyaan bisnis yang dengan cara tradisional memerlukan waktu dan biaya yang banyak. Data mining mengeksplorasi database untuk menemukan pola-pola tersembunyi, mencari informasi untuk memprediksi yang mungkin saja terlupa oleh para pelaku bisnis karena diluar ekspektasi mereka. Universitas Sumatera Utara

2.2. Support Vector Machine

Pattern recognition merupakan salah satu bidang dalam computer science yang memetakan suatu data ke dalam konsep tertentu yang telah didefinisikan sebelumnya. Konsep tertentu ini disebut class atau category. Aplikasi pattern recognition sangat luas, diantaranya mengenali suara dalam sistem security, membaca huruf dalam Optical Character Recognition, mengklasifikasi penyakit secara otomatis berdasarkan hasil diagnosa kondisi medis pasien dan sebagainya. Berbagai metode dikenal dalam pattern recognition, seperti Linear Discriminant Analysis, Hidden Markov hingga metode kecerdasan buatan seperti artificial neural network. Salah satu metoda yang akhir-akhir ini banyak mendapat perhatian sebagai state of the art dalam pattern recognition adalah Support Vector Machine. Support Vector Machine dikembangkan oleh Boser dan Guyon, dan pertama kali dipresentasikan pada tahun 1992 pada Annual Workshop on Computational Learning Theory Boser Guyon, 1992 . Konsep dasar Support Vector Machine sebenarnya merupakan kombinasi harmonis dari teori-teori komputasi yang telah ada puluhan tahun sebelumnya, seperti Margin Hyperplane Duda Hart, 1973 , sebagaimana yang telah dijelaskan oleh Thomas M. Cover yang menmbahas tentang large margin hyperplanes dan juga persebarannya pada feature space Cover, 1965 , selanjutnya oleh Vapnik dan Chervonenkis mengembangkan lebih lanjut mengenai generalized portrait algorithm Vapnik Chervonenkis, 1964 , sementara konsep dan teori kernel diperkenalkan oleh Aronszajn tahun 1950 Aronszajn, 1950 dan oleh Aizerman dan Braverman serta Rozoner memperkenalkan interpretasi geometri oleh kernel sebagai inner product pada sebuah feature space Aizerman et al, 1964 , dan demikian juga dengan konsep-konsep pendukung lainnya. Akan tetapi hingga tahun 1992, belum pernah ada upaya merangkaikan komponen-komponen tersebut. Berbeda dengan strategi neural network yang berusaha mencari hyperplane pemisah antar class, Support Vector Machine berusaha menemukan hyperplane terbaik pada input space. Prinsip dasar Support Vector Machine adalah linear classifier, dan selanjutnya dikembangkan agar dapat bekerja pada problem non-linear dengan memasukkan konsep kernel trick pada ruang kerja berdimensi tinggi Vapnik, 1995 . Perkembangan ini memberikan rangsangan minat penelitian dalam bidang pattern Universitas Sumatera Utara recognition untuk meng-investigasi potensi kemampuan Support Vector Machine secata teoritis maupun dari segi aplikasi. Dewasa ini Support Vector Machine telah berhasil diaplikasikan dalam problema dunia nyata, dan secara umum memberi solusi yang lebih baik dibandingkan metoda konvensional seperti misalnya artificial neural network. Support Vector Backpropagation adalah pengembangan dari Support Vector Machine, digunakan untuk mengatasi curse of dimensionality yang selalu menjadi constraint dalam proses cluster sebuah high dimensional data. Support Vector Backpropagation memanfaatkan konsep jaringan syaraf tiruan dengan algoritma backpropagation untuk mentransformasikan high dimensional dataset menjadi low dimensional dataset. 2.2.1. Support Vector Backpropagation Penulis memperkenalkan sebuah pendekatan baru dalam klasifikasi high dimensional data bernama Support Vector Backpropagation yang mengimplementasikan backpropagation sebagai feature reductor pada Support Vector Machine sehingga curse of dimensionality yang selalu ditemukan dalam proses cluster pada high dimensional dataset dapat diatasi, penulis mendapati bahwa penggunaan jaringan syaraf tiruan khususnya algoritma Backpropagation dapat dimanfaatkan dalam mempelajari pola input seperti yang telah dikemukakan oleh Geofrey E. Hinton Hinton, 2006 dan kemudian dapat memberikan sebuah titik penanda classifier point berupa nilai low dimensional yang merepresentasikan pola input dalam keadaan awal high dimensional data sehingga proses cluster akan dilakukan pada nilai low dimensional dan bukan pada nilai high dimensional. Proses cluster pada Support Vector Backpropagation diawali dengan proses transformasi dataset oleh jaringan syaraf tiruan sehingga diciptakan sebuah dataset pengganti dalam low dimensional, dengan dataset pengganti ini proses cluster akan dilakukan secara normal oleh Support Vector Machine. Berikut adalah flowchart Support Vector Backpropagation: Universitas Sumatera Utara START Inisialisasi Bobot JST Feedforwardpropagation High Dimensional Training Data Output == Target Backpropagation Bobot JST yang baru No Yes Low Dimensional Training Data Similarity Function radial basis function Update Bobot Support Vector Machine Hitung Bobot x similarity function MSE terkecil? Output cluster End no yes Bobot Support Vector Machine Gambar 2.1 Flowchart Support Vector Backpropagation Universitas Sumatera Utara 2.2.1.1. Aristektur Support Vector Backpropagation Support Vector Backpropagation memiliki arsitektur yang unik karena menggabungkan sebuah jaringan syaraf tiruan sebagai transformator yang akan meng- ubah semua dataset yang di-inputkan menjadi low dimensional dataset, penetuan jumlah neuron dan layer jaringan syaraf tiruan dalam Support Vector Backpropagation tidak memerlukan ketentuan khusus, seluruh proses yang terjadi sama halnya dengan algoritma Backpropagation biasa. Berikut gambar arsitektur Support Vector Backpropagation: x 1 1 x 1 2 x 1 3 x 1 4 x 2 1 x 2 2 x 2 3 x 2 4 x 3 1 x 3 2 SVM Ouput Gambar 2.2 Arsitektur Support Vector Backpropagation Universitas Sumatera Utara 2.2.1.2. Algoritma Support Vector Backpropagation Algoritma Support Vector Backpropagation terbagi kedalam 2 fase, fase pertama adalah fase transformasi yang dilakukan oleh Backpropagation untuk kemudian di- cluster menggunakan Support Vector Machine. Berikut ini adalah algoritma Support Vector Backpropagation: 1. Proses tranformasi menggunakan Backpropagation 1. Inisialisasi bobot Proses inisialisasi bobot pada jaringan syaraf tiruan digunakan untuk memberi nilai awal bobot berupa nilai acak dan sangat kecil, diperlukan nilai epsilon init dalam penentuan bobot awal, nilai ini digunakan untuk symmetry breaking yang seringkali menjadi constraint bagi jaringan syaraf tiruan dalam proses learning, nilai bobot awal yang dihasilkan akan selalu berada disekitar niali epsilon init . Berikut adalah persamaan yang digunakan dalam inisialisasi bobot yang digunakan dalam jaringan syaraf tiruan: 2.1 keterangan: l = layer l = 1,2,3,…,n 2. Feedforwardpropagation Proses selanjutnya yang dilakukan oleh Backpropagation adalah feedforwardpropagation, ini dilakukan dengan cara mengitung jumlah bobot dan nilai input pada masing-masing neuron dan kemudian dihitung nilai aktivasinya, seperti yang dijelaskan pada persamaan berikut: 2.2 Universitas Sumatera Utara keterangan: = neuron ke -i layer ke-l i,j = 1,2,3,…,n = bobot neuron ke-i layer ke-l i,j = 1,2,3,…,n = input neuron ke-i layer ke-l i,j = 1,2,3,…,n Dimana nilai fungsi aktivasi pada masing-masing neuron adalah sebagai berikut: 2.3 keterangan: = nilai aktivasi neuron ke-i layer ke-l i,j = 1,2,3,…,n = neuron ke -i layer ke-l i,j = 1,2,3,…,n Dimana nilai fungsi aktivasi menggunakan fungsi sigmoid biner sebagai berikut: 2.4 keterangan: z = neuron ke-i i = 1,2,3,…,n Universitas Sumatera Utara 3. Hitung nilai Mean Square Error Setelah semua nilai aktivasi pada masing-masing neuron pada tiap layer didapat maka selanjutnya akan dihitung nilai Mean Square Error nya menggunakan learing rate lambda, nilai Mean Square Error terkecil menandakan bahwa jaringan syaraf tiruan telah berhasil menemukan pola dan bobot yang akan digunakan dalam proses transformasi, adapun persamaan Mean Square Error adalah sebagai berikut: 2.5 keterangan: = output ke-i layer ke-l i,j = 1,2,3,…,n = nilai aktivasi neuron ke-i layer ke-l i,j = 1,2,3,…,n lambda = learning rate m = banyaknya sample 4. Hitung nilai error Dikarenakan nilai output neuron pada output layer tidak sama dengan target yang diinginkan maka selanjutnya dihitung nilai error-nya, nilai error meupakan selisih antara output dengan target, nilai error terbagi dua yaitu nilai error pada output layer dan hidden layer dan tidak ada nilai error yang dicari pada input layer, perhitungan nilai output layer dijelaskan pada persamaan berikut: Universitas Sumatera Utara Nilai error pada output layer: 2.6 Nilai error pada hidden layer: 2.7 keterangan: = nilai error pada output layer = nilai aktvasi neuron ke-i pada output layer i = 1,2,3,…,n = nilai error pada hidden layer = bobot neuron hidden layer Dimana nilai sigmoidGradients didapat dengan cara turunan pertama fungsi sigmoid yaitu: 2.7 Dimana nilai fungsi sigmoid didapat pada persamaan 2.4 5. Hitung nilai Theta grad Setelah diperoleh nilai error pada masing-masing neuron output layer dan hidden layer, maka proses berikutnya adalah menghitung nilai Theta grad menggunakan persamaan berikut: Universitas Sumatera Utara 2.8 keterangan: = Theta grad layer ke-l l = 1,2,3,…,n = nilai error neuron ke-i layer ke-l i,j = 1,2,3,…,n 6. Update bobot jaringan syaraf tiruan Setelah didapat nilai Theta grad maka akan didapat bobot jaringan syaraf terbaru yang akan di-iterasi sehingga mendapatkan bobot yang optimal menggunakan persamaan berikut: 2.9 keterangan: = bobot neuron ke-i layer-l i,l = 1,2,3,…,n = Theta grad neuron ke-i layer-l i,l = 1,2,3,…,n 2. Proses cluster menggunakan Support Vector Machine 1. Penentuan nilai kernel Proses cluster menggunakan Support Vector Machine diawali dari proses menghitung similarity function mangunakan radial basis function, yang didapat menggunakan persamaan berikut: 2.10 keterangan: = similarity function ke-i i = 1,2,3,…,n feature x training sample Universitas Sumatera Utara = landmark x y = feature y training sample = landmark y = variance 2. Penentuan nilai cost Setelah didapat nilai similarity function, maka kita akan melakukan summation pada masing input feature dengan bobot Support Vector Machine yang dihitung dengan persamaan: 2.11 keterangan: = cost sample ke-i pada similarity function ke-i = sample ke-i = similarity function ke-i 3. Perhitungan Mean Square Error Support Vector Machine Untuk mengetahui apakah sebuah classifier telah menemukan cluster yang tepat dapat dilihat dari nilai Mean Square Error minimum yang didapat dari persamaan 2.11 dengan persamaan berikut: 2.12 keterangan: = output ke-i layer ke-l i,j = 1,2,3,…,n Universitas Sumatera Utara = cost sample ke-i pada similarity function ke-i lambda = learning rate m = banyaknya sample

2.3. High Dimensional Classification