Bidirectional Associative Memory LANDASAN TEORI

2.6.1. Pembelajaran terawasi supervised learning Metode pembelajaran pada jaringan syaraf disebut terawasi jika output yang diharapkan telah diketahui sebelumnya. Contoh: andaikan kita memiliki jaringan syaraf yang akan digunakan untuk mengenali pasangan pola, misalkan pada operasi AND: Input target 1 1 1 1 1 Pada proses pembelajaran, satu pola input akan diberikan ke satu neuron pada lapisan input. Pola ini akan dirambatkan di sepanjang jaringan syaraf hingga sampai ke neuron pada lapisan output. Lap isan output ini akan membangkitkan pola output yang nantinya akan dicocokkan dengan pola output targetnya. Apabila terjadi perbedaan antara pola output hasil pembelajaran dengan pola target, maka disini akan muncul error. Apabila nilai error ini masih cukup besar, mengindikasikan bahwa masih perlu dilakukan lebih banyak pembelajaran lagi. 2.6.2. Pembelajaran tak terawasi unsupervised learning Pada metode pembelajaran yang tak terawasi ini tidak memerlukan target output. Pada metode ini, tidak dapat ditentukan hasil yang seperti apakah yang diharapkan selama proses pembelajaran. Selama proses pembelajaran, nilai bobot disusun dalam suatu range tertentu tergantung pada nilai input yang diberikan. Tujuan pembelajaran ini adalah mengelompokkan unit-unit yang hampir sama dalam suatu area tertentu. Pembelajaran ini biasanya sangat cocok untuk pengelompokan klasifikasi pola.

2.7. Bidirectional Associative Memory

