modul 6 sistem cerdas universitas mercubuana

Upload: muhammad-nashiruddin-al-asqalani

Post on 10-Oct-2015

93 views

Category:

Documents


1 download

DESCRIPTION

Modul SIstem Cerdas 6, Universitas Mercubuana

TRANSCRIPT

Fakultas TeknikJurusan Teknik ElektroUniversitas Mercu BuanaMODUL 6SISTEM CERDAS

BAB 1ALGORITMA JARINGAN SYARAF TIRUANPokok Pembahasan modul 5 Model Hebb ( Jaringan Hebb) Jaringan Perceptron

1. JARINGAN HEBBJaringan Hebb untuk pengenalan polaJaringan Hebb dapat pula dipakai untuk mengenali pola. Caranya adalah dengan melatih jaringan untuk membedakan 2 pola.

ContohDiketahui 2 buah pola seperti huruf X dan O. Seperti gambar dibawah ini. Gunakan jaringan Hebb untuk mengenali pola tersebut# . . . #. # # # .. # . # .# . . . #. . # . .# . . . #. # . # .# . . . ## . . . #. # # # .

penyelesaianUntuk mempresentasikan kasus tersebut dalam jaringan Hebb, tiap karakter pola dianggap sebagai sebuah unit masukan. Misalkan karakter # dalam pola diberi nilai= 1 dan karakter . Diberi nilai =-1.karena setiap pola terdiri dari 5 baris dan 5 kolom , berarti jaringan Hebb terdiri dari 25 unit masukkan x1.x25(x1x5 adalah karakter baris 1, x6 x10 adalah baris 2, x 21.x25 adalah karakter baris ke-5 dan sebuah bias bernilai=1Sebagai target diambil sebuah unit yang akan bernilai =1 jika masukan berupa pola = 1 dan bernilai =-1 jika berupa pola masukan 2.Unit masukan dan target yang harus dipresentasikan ke jaringan adalah sebagai berikut:

Masukan Target

x1 x2 x3 x4 x5; x6 x7 x8 x9 x10; x11 x12 x13 x14 x15; tx16 x17 x18 x19 x20; x21 x22 x23 x24 x251 -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 -1 -1 -1 1;11 -1 -1 -1 1; -1 1 1 1 -1Jika pola pertama dimasukkan, perubahan pola yang terjadi merupakan hasil kali antara target dengan masukan pertama. Karena target=1, maka hasil kali ini akan sama dengan pola pertama. Jadi bobot jaringan setelah pola pertama dimasukan sama dengan nilai pola pertama 1 -1 -1 -1 1 ; -1 1 -1 1 -1; -1 -1 1 -1 -1; -1 1 -1 1 -1; 1 -1 -1 -1 1Bobot bias adalah = 1Perkalian masukan kedua dengan targetnya menghasilkan wi (i=125):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;Dan perubahan bobot bias = b = (-1).1 = -1Jika wi ditambahkan kebobot jaringan hasil pola pertama maka diperoleh bobot final = w =2 -2 -2 -2 2; -2 2 0 2 -2; -2 0 2 0 -2; -2 2 0 2 -2; 2 -2 -2 -2 2Bobot bias = 1+(-1)=0Sebagai uji apakah bobot ini sudah dapat memisahkan kedua pola, maka dilakukan perkalian antara nilai unit masukkan tiap pola dengan bobot final.Untuk pola 1Net = {1.2+(-1)(-2)+(-1)(-2)+(-1)(-2)+1.2}+(-1)(-2)+1.2+(-1)(0)+1.2+(-1)(-2)}+(-1)(-2)+(-)(0)+1.2+ (-1) (0) + (-1)(-2)}+{(-1)(-2)+1.2+(-1)(0)+1.2+(-1)(-2)}+1.2+(-1)(-2)+(-1)(-2)+(-1)(-2)+1.2 = 42Maka f(net) = 1Untuk pola 2Net = {(-1).(2)+(1)(-2)+(1)(-2)+(1)(-2)+(-1).(2)}+(1)(-2)+(-1).(2)+(-1)(0)+(-1)(2)+(1)(-2)}+(1)(-2)+(-)(0)+(-1)(2) + (-1) (0) + (1)(-2)}+{(1)(-2)+(-1).(2)+(-1)(0)+(-1)(2)+(1)(-2)}+(-1)(2)+(1)(-2)+(1)(-2)+(1)(-2)+(-1)(2) = -42Maka f(net) = -1Tampak bahwa untuk kedua pola, keluaran jaringan sama dengan target yang diinginkan. Berarti jaringan telah mengenali pola dengan baik

