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, ...)
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.
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
Conjugate gradient backpropagation dengan update Fletcher-Reeves
-
Sintaksis
net.trainFcn = 'traincgf'
[Net, tr] = train(net, ...)
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.
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
Conjugate gradient backpropagation dengan Powell-Beale restart
-
Sintaksis
net.trainFcn = 'traincgb'
[Net, tr] = train (net, ...)
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.
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
Skala conjugate gradient backpropagation
-
Sintaksis
[Net, TR, Ac, El] = trainscg (net, Pd, Tl, Ai, Q, TS, VV, TV)
Info = trainscg (code)
[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.
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
BFGS quasi-Newton backpropagation
-
Sintaksis
net.trainFcn = 'trainbfg'
[Net, tr] = train(net, ...)
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.
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
Salah satu langkah sekan backpropagation
-
Sintaksis
[Net, TR, Ac, El] = trainoss (net, Pd, Tl, Ai, Q, TS, VV, TV)
Info = trainoss (code)
[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.
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
Levenberg-Marquardt backpropagation
-
Sintaksis
[Net, TR] = trainlm (net, Pd, Tl, Ai, Q, TS, VV, TV)
[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.
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
Gradient turunan dengan adaptif backpropagation tingkat pembelajaran
-
Sintaksis
net.trainFcn = 'traingda'
[Net, tr] = train (net, ...)
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.
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
Gradient turunan dengan momentum dan adaptif tingkat pembelajaran backpropagation
-
Sintaksis
net.trainFcn = 'traingdx'
[Net, tr] = train (net, ...)
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.
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
Gradient turunan dengan momentum backpropagation
-
Sintaksis
[Net, TR, Ac, El] = traingdm (net, Pd, Tl, Ai, Q, TS, VV, TV)
Info = traingdm (code)
[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,
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
Gradien turunan backpropagation
-
Sintaksis
net.trainFcn = 'traingd'
[Net, tr] = train(net, ...)
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.
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
Backpropagation tangguh
-
Sintaksis
[Net, TR, Ac, El] = trainrp (net, Pd, Tl, Ai, Q, TS, VV, TV)
Info = trainrp (code)
[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,
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
Posting Komentar