Anda di halaman 1dari 17

ADALINE

Sigit Adinugroho, S.Kom, M.Sc


(sigit.adinu@ub.ac.id)
Outline
• Adaline
• Arsitektur
• Algoritme
Adaline
• ADALINE (ADaptive LInear NEuron) merupakan jaringan syaraf dengan 1
neuron yang strukturnya hampir sama dengan perceptron
• ADALINE menggunakan fungsi aktivasi linear (fungsi identitas), berbeda dengan
perceptron yang menggunakan fungsi threshold/step
• Proses training ADALINE menggunakan metode delta rule / least mean square
(LMS) / Widrow-Hoff rule
• Learning rule bertujuan meminimalkan Mean Squared Error antara output dan
target
• ADALINE mampu menyelesaikan permasalahan yang bersifat linearly separable.
• Jika ADALINE digunakan untuk proses klasifikasi, fungsi aktivasi dapat diubah
menjadi fungsi step/threshold
Arsitektur
• Adaline merupakan jaringan dengan satu neuron
• Jika output Adaline menjadi menjadi input Adaline lainnya, terbentuklah jaringan
multilayer bernama Madaline

input bias
𝑣 = 𝑦 = 𝑏 + ෍ 𝑥𝑖 𝑤𝑖
1 𝑖
𝑥1 𝑤1 𝑏
output
𝑥2 𝑤2 𝑣

.
.
. 𝑤𝑛 adder
.
𝑥𝑛
Delta rule(1)
• Delta rule merupakan metode yang digunakan untuk update bobot pada
Adaline.
• Delta rule bertujuan meminimalkan error, dengan cara meminimalkan
selisih antara output dan target
• Error dihitung sebagai kuadrat selisih antara output dan target
𝐸 = 𝑡−𝑦 2
• Error dapat diminimalkan dengan mengubah bobot mengikuti arah minus
𝜕𝐸
turunan dari error terhadap bobot (− )
𝜕𝑤
• Nilai turunan dapat dihitung dengan persamaan :
𝜕𝐸 𝜕𝑦
= −2 𝑡 − 𝑦
𝜕𝑤 𝜕𝑤
= −2 𝑡 − 𝑦 𝑥𝑖
Delta rule(2)
• Update bobot pada Adaline dilakukan dengan persamaan
𝑤𝑖 𝑏𝑎𝑟𝑢 = 𝑤𝑖 𝑙𝑎𝑚𝑎 + 𝛼 𝑡 − 𝑦 𝑥𝑖
𝑏 𝑏𝑎𝑟𝑢 = 𝑏 𝑙𝑎𝑚𝑎 + 𝛼(𝑡 − 𝑦)
Algoritme learning(1)
1. Set bobot dan bias dengan angka acak bernilai kecil (antara 0 dan 1)
2. Selama kondisi berhenti belum terpenuhi, lakukan langkah 2-3
a. Untuk setiap pasangan input dan target (x:t) lakukan langkah b-c
b. Hitung nilai output (y)
𝑦 = 𝑣 = 𝑏 + ෍ 𝑥𝑖 𝑤𝑖
𝑖
c. Update bobot dan bias
𝑤𝑖 𝑏𝑎𝑟𝑢 = 𝑤𝑖 𝑙𝑎𝑚𝑎 + 𝛼 𝑡 − 𝑦 𝑥𝑖
𝑏 𝑏𝑎𝑟𝑢 = 𝑏 𝑙𝑎𝑚𝑎 + 𝛼(𝑡 − 𝑦)
3. Setiap 1 epoch, cek kondisi berhenti, jika perubahan bobot terbesar pada langkah
2c lebih kecil dari suatu nilai batas, iterasi dihentikan
Algoritme testing
• Setelah melalui proses training, Adaline dapat digunakan untuk melakukan
klasifikasi
• Jika target bipolar atau biner, step function dapat digunakan dalam proses testing
• Algoritme testing :
1. Dapatkan nilai bobot dan bias melalui proses training
2. Untuk setiap pasangan input data testing, lakukan langkah a-b
a. Hitung nilai v
𝑣 = 𝑏 + ෍ 𝑥𝑖 𝑤𝑖
𝑖
b. Tentukan nilai y
1, 𝑖𝑓 𝑣 ≥ 0 1, 𝑖𝑓 𝑣 ≥ 0
𝑦=ቊ (target bipolar) 𝑦=ቊ (target biner)
−1, 𝑖𝑓 𝑣 < 0 0, 𝑖𝑓𝑣 < 0
Contoh : logika and (input BIPOLAR, output
bipolar)
• Adaline umumnya digunakan untuk input dan output bipolar.

