2.1. Data Mining - Support Vector Backpropagation: Implementasi Backpropagation Sebagai Feature Reductor Pada 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.

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 adalah Support Vector Machine. Support Vector Machine dikembangkan

  recognition

  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

  

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 bernama Support Vector Backpropagation yang mengimplementasikan

  data

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

  diawali dengan proses transformasi dataset oleh jaringan

  Vector Backpropagation

  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:

  START Inisialisasi Bobot JST Feedforwardpropagation

  High Dimensional Training Data Output == Target

  Backpropagation Bobot JST yang

  Yes baru No 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

  2.2.1.1. Aristektur Support Vector Backpropagation memiliki arsitektur yang unik karena

  Support Vector Backpropagation

  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 :

  1

  1

  1

  1 x x x x

  1

  2

  3

  4

  2

  2

  2

  2 x x x x

  1

  2

  3

  4

  3

  3 x 1 x

  2 SVM

Ouput

Gambar 2.2 Arsitektur

  Support Vector Backpropagation

  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) 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)

  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:

  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 menggunakan persamaan berikut: grad

  (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

  = 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)

  = 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 n- dimensional 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 non- parametrik 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 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 .