20 November 2017

Delta Learning Rule

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.

Algoritma Delta Learning Rule

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.
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.
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.
Step 5. Setiap unit output (Yj, j = 1,...,m), akan menjumlahkan sinyal-sinyal input yang sudah berbobot, termasuk biasnya,
y_inj

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.

Contoh aplikasi Delta Learning Rule
Contoh aplikasi delta learning rule pada fungsi logika AND

 
 
GAMBAR 2. Struktur Jaringan untuk AND problem

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
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
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
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)


No comments:

Post a Comment