x1 x2 t
1 1 1
1 -1 -1
-1 1 -1
-1 -1 -1
Contoh : logika and (input BIPOLAR, output
bipolar)
1. Inisialisasi bobot dan bias dengan angka acak. Nilai α= 0.1 dan threshold = 0.1

w1 w2 b
2. Update bobot
0.1 berdasarkan data latih
0.2 No.1 0.5

x1 x2 v t w1(lama) w2(lama) b(lama) w1(baru) w2(baru) b(baru


)
1 1 0.8 1 0.1 0.2 0.5 0.12 0.22 0.52
𝑤1 𝑏𝑎𝑟𝑢 = 𝑤1 𝑙𝑎𝑚𝑎 + 𝛼 𝑡 − 𝑣 𝑥1
= 0.1 + 0.1 1 − 0.8 1 = 0.12
𝑤2 𝑏𝑎𝑟𝑢 = 𝑤2 𝑙𝑎𝑚𝑎 + 𝛼 𝑡 − 𝑣 𝑥2
= 0.2 + 0.1 1 − 0.8 1 = 0.22
𝑏 𝑏𝑎𝑟𝑢 = 𝑏 𝑙𝑎𝑚𝑎 + 𝛼(𝑡 − 𝑣)
= 0.5 + 0.1(1 − 0.8) = 0.52
Contoh : logika and (input BIPOLAR, output
bipolar)
3. Update bobot berdasarkan data latih No.2

x1 x2 v t w1(lama) w2(lama) b(lama) w1(baru) w2(baru) b(baru


)
1 -1 0.42 -1 0.12 0.22 0.52 -0.022 0.362 0.378

𝑤1 𝑏𝑎𝑟𝑢 = 𝑤1 𝑙𝑎𝑚𝑎 + 𝛼 𝑡 − 𝑣 𝑥1
= 0.12 + 0.1 −1 − 0.42 1 = −0.022
𝑤2 𝑏𝑎𝑟𝑢 = 𝑤2 𝑙𝑎𝑚𝑎 + 𝛼 𝑡 − 𝑣 𝑥2
= 0.22 + 0.1 −1 − 0.42 (−1) = 0.362
𝑏 𝑏𝑎𝑟𝑢 = 𝑏 𝑙𝑎𝑚𝑎 + 𝛼(𝑡 − 𝑣)
= 0.52 + 0.1(−1 − 0.42) = 0.378
Contoh : logika and (input BIPOLAR, output
bipolar)
4. Update bobot berdasarkan data latih No.3

x1 x2 v t w1(lama) w2(lama) b(lama) w1(baru) w2(baru) b(baru)


1 -1 0.762 -1 -0.022 0.362 0.378 0.1542 0.1858 0.2018

5. Update bobot berdasarkan data latih No.4

x1 x2 v t w1(lama) w2(lama) b(lama) w1(baru) w2(baru) b(baru)


1 -1 -0.1382 -1 0.1542 0.1858 0.2018 0.24038 0.27198 0.11562
Contoh : logika and (input BIPOLAR, output
bipolar)
4. Cek kondisi berhenti, dengan cara menghitung perubahan bobot pada setiap
iterasi

Iterasi w1(baru) – w1(lama) w2(baru) – w2(lama)


1 0.12-0.1 = 0.02 0.22 – 0.2 = 0.02
2 -0.022 - 0.12 = -0.142 0.362 - 0.22 = 0.142
3 0.1542 - (-0.022) = 0.1564 0.1858 - 0.362 = -0.1762
4 0.24038 - 0.1542 = 0.08618 0.27198 - 0.1858 = 0.08618

Pada epoch pertama, maksimal Δw (wbaru – wlama) adalah 0.1564. Nilai


max(Δw)>threshold sehingga iterasi dilanjutkan ke epoch ke-2
Contoh : logika and (input BIPOLAR, output
bipolar)
Setelah melalui 4 epoch, proses training berhenti dengan nilai bobot dan bias
sebagai berikut
w1 = 0.41531
w2 = 0.386799
b = -0.357223
Epoch 1
Epoch 2
Epoch 3

Anda mungkin juga menyukai