ADALINE
ADALINE
Pelatihan ADALINE
Model Adaline (Adaptive Linear Neuron) ditemukan oleh Widrow & Hoff (1960).
Arsitekturnya mirip dengan perceptron, beberapa masukan (dan sebuah bias) dihubungkan langsung dengan sebuah neuron keluaran.
Perbedaan dengan perceptron adalah dalam hal cara modifikasi bobotnya.
Bobot dimodifikasi dengan aturan delta (sering juga disebut least mean square).
Pelatihan ADALINE
Selama pelatihan, fungsi aktivasi yang dipakai adalah fungsi identitas.
Kuadrat selisih antara target (t) dan keluaran jaringan (f(net)) merupakan error yang terjadi. Dalam aturan delta, bobot dimodifikasi sedemikian rupa hingga errornya minimum.
= +
= = = +
= ( )2 = +
2
E merupakan fungsi bobot wi. Penurunan E tercepat terjadi pada arah
Maka perubahan bobot adalah: wi = (t-y)xi dengan merupakan bilangan positif kecil (umumnya diambil = 0,1).
Pelatihan ADALINE
= 2 +
= 2
Algoritma pelatihan ADALINE
Inisialisasi semua bobot dan bias (umumnya wi=b=0)
Tentukan laju pemahaman (=). Untuk penyederhanaan biasanya diberi nilai kecil(=0,1). Tentukan toleransi kesalahan yang diijinkan
Selama maxi wi > batas toleransi, lakukan
Set aktivasi unit masukan xi = si (i = 1, ...,n)
Hitung respon unit keluaran : net =
y = f(net) = net
Perbaiki bobot pola yang mengandung kesalahan (y t) menurut persamaan:
wi (baru) = wi (lama) + (t-y) xib (baru) = b (lama) + (t-y)
+
Setelah proses pelatihan selesai, ADALINE dapat dipakai untuk pengenalan pola. Untuk itu, umumnya dipakai fungsi threshold bipolar (meskipun tidak menutup kemungkinan digunakan bentuk lainnya). Caranya adalah sebagai berikut:
Inisialisasi semua bobot dan bias dengan bobot dan bias hasil pelatihan
Untuk setiap input masukan bipolar x, lakukan:
Set aktivasi unit masukan xi = si (i = 1, ...,n)
Hitung net unit keluaran : net =
Kenakan fungsi aktivasi:
Algoritma pelatihan ADALINE
+
= 1 , 01 , < 0
Contoh 1
Gunakan model ADALINE untuk mengenali pola fungsi logika And dengan masukan dan target bipolar:
Gunakan batas toleransi = 0,05 dan = 0,1!
Target
x1 x2 t
1 1 1
1 -1 -1
-1 1 -1
-1 -1 -1
Masukan
Penyelesaian
Dengan = 0,1, maka perubahan bobotnya = wi = 0,1 (t-f(net)) xi = 0,1 (t-y) xi. Iterasi untuk epoch pertama
y=
x1 x2 1 t net f(net) t-y dw1 dw2 db w1 w2 b
Inisialisasi 0 0 0
1 1 1 1 0 0 1 0,1 0,1 0,1 0,1 0,1 0,1
1 -1 1 -1 0,1 0,1 -1,1 -0,11 0,11 -0,11 -0 0,21 -0,01
-1 1 1 -1 0,21 0,21 -1,21 0,12 -0,12 -0,12 0,11 0,09 -0,13
-1 -1 1 -1 -0,33 -0,33 -0,67 0,07 0,07 -0,07 0,18 0,16 -0,20
Bobot BaruMasukan Perubahan Bobot
Maksimum wi =0,07>toleransi, maka iterasi dilanjutkan untuk epoch kedua
y=
x1 x2 1 t net f(net) t-y dw1 dw2 db w1 w2 b
Inisialisasi 0,18 0,16 -0,20
1 1 1 1 0,14 0,14 0,86 0,09 0,09 0,09 0,26 0,24 -0,11
1 -1 1 -1 -0,09 -0,09 -0,91 -0,09 0,09 -0,09 0,17 0,33 -0,20
-1 1 1 -1 -0,04 -0,04 -0,96 0,10 -0,10 -0,10 0,27 0,24 -0,30
-1 -1 1 -1 -0,80 -0,80 -0,20 0,02 0,02 -0,02 0,29 0,26 -0,32
Bobot BaruMasukan Perubahan Bobot
Penyelesaian
Hasil pengujian
x1 x2
1 1 0,23 1
1 -1 -0,29 -1
-1 1 -0,35 -1
-1 -1 -0,86 -1
Masukannet y
Penyelesaian
Contoh 2
Ulangi contoh 1 tapi dengan = 0,2
Epoch pertama
y=
x1 x2 1 t net f(net) t-y dw1 dw2 db w1 w2 b
Inisialisasi 0 0 0
1 1 1 1 0 0 1 0,2 0,2 0,2 0,2 0,2 0,2
1 -1 1 -1 0,2 0,2 -1,2 -0,2 0,24 -0,24 -0 0,44 -0,04
-1 1 1 -1 0,44 0,44 -1,44 0,29 -0,29 -0,29 0,25 0,15 -0,33
-1 -1 1 -1 -0,73 -0,73 -0,27 0,05 0,05 -0,05 0,30 0,21 -0,38
Masukan Perubahan Bobot Bobot Baru
Hasil pengujian
x1 x2
1 1 0,13 1
1 -1 -0,29 -1
-1 1 -0,48 -1
-1 -1 -0,89 -1
Masukannet y
Contoh 2
Beberapa ADALINE dapat digabungkan untuk membentuk suatu jaringan baru yang disebut MADALINE (many ADALINE).
Dalam MADALINE terdapat sebuah layar tersembunyi. Cambar di bawah menunjukkan arsitektur MADALINE untuk 2 buah masukan x1 dan x2, sebuah layartersembunyi yang terdiri dari 2 unit neuron tersembunyi z1 dan z2, dan sebuah keluaran .
Arsitektur MADALINE untuk lebih dari 2 unit masukan (atau lebih dari 2 unit tersembunyi) dapat dibentuk secara analog.
MADALINE
MADALINE
1
x1
x2
1
z1
z2
Y
1
w11
w21
b1
w12
w22
b2
v1
v2
b3
MADALINE
Algoritma Madaline
Algoritma Madaline
Algoritma Madaline
Contoh 2
Contoh 2
Contoh 2
Contoh 2
Contoh 2
Pemrograman Adaline dengan matlab
Pembentukan jaringan:
net=newline (PR, S, ID, LR)
PR : matriks R x 2 yang berisi nilai minimum dan
maksimum elemen masukan R
S : jumlah elemen vektor keluaran
ID : vektor delay masukan (default = [0])
LR : laju pembelajaran (default = 0,01)
Pembentukan jaringan
net = newlin([0 10 ; 0 10],1)
net.IW {1,1} = [2 3]
net.b {1} = [-4] 1
x1
x2
y
-4
3
2
Contoh 3
Buatlah adaline untuk mengenali pola fungsi logika and dengan 2 variable x1 dan x2 dengan masukan dan keluaran bipolar!
Penyelesaian
net = newline([-1 1;-1 1,1]
p = [[1;1] [1;-1] [-1;1] [-1;-1]]
t = [1 -1 -1 -1]
a=sim(net,p)
Hasil
p =1 1 -1 -1
1 -1 1 -1
t = 1 -1 -1 -1
a =1 -5 -3 -9