Bidirectional associative memory merupakan model heteroassociative yang terdiri dari dua lapis memori A dan B yang dapat diakses, kedua lapis neuron sama- sama menyimpan pasangan kelompok pola vektor dan menggunakan aliran Universitas Sumatera Utara perambatan informasi arah umpan maju dan arah umpan balik untuk mencari pola yang tersimpan dalam memori. Pada bidirectional associative memory dimungkinkan adanya hubungan timbal balik antara lapisan input dan lapisan output. Namun demikian bobot yang menghubungkan satu neuron A di satu lapisan dengan neuron B di satu lapisan lainnya akan sama dengan bobot yang menghubungkan neuron B ke neuron A. Dengan kata lain, matrik bobot yang menghubungkan neuron- neuron pada lapisan output ke lapisan input sama dengan tranpose matriks bobot neuron- neuron yang menghubungkan lapisan input ke lapisan output. [5] Secara umum, arsitektur BAM ditunjukkan seperti pada Gambar 8 [4] Gambar 2.6. Arsitektur BAM Ada 2 jenis jaringan syaraf tiruan BAM, yaitu : [2] 2.7.1. BAM diskret Pada BAM diskret, ada 2 kemungkinan tipe inputan, yaitu biner dan bipolar. Matriks bobot dibuat sedemikian rupa sehingga dapat menyimpan pasangan vektor input dan vektor ouput. 2.7.2. BAM kontinu BAM kontinyu akan mentransformasikan input secara lebih halus dan kontinu ke kawasan output dengan nilai yang terletak pada range [0,1]. Fungsi aktivasi yang Universitas Sumatera Utara digunakan adalah fungsi sigmoid. Penerapam BAM kontinu akan memiliki hasil akhir seperti berikut. -0.1401 bias on the output unit 0.4919 weight from the first hidden unit -0.2913 weight from the second hidden unit -0.3979 weight from the third hidden unit 0.3581 weight from the fourth hidden unit Algoritma jaringan syaraf tiruan BAM adalah sebagai berikut : 1. Set pola input dan pola output pola input = x, pola output = y 2. Hitung matriks bobot dari lapisan X ke lapisan Y   j T i ij y x W 3. Recall pola input ij i i W x in y _  4. Tentukan nilai y i dengan membandingkan nilai y_in i dengan threshold Jika y_in i =  maka y i = 1 Jika y_in i  maka y i = -1 5. Balik arah, cari nilai x_in i T ij j j W y in x _  6. Tentukan nilai x i dengan membandingkan nilai x_in j dengan threshold Jika x_in j =  maka x j = 1 Jika x_in j  maka x j = -1 7. Jika niai x i dan y j masih belum stabil, maka ulangi langkah 2-6 Keterangan : W ij : Matriks bobot hubungan ke- i dan ke-j x i : sinyal masukan ke-i y j : sinyal keluaran ke-j ......................................................... 4 ......................................................... 5 ......................................................... 6 Universitas Sumatera Utara x_in i : masukan hasil olahan ke- i y_in j : keluaran hasil olahan ke-j  : nilai ambang Contoh : Misalkan kita memiliki 2 matriks 3x3 yang mewakili bilangan huruf O dan X. Tiap matriks berhubungan dengan kode bipolar seperti terlihat pada Gambar 9. Gambar 2.7. Matriks 3x3 untuk BAM. Contoh penerapan algoritma BAM : 1. Atur pola input dan pola output Kita bisa membawa tiap-tiap matriks menjadi satu bentuk vektor dengan elemen-elemennya berupa bilangan biner -1 atau 1, sebagai berikut: Pola 1 : Pola O x 1 : 1 1 1 1 –1 1 1 1 y 1 --- -1 1 Pola 2 : Pola X x 2 : 1 –1 1 –1 1 –1 1 -1 y 2 --- 1 1 2. Hitung matriks bobot dari pola X ke pola Y Matriks bobot untuk pola 1: w 1 = x 1 t y 1 -1,1 1,1 Universitas Sumatera Utara                                                                        1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 w Matriks bobot untuk pola 2 : w 2 = x 2 t y 2                                                                         1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 w w total = w 1 + w 2                                                                                                             2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 total w Universitas Sumatera Utara Matriks bobot tersebut menghubungkan antara neuron-neuron di lapisan input ke neuron-neuron yang ada di lapisan output. Sedangkan matriks bobot yang menghubungkan antara neuron-neuron di lapisan output ke neuron- neuron yang ada di lapisan input adalan W T . 3. Recall pola input ij i i W x in y _  Tentukan nilai y i dengan membandingkan nilai y_in i dengan threshold Jika y_in i =  maka y i = 1 Jika y_in i  maka y i = -1            2 2 2 2 2 2 2 2 2 T total w Kita bisa menguji bobot tersebut. Misalkan kita cobakan vektor input pertama yang mewakili Huruf O, maka output yang diperoleh adalah:     8 10 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 _ 1 1                                      T total w x in y Karena y_in 1 1 = –10 0, maka y 1 1 = -1 dan y_in 1 2 = 8 0, maka y 1 2 = 1, maka nilai y 1 = [-1 1], sama dengan target yang diharapkan. Untuk vektor input kedua yang mewakili Huruf X, maka output yang diperoleh adalah: Universitas Sumatera Utara     8 10 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 _ 2 2                                        T total w x in y Karena y_in 2 1 = 10 0, maka y 2 1 = 1 dan y_in 2 2 = 8 0, maka y 2 2 = 1, maka nilai y 2 = [1 1], sama dengan target yang diharapkan. 4. Balik arah, cari nilai x_in i Sekarang apabila dibalik, y digunakan sebagai input untuk mendapatkan x. Misalkan kita cobakan vektor input pertama y 1 = [-1 1], maka output yang diperoleh adalah:              2 2 2 2 2 2 2 2 2 ] 1 1 [ _ 1 1 T total w y in x ] 1 1 1 1 1 1 1 1 1 [ ] 2 2 2 2 2 2 2 2 2 [     Outputnya sama dengan target, yaitu Huruf O. Untuk vektor input kedua yaitu y 2 = [1 1], maka output yang diperoleh adalah:             2 2 2 2 2 2 2 2 2 ] 1 1 [ _ 2 2 T total w y in x ] 1 1 1 1 1 1 1 1 1 [ ] 2 2 2 2 2 2 2 2 2 [           Outputnya sama dengan target, yaitu Huruf X. Universitas Sumatera Utara 2.7.3. Kapasitas memori BAM Salah satu kelemahan yang dimiliki oleh algoritma BAM adalah memiliki kapasitas memori yang sangat rendah. Kapasitas memori maksimal yang dapat ditampung oleh algoritma BAM adalah : [7] , min n m Keterangan : m : jumlah vektor input n : jumlah vektor output Universitas Sumatera Utara

BAB III ANALISIS DAN PERANCANGAN SISTEM