2. PERCEPTRONModel jaringan perceptron ditemukan oleh Rosenblatt (1962) dan Minsky Papert (1969). Model tersebut merupakan model yang memiliki aplikasi dan pelatihan yang paling baik pada era tersebut. Perceptron juga termasuk salah satu bentuk jaringan syaraf yang sederhana. Perceptron biasanya digunakan untuk mengklasifikasikan suatu tipe pola tertentu yang sering dikenal dengan pemisahan secara linear. Pada dasarnya, perceptron pada jaringan syaraf dengan satu lapisan memiliki bobot yang bisa diatur dan suatu nilai ambang (threshold). Algoritma yang digunakan oleh aturan perceptron ini akan mengatur parameter-parameter bebasnya melalui proses pembelajaran.

Arsitektur Jaringan Perceptron

X1X21YW1W2bArsitektur jaringan perceptron mirip dengan arsitektur jaringan HEBB

Jaringan terdiri dari beberapa unit masukan ( ditambah sebuah bias), dan memiliki sebuah unit keluaran. Hanya saja fungsi aktivasi bukan hanya merupakan fungsi biner ( atau bipolar), tetapi kemungkinan nilai -1,0 atau 1Untuk suatu harga threshold yang ditentukan :

Pelatihan PerceptronMisalkan S adalah vector masukan dan t adalah target keluaran adalah laju pemahaman ( learning rate) yang ditentukan adalah threshold yang ditentukanAlgoritma pelatihan perceptron adalah sebagai berikut :1. Inisialisasi semua bobot dan bias ( umumnya wi = b = 0)Tentukan laju pemahaman ( =), untuk penyederhanaan. Biasanya diberi nilai = 12. Selama ada elemen vector masukan yang respon unit keluarannya tidak sama dengan target, lakukan :a. Set Aktivasi unit masukan xi=si(i=1n)b. hitung respon unit keluaran : net = xiwi + b

c. Perbaiki bobot pola yang mengandung kesalahan ( y t) menurut persamaan :

Ada beberapa hal yang perlu diperhatikan dalam algoritma tersebut :a. Iterasi dilakukan terus hingga pola memiliki keluaran jaringan yang sama dengan targetnya ( jaringan sudah memahami pola). Iterasi tidak berhenti setelah semua pola dimasukkan seperti yang terjadi pada model HEBBb. Pada langkah 2c, perubahan bobot hanya dilakukan pada pola yang mengandung kesalahan ( keluaran jaringan target). Perubahan tersebut merupakan hasil kali unit masukan dengan target dan laju pemahaman. Perubahan bobot hanya akan terjadi kalau unit masukan 0c. Kecepatan iterasi ditentukan pula oleh laju pemahaman (= dengan 0 1) yang dipakai. Semakin besar harga , semakin sedikit iterasi yang diperlukan. Akan tetapi jika terlalu besar, maka akan merusak pola yang sudah benar sehingga pemahaman menjadi lambat.Algoritma pelatihan perceptron lebih baik dibandingkan model Hebb Karena1. Setiap kali sebuah pola dimasukkan, hasil keluaran jaringan dibandingkan dengan target yang sesungguhnya. Jika terdapat perbedaan, maka bobot akan dimodifikasi. Jadi tidak semua bobot selalu dimodifikasi dalam setiap iterasinya2. modifikasi bobot tidak hanya ditentukan oleh perkalian antara target dengan masukkan, tetapi juga melibatkan suatu laju pemahaman (learning rate) yang besarnya bias diatur3. Pelatihan dilakukan berulang-ulang untuk semua kemungkinan pola yang ada hingga jaringan dapat mengerti polanya (ditandai dengan samanya semua keluaran jaringan dengan target keluaran yang diinginkan). Satu siklus pelatihan yang melibatkan semua pola disebut epoch. Dalam jaringan Hebb, pelatihan hanya dilakukan dalam satu epoch saja. Teorema konvergensi perceptron menyatakan bahwa apabila ada bobot yang tepat, maka proses pelatihan akan konvergen ke bobot yang tepat tersebutContoh 1Buatlah perceptron untuk mengenali fungsi logika DAN dengan masukan dan keluaran bipolar. Untuk inisialisasi, gunakan bobot dan bias awal = 0, =1 dan threshold = =0PenyelesaianTable masukan dan target fungsi logika AND dengan masukan dan keluaran bipolar

