Nguyen Widrow dan Algoritma pelatihan yang ada dalam jaringan Backpropagation .

KOMPUTASI  LUNAK

Nguyen Widrow : merupakan modifikasi sederhana bobot-bobot dan bias ke unit tersembunyi yang mampu meningkatkan kecepatan jaringan dalam proses pelatihan jaringan.
sebuah algoritma yang digunakan untuk inisialisasi bobot pada jaringan saraf tiruan untuk mengurangi waktu pelatihan. Algoritma inisialisasi nguyen-widrow adalah sebagai berikut :
a. Set:
n = jumlah unit input p = jumlah unit tersembunyi β = faktor skala = 0.7(p)1/n = 0.7
b. Untuk setiap unit tersembunyi (j=1,…,p), lakukan tahap (c) – (f)
c. Untuk i=1,…,n (semua unit input), vij(old)= bilangan acak antara -0.5 dan 0.5
d. Hitung nilai ||vj(old)||
e. Inisialisasi ulang bobot-bobot dari unit input (i=1,…,n)
f. Bias yang dipakai sebagai inisialisasi:  voj = bilangan acak antara –β dan β.


Algoritma pelatihan yang ada dalam jaringan Backpropagation adalah sebagai berikut:

1.     Traincgf
-         Sintaksis
net.trainFcn = 'trainscg'
[Net,tr] =
train (net, ...)
-         Deskripsi
trainscg adalah fungsi pelatihan jaringan yang update berat dan bias nilai-nilai sesuai dengan metode conjugate gradien skala.
net.trainFcn = 'trainscg' set jaringan properti trainFcn.
[Net, tr] =
train (net, ...) melatih jaringan dengan trainscg.

2.     Traincgf
Conjugate gradient backpropagation dengan update Fletcher-Reeves
-         Sintaksis
net.trainFcn = 'traincgf'
[Net, tr] =
train(net, ...)
-          Deskripsi
traincgf adalah fungsi pelatihan jaringan yang update berat dan bias nilai-nilai sesuai dengan conjugate gradient backpropagation dengan update Fletcher-Reeves.
net.trainFcn = 'traincgf' set jaringan properti trainFcn.
[Net, tr] =
train (net, ...) melatih jaringan dengan traincgf.

3.     Traincgb
Conjugate gradient backpropagation dengan Powell-Beale restart
-         Sintaksis
net.trainFcn = 'traincgb'
[Net, tr] =
train (net, ...)
-         Deskripsi
traincgb adalah fungsi pelatihan jaringan yang update berat dan bias nilai-nilai sesuai dengan conjugate gradient backpropagation dengan Powell-Beale restart.
net.trainFcn = 'traincgb' set jaringan properti trainFcn.
[Net, tr] =
train (net, ...) melatih jaringan dengan traincgb.
                                 
4.     Trainscg,
Skala conjugate gradient backpropagation
-         Sintaksis
[Net, TR, Ac, El] = trainscg (net, Pd, Tl, Ai, Q, TS, VV, TV)
Info = trainscg (code)
-         Deskripsi
trainscg adalah fungsi pelatihan jaringan yang update berat dan bias nilai-nilai sesuai dengan metode conjugate gradien skala.
trainscg (net, Pd, Tl, Ai, Q, TS, VV, TV) mengambil input ini
.
-          
5.     Trainbfg
BFGS quasi-Newton backpropagation
-         Sintaksis
net.trainFcn = 'trainbfg'
[Net, tr] =
train(net, ...)
-         Deskripsi
trainbfg adalah fungsi pelatihan jaringan yang update berat dan bias nilai-nilai sesuai dengan metode BFGS kuasi-Newton.
net.trainFcn = 'trainbfg' set jaringan properti trainFcn.
[Net, tr] =
train(net, ...) melatih jaringan dengan trainbfg.

6.     Trainoss
Salah satu langkah sekan backpropagation
-         Sintaksis
[Net, TR, Ac, El] = trainoss (net, Pd, Tl, Ai, Q, TS, VV, TV)
Info = trainoss (code)
-         Deskripsi
trainoss adalah fungsi pelatihan jaringan yang update berat dan bias nilai-nilai sesuai dengan metode satu langkah sekan.
trainoss (net, Pd, Tl, Ai, Q, TS, VV, TV) mengambil input ini
.

7.     Trainlm
Levenberg-Marquardt backpropagation
-         Sintaksis
 [Net, TR] = trainlm (net, Pd, Tl, Ai, Q, TS, VV, TV)
