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