Bab 6 .
6.
I
ADALINE
Pelatihan ADALINE
Model ADALINE (Adaptive Linear Neuron) ditemukan oleh Widrow & Hoff (1960). Arsitekhrmya mirip dengan percephon. Beberapa masukan (dan sebuah bias) dihubungkan langsung dengan sebuah neuron keluaran. Per{redaan dengan perceptron adalah dal,am hal cara modifikasi bobobrya. Bobot dimodifikasi dengan aturan delta (sering juga disebut least mean square). Selama pelatihan, fttngei aktivasi yang dipakai adalah funpi identitas.
net=
Iri
w,+b
y = f.(net) =1s1= 'i
I",
w,+b
Kuadrat selisih antara target (t) dan keluaran jaringan (f (ne$) merupakan error yang terj"di.Dalam aturan delta, bobot dimodifikasi sedemikian hingga erromya minimum
s= (r -f(net))'z= E mertrpakan
[,-(Tr*.r))
funpibobot wi. Penurunan E tercepat terjadi
pada arah
.ajl', = -2(t - !) *,.Maka perubahan + awi= -r(,[ -(>,.,a \? )) bobotadalah:
u
Jaringan S)araf Tiruan dan Pemrograrnannp Menggunakan lvladab
L., = a(t - y) x, dmgan a merupakan
bilangan
/p*rop
kecil
1. Inisialisasi 2.
lrisialisasisemuabobot danbias(umttmnya w; =fu =
Q)
Set aktivasi
Setaktivasiunitmasukan x
b.
Hitungresponunitkeluaran: net
=
si (i = 1,...,n)
Perbaiki bobot pola yang mmurutpersarnaon :
kesalahan
:
:
iika net
Contoh 6.1
(y *t)
Gtrnakan model ADALINE untuk mmgenali pola fungsi logika dmgan masukan dan target biPolar :
Tabel 6.1
wi (baru) = wi (larna) + a (t-Y) xi
bOaru) = b[ama) +
= 5i (i = 1, ..., n)
jikanet>o
t-t
= Ix,w, +b
x1
:
= Lx,w, +b
[t t=
:
Y=f (net) = fl€t
c.
net
c. Kenakanfungsiaktivasi
Tentukan toleransi kesalahan yang diijiokut
a.
unitmasukan
Hitungnetvektorkeluaran
Tentukan laju pemahaman (=a). Untuk penyederhanaan, biasanya a diberinilai kecil (= 9.1;
Setama max Aw, > batas toleransi,lakukan .i
bobot dan bias dengm bobot dan bias hasil
. lakukan inputmasukanbipolar>g Unhrksetiap
a. b.
Algorihna pelatihan ADALINE adalah sebagai berikut
2.
semua
pelatihan
diambil = 0,1)
1.
85
ADALINE
Masukan
a(t-Y\
Xr 1,
1
-1
-1
-1
1
-1,
-1
-L
-'t
1.
Setelah proses pelatihan selesai, ADALINE dapat dipakai untuk pengenalan pola. Untuk itu, trmumnya dipakai fungsi threshold bipolar (meskipun tidak menutup kemungkinan digunakan bentuk lainnya). Caranya adalah sebagai berikut :
Target
,t
Gunakanbatas toleransi= 0.05 dan a =0.1
"d?t{'
86
Jaringan Syaraf Tiruan dan Pemrogrannnnya Menggunakan lvlatlab
Penyelesaian
r.
Dengan d = 0.1, maka perubahan bobottya - Lwi= 0.1 (t - f(net)) xr = 0.1 (t - y) xi. Iterasi untuk epoch-1 tampak pada tabel 6.2. Dalam tabel 6.2, f(net) = net Tabel 6.2 Masukan
(xr xz
y
=
net f (ne$ t-y
L)
PerubahanBobot
Bobot Baru
(Lw, Lw, L,b)
(wr wz b)
Inisialisasi
(111) (1 -1 1) (-1 1 1) (-1 -1. 1)
1
(0
ADALINE
Maksimtrm Lw,= g.g2 < tolerarsi, maka iterasi dihentikan dan bobot terakhir yang diperoleh (wr = 0.29, wz =.0.26 dan b = '0.32) mempakan bobot yang diprrakan dalam pengenalan prolanya. Tabel 6.4 mempakan pengenalan pola fturgsi "da71" menggr-urakan bobot hasil pelatihan. Perhatikan bahwa frurgsi aktivasi yang dipakai Lrerbeda dengan fungsi aktivasi pada pelatihan. Dalam pengenalan .iika net > 0 pola, fungsi aktivasinya adalah : y = jiku net < 0 Tabel 6.4
00) Masukan
001(0.1 0.1 0.1) (0.1 0.1 0.1) 0.1 0.1 -1.1 C0.11 0.11 -0.11) C0.01 0.21 -0.01)
X1
X2
1
1
0.23
1
1
-1
-0.29
-1
Maksimum Aw,= g.g7 > toleransi, maka iterasi dilanjutkan untuk
-1
1
-0.35
-1
epodr kedua, yang tampak pada tabel 6.3
-1
-1
-0.87
-1
-1 -1
0.21. 0.2L
-1
-0.33 -0.33 -0.67
-1.21, (0.12 -0.12 -0.12) (0.11 (0.07
0.07 -0.0n
(0.18
0.09
-0.13)
0.16
-0.2)
Tabel 6.3
y=
Masukan
(xr xz
net f (net) t- y
1)
Bobot (Lw, Lw, A,b)
Penrbahan
lrisialisasi
(1 11) (1 -1 1)
Tampak bahwa keluaran jaringan tepat sama dengan targefiya. Disimpuikan trahwa pola dapat dikenali dengan sempruna Bobot Baru
(wr wz b)
(0.18
0.1,6
(0.26
0.24
-0.2)
(0.0e 0.0e 0.0e)
-1
-0.09 -0.09
-0.91
(-0.0e 0.0e -0.0e) (0.17
(-1 1 1)
-1
-0.04 -0.04
-0.96
(0.1 -0.1 -0.1) (0.27 0.24
-0.3)
1)
-1
-0.8 -0.8
-0.2
(0.02 0.02 -0.02) (0.29
-0.32)
(-1
-1.
Contoh
6.2
?
0.14 0.1.4 0.86
1
menggunakan bobot hasil pelatihan
-0.11)
0.33 -0.2) 0.26
Ulangr contoh 6.l,tapimenggunakarr
a =0.2
Penyelesaian rl
Tabel 6.5 mempakan hasil iterasi ADALINE dengan menggturakan a =0.7
89
ADAI-INE
Tabel6.5
y=
Masukan
(xr xz
net f (net) t-y
1)
PenrbahanBobot BobotBaru (Lw, Lw,
A,b)
Inisialisasi
0 1 (0.2 0.2 0.2) 0.2 -1..2 (-0,24 0.24 -0.24)
(wr wz b)
(000) (0.2 0.2 0.2)
(1 11) (1 -1. 1)
T
0
-1
0.2
(-1 1
1)
-1
0.M 0.M -1,.M (0.2e -0.29 -0.29)
(0.25 0.15
-0.33)
Gambar 6.1
-1. 1)
-1
-0.73 -0.73 -0.27 (0.05 0.05 -0.05) (0.3 0.21,
-0.38)
Keluaran dari unit tersembunyi zt dan zz adalah nilai fungsi aktivasi (dan threshold) yang diterima dari xr dan xz. Demikian pula trnit keluaran Y merupakan nilai fungsi aktivasi dai zr drr zz. Meskiptur keluaran zt dart 22 rnasing-masing menrpakan fungsi linier, tetapi keluaran Y bukanlah fungsi linier xr dan x2 karena adanya unit tersembunyi.
(-1
(-0.04 0.44 -0.04)
Maksimtrm A., = 0.05 = toleransi, maka iterasi dihentikan dan bobot terakhir yang diperoleh (wr = 0.3, wz= 0.2\ dan b = -0'38) mempakan bobot yang digunakan dalam pengenalan polanya. Dengan cara seperti perhitungan tabel6.4, dapat dicek bahwa bobot yang diperoleh akan mengenali semua pola denganbenar
Dari contoh 5.L dan 6.2 tampak bahwa penggunaan a yang lebih besar akan menyebabkan iterasi menjadi lebih cepat. Akan tetapi penggunaan a yang terlalu besar akan menyebabkan iterasi melompat terlalu jauJr sehingga melewati bobot optimaL:rya'
6.2 MADALINE Beberapa ADALINE dapat digabrurgkan untuk membenturk suatu jaringan bam yang disebut MADALINE (many ADALINE). Dalam 'ueoru_nvr terdapat sebuah layar tersembunyi. Gambar 6.1, menturjukkan arsitektu MADALINE turtuk 2 buah masukan xr dan x2, sebuah layar tersembunyi yang terdiri darj 2 turit neuron tersembunyi 27 dan 22, dan sebuah keluaran Y. Arsitektr"rr MADALINE untuk lebih dari 2 unit masukan (atau lebih dari 2 tnit tersembwryi) dapat dibentuk secara analog.
Adanya unit tersembunyi dalam MADALINE akan meningkatkan kapabilitas komputasi dibandingkan ADALINE, meskipu:r pelatihannya juga lebih kompleks.
Pada awal ditemukannya MADALNE (Widrow dan Hoff (1960)), hanya bobot ke urrit tersembunyi (wtr,wtz,w2r,w22 dalam gambar 6.1) saja yang dimodifikasi selama proses pelatihan. Bobot ke unit keltnran merupakan kuantitas yang tetap. Modifikasi MADALINE (Widrow, Winter dan Baxter (1987)) dilakukan dengan memodifikasi semua bobotnya.
Dalam algoritma MADALINE mula-mula, bobot Y1, Yz, dan bias b: yang ditemskan ke Y diatur sedemikian hingga kelnaran Y akan = 1 jika salah satu keluaran dari zl ataLrzz(atau keduanya) = L. Keluaran Y = -1 jika keluaran zr mauptm Zz = -1-. Dengan kata lain, unit Y membenhrk fungsi logika "ataLr" dengan masukan dan zr dan zz. Maka diamtril vr = vz=Yzdanb'r=1/2.
ADALINE
Algoritma pelatihan MADALINE mula-mula unttrk pola masukan dan target bipolar adalah sebagai berikut :
1.
Irrisialisasi semrn bobot dan bias dengan bilangan acak kecil. IrLisialisasi laju pemah€unan (= a ) dengan bilangan kecil.
2.
Selama penrbahan bobot lebih besar dari toleransi (atau jtunlah epoch belttm melebihi batas yang ditenhrkan), lakukan langkah 2.1
_25 2.1. Set aktifuasi urrit 2.2. Hitrrng net
masukdr :
Xi =
si unhtk semua i
inpttt unhrk setiap unit tersembunyi ADALINE (zr,
91
Unhrk t = 1, trbah bobot ke turit ziyerrlgzinnya terdekat dengan 0 (misal ke unit z*) sebagai berikut : "
bpbaru = bplama + a (l-r*_n)
wpibam = wpildma + a(l-zin_p)xi
Untuk t =
-1, ubah semua
bobot ke tuLit zk
yau:]rg zin
nya positip
sebagaiberikut:
brbam
-
wn bam
brlama + a (-1.-zi,_r)
= wu lama + a (-I -zi._l)
xr
ZZr,.,)
zin-i = bi+ 2.3.
logtko modifikasi bobot pada langkah 2.5 adalah sebagai berikut
lx,w,,
Hitung keluaran setiap unit tersembunyi dengan menggunakan fungsi aktivasi bipolar :
4=f(zo-)=
It {_,
jika t,r-i)0 jika ',, i10
pola, paling sedikit salah sahr
dat'r z tersebut hanu dijadikan = 1. Bobot yang dimodifikasi adalah bobot ke unit z yau.lg nebrya paling dekat dengan 0. Misalkan rurti z yang keluarannya terdekat dengan 0 adalah z*,. Maka bobot danbias dimodifikasi menumtpersalnaan :
wpibam = wpi lztma + a (l-zin_p) xi
lz,v,
Y=ftr;= {1,
Perhatikan MADALINE pada gambar 6.1. Jtkay+ t dan t = 1 (karena y bipolar berarti y = -1), maka f (net) di z1 = zz = -L. Unturk mengenali
b*,bam = bplama + a (1,-zin_p)
2.4. Tentukan keluaran jaringan
y-i. = bu+
Sebaliknya jtka
jika jika
y,,,> 0
y,, <0
y+ tdan
t = -1(dengankata lain y
y = target, maka tidak dilakukan penrbahan bobot
Jika y
*targct:
=\),berartiminimal
salah satu z memiliki f(net) = 1 (atau ada z yang nebrya positip). Padahal semua z hams memiliki f(net) = -L. Maka bobot yang dimodifikasi adalah bobot yang nehrya positip (misal unit z1) menumt persamaan:
br.bam = brlama + a(-1,-zin_u) 2.5. Hitr.rrg error dan tenhrkan penrbahan bobot
]ika
:
wribam = wu lama + a (-l-zi._r)
xi
99.
Jaringan Syaraf Tiruan dan Pemrograrnanrrya Menggunakan Matlab
Contoh 6.2
ADALINE
93
Bobotke urritkeluaran Yadalah I
V1
= y2
=b =/2.
Gunakan MADALINE mtila-mtda unhrk mengenali pola frurgsi logika "XOR" dengan2 masukan xr dan xz. Gurakan a =0.5 dan toleransi = 0.1
Penyelesaian
Furgsi logika "XOR" memiliki pasangan masukan-target seperti yang tampak pada tabel6.6
Tabel 6.6 0.15
Masukan
Target
(11
Xrx2t
Gamba r 6.2
11-1 1-1 -1 11 -1 -1
Disini hanya akan dilaktrkan iterasi unhrk pola pertama saja. pelatihan pola-pola selanjukrya dilakukan secara onitog dan diserahkan kepada prembaca unhrk la tihan.
1
Pola-1 : Masukan I X1 =1, x2=1,t--'), -1
2.2 Hihng net rurhrk unit tersemburryi z1 dan zz:
hrisialisasi dilakukan pada semua bobot ke unit tersembunyi dengan suahr bilangan acak kecil. Misalkan didapat hasil seperti pada tabel 6.7
Ke turit tersembunyi
unit
Xt x2 bias
27
22
wrr = 0.05 wzt = 0.L
wn=0.2 bi = 0.3
w11
*X2w12 = 0.3+ 1 (0.05) + 1 (0.2) = 0.55
ZinJ = bz+xr wz.t*Xzwz2 = 0.15+ 1(0.1)+ 1(0.2) 0.45 =
Tabel67
Dari
zin-t = br *xr
2.3 Hihrng keluaran_urrit tersembunyt zr d,an 22 menggunakan fungsi aktivasi bipolar. Didapat
zr=f(zn_i =L dan zz=f(zin_z)=1. 2.4 Tenhlkankeluaran jaringany
:
wn=0.2
/-i" = br*ZtYt*zzyz = 0.5+1(0.5)+1(0.5) =
bz = 0.15
MakaY=f(y--i.)=t
1.5
ADALINE
2.5t-y =
-1
-1 = -2+0 dan t=-l.Makasemtlabobotyang
menghasilkdn z_nyang positip dimodifikasi. Karena zn-t) 0 dan znJ) 0, maka semtnbobotrrya dimodifikasi sebagaiberikut: Penrbahan bobot ke turit tersembunyi z1
:
brbam = ll1lama + a(-1'-z,n-t) = 0.3+0.5(-1-0.55) =
-
wrrbam wrz
d. (-1
-
zn-r) xz= 0.2 + 0.5 (-1
Penrbahan bobot ke unit tersembtrnyi zz
bzbam wzr
-
-0'475
wlllama + a (-1-2i,,-t) xt = 0.05 +0'5 (-1-0'55) =-0'725
bam = wr2lama +
-
0.55) = -0.575
:
bzlama + a (-1.-z--z) = 0.15 +0.5 (-1 -0.45)
bam = wl lama + a (-1- zn2) x1= 0.1 + 0.5 (-1 -
wzbam =
w?2lama +
a
(-1
- znt) xz=0'2 +0.5
(-1
-
Tabel 6.8 merupakan pengecekan penrbahan nilai bobot
=
-0.575
0.45) = -0.625 0.45) = -0'525 :
Tabel6.8 Bobot
mula-
mula
Iterasi dilakukan ,ntuk semua pola. Apabila ada perubahan bobot vang masih lebih besar dari batas toleransi, {naka iierasi dilanjutkan unhrk epoch-2 dan seterursnya.
Bobot setelah iterasi
llrl
br
0.3
-0.475
0.775
wl1
0.05
-0.725
0,73
wtz
0.2
-0.575
0.n5
bz
0.15
-0.575
0.725
wzr
0.1
-0.625
0.725
Wn
0.2
-0.525
0.725
Karena masih ada (bahkan semua) perubahan bobot > toleransi yang ditetapkan, maka iterasi dilanjutkan unhrk pola 2.
SOAL.SOAL LATIHAI\I L-. Apakah kelebihan ADALINE dibandingkan
dengan percephon
?
A-- Lnangi contoh 6.2 dengan menggunakan masukan dan target biner Ot*anbipolar)
3.
Gunakan ADALINE unhrk mengenali fungsi logika ,,dar(,dengan 3btrah masukan (a =0.5 dan toleransi = 0.1).
4.
selesaikan soal latihan #5 pada bab 4 (model Hebb) menggtrnakan
ADALINEdengan a=0.5, bobotawal=0, dan tolerarsi =
0.1.