Info = trainlm (code)
-         Deskripsi
trainlm adalah fungsi pelatihan jaringan yang update berat dan bias nilai-nilai sesuai dengan optimasi Levenberg-Marquardt.
trainlm (net, Pd, Tl, Ai, Q, TS, VV, TV) mengambil input ini.



8.     Traingda
Gradient turunan dengan adaptif backpropagation tingkat pembelajaran
-         Sintaksis
net.trainFcn = 'traingda'
[Net, tr] =
train (net, ...)
-         Deskripsi
traingda adalah fungsi pelatihan jaringan yang update berat dan bias nilai-nilai sesuai dengan gradient
turunan dengan tingkat pembelajaran adaptif.
net.trainFcn = 'traingda' set jaringan properti trainFcn.
[Net, tr] =
train (net, ...) melatih jaringan dengan traingda.

9.     Traingdx
Gradient turunan dengan momentum dan adaptif tingkat pembelajaran backpropagation
-         Sintaksis
net.trainFcn = 'traingdx'
[Net, tr] =
train (net, ...)
-         Deskripsi
traingdx adalah fungsi pelatihan jaringan yang update berat dan bias nilai-nilai sesuai dengan momentum gradient
turunan dan tingkat pembelajaran adaptif.
net.trainFcn = 'traingdx' set jaringan properti trainFcn.
[Net, tr] =
train(net, ...) melatih jaringan dengan traingdx.

10.          Traingdm
Gradient turunan dengan momentum backpropagation
-         Sintaksis
[Net, TR, Ac, El] = traingdm (net, Pd, Tl, Ai, Q, TS, VV, TV)
Info = traingdm (code)
-         Deskripsi
traingdm adalah fungsi pelatihan jaringan yang update berat dan bias nilai-nilai sesuai dengan gradient
turunan dengan momentum.
traingdm (net, Pd, Tl, Ai, Q, TS, VV) mengambil input ini,

11.          Traingd
Gradien turunan backpropagation
-         Sintaksis
net.trainFcn = 'traingd'
[Net, tr] =
train(net, ...)
-         Deskripsi
traingd adalah fungsi pelatihan jaringan yang update berat dan bias nilai-nilai sesuai dengan gradient descent.
net.trainFcn = 'traingd' set jaringan properti trainFcn.
[Net, tr] =
train(net, ...) melatih jaringan dengan traingd.

12.          Trainrp
Backpropagation tangguh
-         Sintaksis
[Net, TR, Ac, El] = trainrp (net, Pd, Tl, Ai, Q, TS, VV, TV)
Info = trainrp (code)
-         Deskripsi
trainrp adalah fungsi pelatihan jaringan yang update berat dan bias nilai-nilai sesuai dengan algoritma backpropagation tangguh (RPROP).
trainrp (net, Pd, Tl, Ai, Q, TS, VV, TV) mengambil input ini,

 Run Program :

Disini terdapat beberapa masalah yang terdiri dari input P dan output/target T yang akan diselesaikan dengan sebuah jaringan(network).

P = [1 2 3 4 5 6 7 8 9 10];
T = [6 12 14 21 27 29 36 41 44 51];

Berikut dua lapisan jaringan(network) umpan maju dibuat. Input network berkisar dari [1 ke 10]. Lapisan pertama memiliki 3 neuron logsig, lapisan kedua memiliki 1 neuron purelin. Fungsi percobaan trainlm network akan digunakan.

net = newff([1 10], [3 1], {‘logsig’ ‘purelin’});
Berikut adalah jaringan disimulasikan dan output diplot terhadap target.

Y = sim(net, P)
plot(P, T, ‘bo’, P, Y, ‘r*’);

Berikut train network untuk 10 epochs. Sekali lagi output jaringan(network) diplot.

net.trainParam.epochs = 10;
net = train(net, P, T);

title(‘Perbandingan antara target (o) dengan output jaringan (*)’);
title digunakan untuk judul
xlabel(‘input’);
ylabel(‘Target atau output’);
grid;

Pict on Matlab :




Menunjukan plot antara output dan target yang kita ditandai dengan berhimpitnya plot output berupa bintang dan plot target berupa tanda lingkaran. Seperti gambar di atas. Pada progress terjadinya epoch atau iterasi 10 x, menunjukkan bahwa nilai atau hasil yang didapat masih berada dalam rentang target dan dapat dikatakan bahwa penelitian ini berhasil, dan dapat diperkuat lagi oleh tampilan seperti gambar diatas.





Komentar

Postingan populer dari blog ini

Object primitif dalam grafika komputer

IP Address

Makalah Integrasi Sistem