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
High Dimensional Training Data
Feedforwardpropagation
Output == Target Yes No
Backpropagation
Bobot JST yang baru Low Dimensional Training Data
Similarity Function (radial basis function)
Hitung Bobot x similarity function
Bobot Support Vector Machine
MSE terkecil?
Update Bobot Support Vector Machine no
yes
Output cluster
End
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 mengubah 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:
x11
x12
x13
x14
x21
x22
x23
x24
x31
x32
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 dicluster 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 epsiloninit 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 epsiloninit. 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 Thetagrad Setelah diperoleh nilai error pada masing-masing neuron output layer dan hidden layer, maka proses berikutnya adalah menghitung nilai Thetagrad menggunakan persamaan berikut:
Universitas Sumatera Utara
(2.8) keterangan: = Thetagrad 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 Thetagrad 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) = Thetagrad 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
Dalam aplikasi yang melibatkan klasifikasi dengan high dimensional dataset, salah satu permasalahan umum dalam tingkat praktiknya adalah kondisi yang disebut curse of dimensionality ( Bellman, 1957 ). Bagaimanapun, masalah utama ini melibatkan kondisi overfitting dan cara menyediakan jumlah training sample yang meningkat secara eksponensial. Masalah ini mudah dipahami jika kita membagi sebuah ndimensional feature space kedalam sebuah n-dimensional hypercubes dengan resolusi yang konstan dalam tiap dimensi ( Bishop, 2006 ). Ketika kita melakukan ini, jumlah hypercubes akan meningkat secara eksponensial seiring jumlah dimensi. Oleh karena itu terlihat jelas bahwa persebaran data menjadi sebuah masalah dan teknik nonparametrik seperti metoda histogram menjadi tidak mungkin. Dalam banyak aplikasi, jumlah dimensi menjadi masalah yang tak terpisahkan dan terasa tidak realistis untuk menydiakan jumlah training sample yang dibutuhkan untuk mengimbangi persebaran data.
2.3.1. Curse of Dimensionality Tools yang digunakan dalam analisis data berdasarkan pada prinsip pembelajaran dari pada pengetahuan, atau informasi dari training sample yang tersedia. Jelas sekali bahwa model yang dibangun hanya valid pada range atau volume sebanyak training sample yang tersedia. Bagaimanapun model yang dibangun, generalisasi pada data yang sangat berbeda dari semua titik pembelajaran adalah mustahil. Dengan kata lain, generalisasi yang relevan dimungkinkan dalam interpolation. Salah satu kompinen kunci dalam pengembangan algoritma pembelajaran yang berhasil adalah tersedianya training sample yang cukup untuk mengisi semua space
Universitas Sumatera Utara
dibagian mana model tersebut adalah valid. Dapat dilihat dengan mudah bahwa jika setiap constraint yang ada tidak mengalami perubahan maka jumlah training sample akan meningkat secara eksponensial seiring dimensinya. Kenaikan jumlah training sample secara eksponensial ini adalah apa yang disebut curse of dimensionality ( Bellman, 1957) dan juga dikemukakan lagi oleh Christopher M. Bishop ( Bishop, 2006 ). Secara umum, curse of dimensionality adalah kondisi dari semua fenomena yang muncul dalam high dimensional dataset, dan yang paling sering menjadi penghalang dalam behavior dan performa sebuah learning algorithm.
2.3.2. Feature Selection Salah satu cara dalam mengatasi curse of dimensionality ( yang seringkali mengakibatkan kondisi overfitting dikarenakan tingginya jumlah parameter r) adalah mereduksi jumlah dimensi pada tahap preprocessing. Dalam permasalahan high dimensional dataset seringkali didapat input variable didapati redundant, jika kita dapat menghapus semua variable yang redundant, sebuah classifier dapat saja melalui proses pembelajaran dalam low dimensional dataset. Feature selection membutuhkan pengenalan pada ukuran persebaran yang menjelaskan perbedaan nilai antara variable input yang digunakan. Ukuran persebaran data yang ideal adalah Bayes error rate dalam permasalahan klasifikasi. Sayangnya, jumlah training sample yang dibutuhkan akan selalu berubah setiap proses feature selection. Jika ukruan persebaran yang idela telah didapat, proses ini masih saja memerlukan jumlah input variable yang optimal, ini dapat dicapai dengan mencari segala kemungkinan input variable yang telah ditetapkan, sebuah metoda brute force dapat digunakan dan salah satu yang paling sederhana adalah sequential forward dan backward selection.
Universitas Sumatera Utara