Assalamu'alaikum.
Ketemu lagi dengan saya.....semoga netter semuanya dalam keadaan sehat walafiat dan selalu dalam lindungan-Nya. Amin ya robbal'alamin.
Langsung aja guys, kali ini akan dibahas masalah Delta Learning Rule, yang merupakan bagian dari expert system untuk pengambilan keputusan berdasarkan data-data yang sudah ada beserta target yang sudah ditentukan. Didalamnya terdapat proses learn untuk mencapai target yang telah ditentukan. Proses learn tersebut akan terus dilakukan sampai dengan jarak errors dengan target semakin kecil.
Delta learning rule ini hanya terdiri dari unit input dan unit output atau dalam istilah lain dikenal sebagai single layer.
Pada gambar 1. terlihat Jaringan Syaraf Tiruan Delta Learning Rule.
Gambar 1. Delta Learning Rule |
Pada jaringan ini digunakan topologi feedforward dengan metode supervised (terawasi). Jaringan feedforward adalah jaringan hubungan antar node yang tidak mempunyai perputaran (loop). Jaringan feedforward ini biasa akan merespon input dengan cepat.
Metode supervised adalah metode dimana suatu metode yang hasilnya sudah diketahui secara pasti yang mana hasil tersebut diberikan kepada jaringan pada saat terjadi proses pelatihan sehingga jaringan tersebut bisa menyesuaikan bobotnya untuk mencocokkan hasil pelatihannya dengan target.
Saat umpan maju (feedforward), setiap unit input (Xi)
akan menerima sinyal input dan akan menyebarkan sinyal tersebut pada tiap unit
output. Kemudian setiap unit output (Yj) juga akan menghitung
aktivasinya (yj) untuk menghasilkan respon terhadap input yang
diberikan jaringan.
Saat proses pelatihan (training), setiap unit output
membandingkan aktivasinya (yj) dengan nilai target (desired output)
untuk menentukan besarnya error. Perhitungan error tersebut digunakan untuk
menentukan stop condition.
Untuk selengkapnya, notasi-notasi yang akan digunakan pada algoritma pelatihan yaitu :
X Data
training untuk input
X
= (x1, …, xi, …, xn)
t Data
training untuk output (target/ desired output)
t
= (t1, …, tk, …, tm)
α Learning
rate, yaitu parameter yang mengontrol perubahan bobot selama pelatihan. Jika
learning rate besar, jaringan semakin cepat belajar, tetapi hasilnya kurang akurat. Learning rate biasanya dipilih antara 0 dan 1.
learning rate besar, jaringan semakin cepat belajar, tetapi hasilnya kurang akurat. Learning rate biasanya dipilih antara 0 dan 1.
Xi Unit input ke-i. untuk unit input, sinyal yang masuk dan
keluar pada suatu unit dilambangkan dengan variable yang sama, yaitu xi.
Yj Unit
output ke-j. sinyal input ke Yj dilambangkan y_inj.
sinyal output(aktivasi) untuk Yj
dilambangkan dengan yj.
dilambangkan dengan yj.
wij Bobot antara unit input ke-I dan unit output ke-j.
Emax Error maksimum untuk menentukan stop condition.
E Jumlah
error sekarang setiap putaran pelatihan.
Secara detail,
step-step pelatihan Delta Learning Rule adalah sebagai berikut :
Step 0. Inisialisasi α (learning rate) dan Emax.
Nilai Emax dan α harus lebih besar dari 0.
Step 1. Inisialisasi nilai bobot w dan error E diset 0.
Step 2. Jika stop condition masih belum terpenuhi, jalankan
step3-9.
Step 3. Untuk setiap data training, lakukan step 4-8.
Umpan Maju (feedforward):
Step 4. Setiap unit input (Xi,
i = 1,...,n) menerima sinyal input xi dan menyebarkan sinyal
tersebut pada seluruh unit pada unit output. Perlu diketahui bahwa input xi
yang dipakai di sini adalah input training data yang sudah diskalakan. Pertama,
input yang mungkin dipakai dalam sistem dicari nilai terendah dan tertingginya.
Kemudian, skala yang digunakan tergantung dari fungsi aktivasinya.
Jika yang dipakai adalah fungsi Sigmoid Biner yang mempunyai harga terendah = 0 dan harga tertinggi = 1, maka nilai input terendah juga dianggap = 0 dan nilai tertinggi dianggap = 1. Nilai-nilai diantaranya bervariasi antara 0 dan 1.
Sedangkan bila yang digunakan adalah fungsi Sigmoid Bipolar, maka range nilainya juga bervariasi mulai -1 sampai dengan 1.
Jika yang dipakai adalah fungsi Sigmoid Biner yang mempunyai harga terendah = 0 dan harga tertinggi = 1, maka nilai input terendah juga dianggap = 0 dan nilai tertinggi dianggap = 1. Nilai-nilai diantaranya bervariasi antara 0 dan 1.
Sedangkan bila yang digunakan adalah fungsi Sigmoid Bipolar, maka range nilainya juga bervariasi mulai -1 sampai dengan 1.
Step 5. Setiap unit output (Yj,
j = 1,...,m), akan menjumlahkan sinyal-sinyal input yang sudah berbobot,
termasuk biasnya,
dan memakai fungsi aktivasi yang
telah ditentukan untuk menghitung sinyal output dari unit output yang
bersangkutan
Pembaharuan Bobot (adjustment) dan Bias:
Step 6. Menghitung perubahan
bobot dari setiap unit input (Xi = 1,...,n) ke unit output (Yj,
j = 1,...,m).
Step 7. Setiap unit output (Yi, j
= 1,...,m) akan memperbaharui bias dan bobotnya dari setiap unit input (i =
1,...,n),
Perhitungan Total Error:
Step 8. Menghitung error dengan
menambahkan error yang sekarang ke variabel E.
Step 9. Memeriksa stop condition.
Jika E < Emax, maka
stop condition terpenuhi dan pelatihan selesai.
Jika E > Emax, maka
E diset 0 dan putaran pelatihan baru dimulai lagi dengan kembali ke step 3.
Pada tabel di atas, bahwa pada perhitungan w1*x1 dan w2*x2, nilai w1 dan w2 diambilkan dari nilai w1 baru dan w2 baru baris sebelumnya dari kolom sebelah kanan.
Contoh aplikasi Delta Learning Rule
Contoh aplikasi delta learning
rule pada fungsi logika AND
Pada gambar tersebut dapat dilihat
:
Bobot diinisialisasi dengan nilai
random (missal : w1 = 0.1; w2 = -0.2). Pada fungsi AND, inputnya adalah 00, 01, 10,
11 dan output yang diharapkan 0, 0, 0, 1. E (error) diinisialisasi 0. Ditentukan
α = 0.1 dan E max = 0.1.
Iterasi 1.
Input1
(x1)
|
Input2
(x2)
|
Target Output
(t)
|
W1*x1
|
W2*x2
|
y_in
|
Y(Output)
|
Weight error
(y-t)
|
W1 BARU
|
W2 BARU
|
0
|
0
|
0
|
0
|
0.
|
0
|
0.5
|
-0.5
|
0.1
|
-0.2
|
0
|
1
|
0
|
0
|
-0.2
|
-0.2
|
0.45
|
-0.45
|
0.1
|
-0.245
|
1
|
0
|
0
|
0.1
|
0
|
0.1
|
0.53
|
-0.53
|
0.047
|
-0.245
|
1
|
1
|
1
|
0.047
|
-0.245
|
-0.198
|
0.45
|
0.55
|
0.102
|
-0.19
|
Pada tabel di atas, bahwa pada perhitungan w1*x1 dan w2*x2, nilai w1 dan w2 diambilkan dari nilai w1 baru dan w2 baru baris sebelumnya dari kolom sebelah kanan.
Kemudian bobot diperbaharui
menjadi :
Pada
pasangan data training pertama :
w1 = w1 + α(y1-t1)x1
= 0.1 +0.1 x (-0.5) x 0 = 0.1
w2 = w2 + α(y2-t2)x2
= -0.2 +0.1 x (-0.5) x 0 = -0.2
Pada kasus ini, y1 dan y2 adalah Y (karena output hanya 1 yaitu Y)
Pada
pasangan data training kedua :
Nilai w1 dan w1 diambilkan dari hasil perhitungan pada pasangan training pertama
w1 = w1 + α(y1-t1)x1 = 0.1 +0.1 x (-0.45) x 0 = 0.1
Nilai w1 dan w1 diambilkan dari hasil perhitungan pada pasangan training pertama
w1 = w1 + α(y1-t1)x1 = 0.1 +0.1 x (-0.45) x 0 = 0.1
w2 = w2 + α(y2-t2)x2
= -0.2 +0.1 x (-0.45) x 1 = -0.245
Pada
pasangan data training ketiga :
Nilai w1 dan w1 diambilkan dari hasil perhitungan pada pasangan training kedua
Nilai w1 dan w1 diambilkan dari hasil perhitungan pada pasangan training kedua
w1 = w1 + α(y1-t1)x1
= 0.1 +0.1 x (-0.53) x 1 = 0.047
w2 = w2 + α(y2-t2)x2
= -0.245 +0.1 x (-0.53) x 0 = -0.245
Pada
pasangan data training keempat :
Nilai w1 dan w1 diambilkan dari hasil perhitungan pada pasangan training ketiga
Nilai w1 dan w1 diambilkan dari hasil perhitungan pada pasangan training ketiga
w1 = w1 + α(y1-t1)x1
= 0.047 +0.1 x (0.55) x 1 = 0.102
w2 = w2 + α(y2-t2)x2
= -0.245 +0.1 x (0.55) x 1 = -0.19
E = ½ ((-0.5)2
+ (-0.45)2 + (-0.53)2 + (0.55)2) = ½(0.5359) =
0.26795
Karena E>Emax maka dilanjutkan ke
iterasi kedua dan begitu seterusnya sampai Emax
E adalah Total
Error = 1/2((y1-t1)2 + (y2-t2)2
+ (y3-t3)2 + (y4-t4)2
Untuk file excel buat latihan berikut link nya :
Delta Learning Rule - Excel
Sekian dulu ya guy's, saya sudah ngantuk, lelah, mumet .......pokoke ma tidur .........
Semoga bisa membantu pembaca semua.
Terima kasih.
(sumber : dari Guru saya : Prof. DR.Ir. Kuswara Setiawan. MT. - Paradigma Sistem Cerdas)