MasukanTargetX1X21 t 1 11 1 1-11-1-1 11-1-1-11-1

Untuk threshold=0, maka fungsi aktivasi menjadi :

Iterasi untuk seluruh pola yang ada disebut epoch. Hasil epoch pertama ditunjukan table berikut

MasukanTargetyPerubahan Bobot Bobot BaruX1X21 tnet=f(net)(w1 w2 b)(w1W2b) Set bobot awal=0001 11 10 0 1 1 1111 1-11-11 1-1 1-1020-1 11-12 1 1-1-111-1-1-11-1-3-1 0 0 011-1

Pada input pertama (x1,x2 1) = (1 1 1). Harga net dihitung berdasarkan bobot yang sudah ada sebelumnya yaitu ( w1 w2 b) = ( 0 0 0). Maka net = xiwi + b = 1(0) + 1(0) + 0 sehingga f(net)=f(0) =0Keluaran jaringan (=f(net)=0) tidak sama dengan target yang diinginkan ( dalam iterasi ini adalah 1 ), maka bobot diubah menggunakan rumus w = txi = txi (karena =1). Bobot baru = bobot lama + wInput pola kedua dan seterusnya dihitung secara analog. Pada pola terakhir ( x1,x2 1) = (-1 -1 1), harga f(net)= -1 yang sama dengan targetnya. Maka bobot tidak diubah. Hal ini dinyatakan dengan kondisi w = 0Mengingat tidak semua f(net) pada table diatas sama dengan target t, maka iterasi dilanjutkan pada epoch kedua. Semua pola kembali dimasukan ke jaringan dengan menggunakan bobot terakhir yang diperoleh sebagai bobot awalnya. Diperoleh hasil iterasi seperti pada table dibawahDalam iterasi tersebut, untuk semua pola nilai f(net)=t sehingga tidak dilakukan perubahan bobot. Karena f(net)=t untuk semua pola maka jaringan sudah mengenal semua pola sehingga iterasi dihentikan

MasukanTargetyPerubahan BobotBobot BaruX1X21 tnet=f(net)(w1 w2 b)(w1w2b) Set bobot awal=11-11 11 1-1 1 1 1 111-1 1-11-1-1 -1-1 1-111-1-1 11-1-1 -1 1-1-111-1-1-11-1-3 -1 0 0 011-1

Contoh 2Ulangi contoh 1, tapi menggunakan masukan biner dan keluaran bipolar. Gunakan =1 dan threshold = = 0.2Penyelesaian Dengan threshold = 0.2 maka fungsi aktivasi menjadi :

Table hasil epoch 1MasukanTargetyPerubahan BobotBobot BaruX1X21 tnet=f(net)(w1 w2 b)(w1w2b) Set bobot awal=000111 10 0 1 1 1111101-12 1-1 0-1010011-11 1 0-1-100-1001-1-1 -1 0 0 000-1

Tampak pada table diatas hanya pola masukan terakhir saja yang benar ( f(net)=target). Maka iterasi harus dilanjutkan ke epoch berikutnya. Table hasil epoch 2MasukanTargetyPerubahan BobotBobot BaruX1X21 tnet=f(net)(w1 w2 b)(w1w2b) Set bobot awal=00-1111 1-1 -1 1 1 1110101-1 1 1-1 0-101-1011-1 0 0 0-1-100-2001-1-2 -1 0 0 000-2

Dari table epoch 2 diatas belum mengenali target,maka iterasi dilanjutkan untuk epoch ketiga dan seterusnya sampai mengenali target

Yudhi GunardiPage 1