Artificial Neural Network LANDASAN TEORI

dimana S i adalah eigenvalue pada posisi ke-i dengan eigenvector serta eigenvalue telah diurutkan secara menurun. Seluruh nilai dari eigenvector yang dipilih kemudian disusun menjadi sebuah matriks vektor fitur U, dimana setiap eigenvector yang dipilih akan menjadi kolom dari matriks vektor fitur U. 5. Hitung nilai dari dataset final dengan menggunakan rumus X U Z T  2.7 dimana Z merupakan dataset hasil PCA dalam bentuk matriks; U adalah matriks vektor yang didapatkan pada tahap sebelumnya; X adalah matriks dataset asli.

2.7. Artificial Neural Network

Artificial Neural Network atau jaringan saraf tiruan dapat didefinisikan sebagai sebuah model logika yang berdasarkan otak manusia. Sebuah jaringan saraf tiruan memodelkan otak dengan menggunakan sejumlah neuron yang sederhana dan saling terkoneksi dengan sebuah nilai bobot yang meneruskan signal dari satu neuron menuju neuron lainnya Negnevitsky, 2005. Setiap neuron akan menerima sejumlah input melalui hubungannya, kemudian neuron tersebut akan menghasilkan satu output, sesuai dengan nilai bobot yang pada hubungan tersebut, kemudian diteruskan kembali ke neuron yang lain. Setiap neuron pada jaringan saraf tiruan akan tersusun dalam beberapa layer atau lapisan. Secara umum, sebuah jaringan saraf tiruan terdiri atas tiga layer, yakni: input layer yang merupakan node-node yang menerima signal input, middle layer atau sering disebut juga dengan hidden layer yang terdiri atas node yang menghubungkan node pada input layer menuju ke output layer, dan output layer yang merupakan node-node yang menghasilkan signal output. Pembelajaran pada jaringan saraf dilakukan dengan melakukan penyesuaian nilai bobot yang digunakan untuk meneruskan nilai dari satu neuron menuju neuron lain. Arsitektur umum dari sebuah jaringan saraf tiruan dapat dilihat pada gambar 2.3. Universitas Sumatera Utara Gambar 2.3. Arsitektur umum sebuah jaringan saraf tiruan Negnetvisky, 2005 Penentuan output dari sebuah neuron ditentukan menggunakan sebuah fungsi yang disebut dengan fungsi aktivasi. Ada beberapa jenis fungsi aktivasi yang bisa digunakan dalam menentukan output dari sebuah neuron dengan empat fungsi aktivasi yang secara umum digunakan Negnetvisky, 2005, yakni: step function, sign function, sigmoid function dan linear function. Masing-masing fungsi aktivasi beserta grafik yang menggambarkan fungsi dapat dilihat pada gambar 2.4. Gambar 2.4. Fungsi aktivasi dari sebuah neuron Negnetvisky, 2005 Step function dan sign function atau disebut juga fungsi pembatasan kasar, dimana kedua fungsi ini secara umum digunakan pada permasalahan klasifikasi dan pengenalan pola. Sigmoid function mengubah input yang memiliki jangkauan nilai [- ∞, ∞] menjadi output dengan jangkauan nilai [0,0, 1,0]. Fungsi ini digunakan pada jaringan propagasi balik. Linear activation function menyediakan sebuah output yang Universitas Sumatera Utara sama dengan input yang diterima oleh neuron dan fungsi ini biasanya digunakan pada pendekatan linear. 2.7.1. Kelemahan Artificial Neural Network Adapun beberapa kelemahan dari jaringan saraf tiruan pada saat diterapkan pada proses evolusi yang kompleks Kasabov, 2007: 1. Kesulitan dalam memilih arsitektur dari sistem, dimana jaringan saraf tiruan biasanya memiliki arsitektur yang tetap jumlah neuron serta koneksi tetap. Hal ini mengakibatkan sistem akan susah beradaptasi terhadap data yang belum diketahui distribusinya, Selain itu, arsitektur yang tetap juga menyebabkan jaringan saraf tiruan untuk melakukan pembelajaran untuk waktu yang panjang. 2. Dalam mempelajari data yang baru, jaringan saraf tiruan akan melupakan pengetahuan lama yang telah dipelajarinya. Fenomena ini dikenal dengan sebutan catastrophic forgetting. 3. Pelatihan sebuah jaringan saraf tiruan akan memerlukan banyak iterasi serta propagasi data melalui struktur jaringan saraf tiruan, sehingga diperlukan waktu pelatihan yang lama dalam melatih sebuah jaringan saraf tiruan. 4. Kurangnya fasilitas representasi pengetahuan pada jaringan saraf tiruan, dimana jaringan saraf tiruan mampu menagkap parameter statistik, tetapi tidak dapat memfasilitasi ekstraksi aturan evolusi secara berarti. Permasalahan ini juga dikenal dengan sebutan black box problem. 2.7.2. Multilayer Perceptron Multilayer perceptron adalah sebuah jaringan saraf tiruan dengan satu atau lebih hidden layer. Multilayer perceptron terdri atas input layer, satu atau lebih hidden layer dan output layer. Gambar 2.5. menunjukkan arsitektur dari sebuah Multilayer perceptron dengan dua hidden layer. Untuk menentukan output pada sebuah Multilayer perceptron digunakan fungsi aktivasi sigmoid function sesuai dengan rumus yang terlihat pada gambar 2.4. Universitas Sumatera Utara Gambar 2.5. Arsitektur Multilayer perceptron dengan dua hidden layer Negnetvisky, 2005 Salah satu algoritma yang digunakan dalam pelatihan multilayer perceptron adalah back-propagation training algorithm atau algoritma pelatihan propagasi balik, dimana tahapan yang dilakukan algorima ini dapat dilihat sebagai berikut Negnetvisky, 2005: 1. Inisialisasi Berikan nilai acak pada setiap bobot yang menghubungkan seluruh neuron yang ada dengan distribusi yang merata dan dengan jangkauan yang kecil Haykin, 1999, sesuai rumus:         i i F F 4 , 2 , 4 , 2 2.8 dimana F i adalah banyak input dari neuron i pada jaringan. 2. Aktivasi Aktivasi dari jaringan saraf tiruan dilakukan dengan mengaplikasikan input x 1 p, x 2 p, ..., x n p dan output yang diharapkan y d1 p, y d2 p, ..., y dn p, dengan p adalah jumlah perulangan yang sudah dilakukan dan p memiliki nilai awal 0. a. Kalkulasikan output sebenarnya dari setiap neuron pada hidden layer, dengan rumus: Universitas Sumatera Utara          n i ij i j p w p x sigmoid p y 1 . 2.9 dimana n adalah banyak input dari neuron j pada hidden layer dan sigmoid adalah fungsi aktivasi sigmoid. b. Kalkulasikan output sebenarnya dari setiap neuron pada output layer dengan rumus:          m i jk jk k p w p x sigmoid p y 1 . 2.10 dimana m adalah banyak input dari neuron k pada output layer dan sigmoid adalah fungsi aktivasi sigmoid. 3. Pelatihan bobot Lakukan update atau pembaruan nilai dari setiap bobot pada jaringan saraf tiruan dengan melakukan propagasi balik terhadap error pada output layer. a. Hitung error pada setiap neuron pada output layer dengan rumus: p y p y p dk k k    2.11 kemudian hitung perbaikan bobot menggunakan rumus: 1 . . .      p w p p y p w jk k j jk    2.12 dimana α adalah sebuah konstanta yang menentukan kecepatan pembelajaran dari algoritma propagasi balik dan disebut dengan learning rate; µ adalah sebuah konstanta yang menentukan besar perubahan update dari bobot dan disebut dengan momentum. Lakukan update untuk setiap bobot yang terhubung dengan neuron pada output layer menggunakan rumus: 1 p w p w p w jk jk jk     2.13 b. Hitung error pada setiap neuron pada hidden layer dengan rumus: Universitas Sumatera Utara   1 . . . 1 p y p y p w p p j j m k jk k j             2.14 kemudian hitung perbaikan bobot menggunakan rumus: 1 . . .      p w p p x p w ij j i ij    2.15 dimana α adalah sebuah konstanta yang menentukan kecepatan pembelajaran dari algoritma propagasi balik dan disebut dengan learning rate; µ adalah sebuah konstanta yang menentukan besar perubahan update dari bobot dan disebut dengan momentum. Lakukan update untuk setiap bobot yang terhubung dengan neuron pada output layer menggunakan rumus: 1 p w p w p w ij ij ij     2.16 4. Iterasi Apabila kriteria error belum terpenuhi, lakukan penambahan nilai perulangan p sebanyak satu, kemudian kembali ke langkah 2. Apabila kriteria error telah dipenuhi, maka algoritma pelatihan propagasi balik selesai.

2.8. Distributed Autonomous Neuro-Gen Learning Engine