BAB VB PERSEPTRON & CONTOH Model JST perseptron dtemukan oleh Rosenblatt (1962) dan Mnsky Papert (1969). Model n merupakan model yang memlk aplkas dan pelathan yang lebh bak pada era tersebut. 5B.1 Arstektur Jarngan Arstektur jarngan perseptron mrp dengan arstektur jarngan Hebban Jarngan terdr dar beberapa unt masukan dan sebuah bas, dan memlk sebuah unt keluaran. Hanya saja fungs aktvasnya bukan merupakan fungs bner atau bpolar, tetap memlk kemungknan nla -1, 0 dan 1: Untuk suatu harga threshold θ yang dtentukan : 1 jka net > θ f(net) = 0 jka θ net θ 1 jka net < θ Secara geometrs, fungs aktvas membentuk 2 gars sekalgus (memsahkan daerah postf dan daerah negatf. Gars pemsah antara daerah postf dan daerah nol memlk pertdaksamaan : x 1 w 1 +...+ x n w n + b > θ Gars pemsah antara daerah negatf dan daerah nol memlk pertdaksamaan : x 1 w 1 +...+ x n w n + b < - θ
5B.2 Algortma Pelathan Perseptron Msalkan : s vektor masukan dan t adalah target keluaran α adalah laju pembelajaran/pemahaman (learnng rate) yang dtentukan θ adalah threshold yang dtentukan Algortma sbb: 0. Insalsas semua bobot dan bas (umumnya w = b =0 ) Set laju pembelajaran α ( 0 < α 1) (untuk penyederhanaan set α =1) 1. Selama konds berhent benla FALSE atau selama ada elemen vektor masukan yang respon unt keluarannya tdak sama dengan target (y t), lakukan langkah-langkah 2 6 2. Untuk setap pasangan (s,t), kerjakan langkah 3 5: 3. Set aktvas unt masukan x = s ( = 1,..., n) 4. Htung respon untuk unt output: net = x w + b 1 jka net > θ f(net) = 0 jka θ net θ 1 jka net < θ 5. Perbak bobot dan bas pola jka terjad kesalahan Jka y t, maka: w (baru) = w (lama) + w ( = 1...n); dengan w = α t x b (baru) = b (lama) + b dengan b = α t Jka y = t maka: w (baru) = w (lama) b (baru) = b (lama) 6. Test konds berhent: jka tdak terjad perubahan bobot pada () maka konds berhent TRUE, namun jka mash terjad perubahan maka konds berhent FALSE
Ada beberapa hal yang perlu dperhatkan dalam algortma tersebut: a. Interas terus dlakukan hngga semua pola memlk keluaran jarngan yang sama dengan targetnya (jarngan sudah memaham pola). Iteras TIDAK berhent setelah semua pola dmasukan sepert yang terjad pada model Hebban b. Pada langkah 5, perubahan bobot hanya dlakukan pada pola yang mengandung kesalahan (keluaran jarngan target). Perubahan tersebut merupakan hasl kal unt masukan dengan target dan laju pembelajaran. Perubahan bobot hanya akan terjad jka unt masukan 0 c. Kecepatan teras dtentukan oleh laju pembelajaran α ( dengan 0 < α 1) yang dpaka. Semakn besar α, semakn sedkt teras yang dperlukan. Akan tetap jka α terlalu besar, maka akan merusak pola yang sudah benar sehngga pembelajaran menjad lambat Algortma pelathan perseptron lebh bak dbandngkan model Hebban karena: a. Setap kal pola dmasukkan, hasl keluaran jarngan dbandngkan dengan target yang sesungguhnya. Jka terdapat perbedaan, maka bobot akan dmodfkas. Jad tdak semua bobot selalu dmodfkas dalam setap terasnya b. Modfkas bobot tdak hanya dtentukan oleh perkala antara target dan masukan, tetap juga melbatkan suatu laju pembelajaran yang besar dapat datur. c. Pelathan dlakukan berulang-ulang untuk semua kemungknan pola yang ada hngga jarngan dapat mengert polanya (dtanda dengan samanya semua keluaran jarngan dengan target keluaran yang dngnkan). Satu sklus pelathan yang melbatkan semua pola dsebut Epoch. Dalam jarngan Hebban, pelathan hanya dlakukan dalam satu Epoch saja. d. Teorema konvergens perseptron menyatakan bahwa apabla ada bobot yang tepat, maka proses pelathan akan konvergen ke bobot yang tepat tersebut
Contoh 1: Buatlah perseptron untuk mengenal fungs logka AND dengan masukan dan keluaran bpolar. Untuk nsalsas, gunakan bobot dan bas awal = 0, α = 1, dan threshold θ = 0 Penyelesaan Tabel masukan dan target fungs logka AND dengan masukan dan keluaran bpolar Masukan Target x 1 x 2 1 t 1 1 1 1 1-1 1-1 -1 1 1-1 -1-1 1-1 Untuk threshold θ = 0, maka fungs aktvasnya: 1 f(net) = 0 1 jka jka jka net > 0 net = 0 net < 0 Iteras untuk seluruh pola yang ada dsebut EPOCH. Tabel berkut menunjukan hasl pada epoch pertama Masukan target Perubahan Bobot Baru bobot ( x 1 x 2 1) t net y = f(net) ( w 1 w 2 b) ( w 1 w 2 b) Insalsas (0 0 0) (1 1 1) 1 0 0 (1 1 1) (1 1 1) (1-1 1) -1 1 1 (-1 1-1) (0 2 0) (-1 1 1) -1 2 1 (1-1 -1) (1 1-1) (-1-1 1) -1-3 -1 (0 0 0) (1 1-1)
Pada nput pertama ( x 1 x 2 1) = ( 1 1 1). Nla net dhtung berdasarkan bobot yang sudah ada sebelumnya yatu ( w 1 w 2 b) = ( 0 0 0 ). Maka net = xw + b = 1 (0) + 1(0) + 0 = 0, sehngga f(net) = f(0) = 0. Keluaran jarngan (f(net)=0) TIDAK SAMA dengan target yang dngnkan (dalam teras n target = 1), maka bobot harus dubah menggunakan rumus: w = α t x = t x ( karena α = 1). Bobot baru = bobot (lama) + w Input pola kedua dan seterusnya dhtung dengan cara yang sama. Pada pola terakhr ( x 1 x 2 1) = ( -1-1 1), nla f(net) = -1 yang sama dengan targetnya. Maka bobot tdak dubah. Hal n dnyatakan dengan konds w = 0 Gars pemsah pola terbentuk dar persamaan: x 1 w 1 + x 2 w 2 + b = 0 (karena θ = 0), jad terbentuk sebuah gars saja Persamaan gars pemsah untuk setap pola hasl teras: Masukan Bobot baru Persamaan ( x 1 x 2 1) ( w 1 w 2 b) gars (1 1 1) (1 1 1) x 1 + x 2 = -1 (1-1 1) (0 2 0) x 2 = 0 (-1 1 1) (1 1-1) x 1 + x 2 = 1 (-1-1 1) (1 1-1) x 1 + x 2 = 1 Mengngat tdak semua f(net) pada tabel d atas sama dengan t, maka teras dlanjutkan pada epoch kedua. Semua pola kembal dmasukkan ke jarngan dengan menggunakan bobot terakhr yang dperoleh sebaga bobot awalnya. Dperoleh hasl teras pada tabel d bawah berkut:
Masukan target Perubahan Bobot Baru bobot ( x 1 x 2 1) t net y = f(net) ( w 1 w 2 b) ( w 1 w 2 b) Bobot yang dperoleh dar epoch pertama (1 1-1) (1 1 1) 1 1 1 (0 0 0) (1 1-1) (1-1 1) -1-1 -1 (0 0 0) (1 1-1) (-1 1 1) -1-1 -1 (0 0 0) (1 1-1) (-1-1 1) -1-3 -1 (0 0 0) (1 1-1) Dalam teras d atas, untuk semua pola nla f(net) = t, sehngga tdak dlakukan perubahan terhadap bobot. Karena f(net) = t untuk semua pola maka jarngan sudah mengenal semua pola sehngga teras dhentkan Lathan: 1. Ulang contoh d atas, tap menggunakan masukan bner dan keluaran bpolar. Gunakan α = 1 dan threshold θ = 0,2. 2. Dketahu perseptron dengan 3 masukan x 1, x 2, x 3, sebuah bas dan sebuah keluaran bpolar. Carlah bobot yang akan mengenal pola sebaga berkut: target keluaran bernla 1 apabla semua masukan bernla 1, dan target bernla -1 apabla tepat salah satu dar masukan bernla 0 (tdak dketahu bagaman target apabla ada dua atau lebh masukan yang bernla 0). Gunakan bobot awal dan bas = 0, α = 1 dan threshold θ = 0,1. 5B.3 Pengenalan Pola Karakter Perseptron dapat pula dgunakan untuk mengenal pola karakter. Dengan berbaga pola masukan yang menyerupa huruf-huruf alfabet, perseptron dapat dlath untuk mengenalnya.
5B.3.1 Pengenalan Sebuah Pola karakter Algortma untuk mengenal apakah pola masukan yang dberkan menyerupa sebuah sebuah karakter tertentu (msal huruf A ) atau tdak adalah sebaga berkut: 1. Nyatakan tap pola masukan sebaga vektor bpolar yang elemennya adalah tap ttk dalam pola tersebut 2. Berkan nla target = +1 jka pola masukan menyerupa huruf yang dngnkan. Jka sebalknya, berkan nla target = -1 3. Berkan nsalsas bobot, bas, laju pembelajaran dan threshold 4. Lakukan proses pelathan perseptron sepert contoh 1 d atas Contoh 2: Dketahu 6 buah pola sepert tampak pada gambar bekut: Pola 1 Pola 2 Pola 3 Pola 4 Pola 5 Pola 6 Penyelesaan: Untuk menentukan vektor masukan, tap ttk dalam pola dambl sebaga komponen vektor. Jad tap vektor masukan memlk 9*7 = 63 komponen. Ttk dalam pola yang bertanda # dberkan nla = 1, dan ttk dalam pola bertanda. dberkan nla = -1. Pembacaan dmula dar kr ke kanan, dmula dar bars palng atas
Vektor masukan pola 1 adalah -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 1-1 -1 1-1 -1-1 1-1 -1 1-1 -1-1 1-1 1 1 1-1 1 1 1 dst. untuk pola 2 pola 6 Arssktur jarngan perseptron dengan n = 63 Target bernla = 1 jka pola masukan menyerupa huruf A. Jka tdak maka target bernla = -1. Pola yang menyerupa huruf A adalah pola 1 dan pola 4. Kedua pola memlk target = 1. Pola yang lan memlk target = 0 Maka perseptron yang dpaka untuk mengenal huruf A (atau bukan A ) memlk 63 unt masukan, sebuah bas dan sebuah unt keluaran. Msalkan semua bobot awal dan bas dambl = 0, α = 1 dan threshold θ = 0,5. Pelathan dlakukan dengan cara memasukan 63 unt masukan (atau sebuah pola huruf). Htung net = x w + b ; 63 = 1 Htung fungs aktvas dengan persamaan:
1 jka net > 0, 5 f(net) = 0 jka 0, 5 net 0, 5 1 jka net < 0, 5 Jka f(net) tdak sama dengan target, bobot dubah Proses pelathan dlakukan terus hngga semua keluaran jarngan sama dengan targetnya 5B.3.2 Pengenalan Beberapa Pola karakter Pengenalan beberapa pola karakter sekalgus (msal huruf A, bukan A, B, bukan B, dst) dlakukan dengan cara menggabungkan beberapa model perseptron pada bab 5B.3.1. Jad ada beberapa unt keluaran sekalgus. Setap unt masukan dhubungkan dengan setap unt target. Bobot penghubung dar unt x ke y adalah w j (perhatkan bagamana ndeks dbuat). Demkan juga dengan bas dhubungkan dengan semua unt keluaran dengan bobot masngmasng b 1, b 2,...b m Algortma pelathannya sbb: 1. Nyatakan tap pola masukan sebaga vektor bpolar yang elemennya adalah tap ttk dalam pola tersebut 2. Berkan nla target t j = 1 jka pola masukan menyerupa huruf yang dngnkan. Jka sebalknya, berkan nla target t j = -1 (j = 1,..., m) 3. Berkan nsalsas bobot, bas, laju pembelajaran dan threshold 4. Lakukan proses pelathan perseptron sepert contoh 1 d atas a. Htung repson unt keluaran ke-j : net j = xw y j = f(net j 1 ) = 0 1 jka jka jka net > θ θ net θ net < θ b. Perbak bobot pola yang mengandung kesalahan (y j t j ) menurut persamaan: w j (baru) = w j (lama) + α t j x b j (baru)= b j (lama) + α t j 63 = 1 j + b c. Lakukan langkah 4a b terus menerus hngga y j = t j (j = 1...m) j
Contoh 3: Dketahu 6 buah pola masukan sepert pada gambar contoh 2 Buatlah model perseptron untuk mengenal pola A, B dan C. Penyelesaan: Mula-mula dbuat 6 buah vektor masukan sepert contoh 2 d atas. Ada 3 buah vektor keluaran yang masng-masng menyatakan bahwa pola menyerupa huruf A, B dan C. Vektor target tampak pada tabel berkut: Pola masukan t 1 t 2 t 3 Pola 1 1-1 -1 Pola 2-1 1-1 Pola 3-1 -1 1 Pola 4 1-1 -1 Pola 5-1 1-1 Pola 6-1 -1 1 Selanjutnya teras dapat dbuat sepert pada contoh-contoh d atas, dengan beberapa perubahan sbb: 1. Vektor masukan terdr dar 63 elemen x 1... x 63 dan sebuah bas 2. Ada 3 target t 1, t 2 dan t 3 3. Ada 3 kolom net yatu net 1, net 2, net 3 masng-masng merupakan hasl kal bobot dengan vektor masukan 4. Ada 3 buah y yang merupakan fungs aktvas ketga kolom net. y 1 = f(net 1 ), y 2 = f(net 2 ), y 3 = f(net 3 ) 5. Ada 3 * 63 buah kolom perubahan bobot yatu w 1,1,.. w 1,63 ; w 2,1,.. w 2,63 ; w 3,1,.. w 3,63 6. Ada 3*63 bobot w 1,1,.. w 1,63 ; w 2,1,.. w 2,63 ; w 3,1,.. w 3,63