Vous êtes sur la page 1sur 4

Nama : Anang Maruf

NRP : 2214 030 005

Artificial Network Backpropagation

Berikut pasangan data untuk memprediksikan nilai ujian berdasarkan waktu belajar dan
waktu tidur yang akan diolah menggunakan NN Backpropagation :

X1 X2 Y
0.3 0.2 0.75
0.5 0.1 0.82
0.6 0.2 0.88
0.8 0.3 0.92

Data diatas adalah data yang sudah diskalakan dengan target skor nilai ujian 0-100. Dan
estimasi waktu belajar dan tidur maksimum : 10 jam.
Selanjutnya, menentukan arsitektur Neural Network dengan asumsi tanpa bias:

X1
w1

w2
X2

Lalu menentukan nilai random weights [0.1 0.3]


Menghitung data 1 menggunakan Sigmoid Function untuk menentukan output :
Y(n) = X1*w1+X2*w2
= 0.3*0.1+0.2*0.3
= 0.09

1
Y(n) = 1+ en
1
Y(0.09) = 1+ e
0.09

Y(0.09) = 0.5225

Perhitungan Error : S(0.75) - 0.5225 = 0.1567

Mengupdate Weights
w(n+1) = w(n)+(n)*p(n)
w(2) = [0.1 0.3]+[0.3 0.2]
w(2) = [0.4 0.5]
Menghitung data 2 :
Y(n) = X1*w1+X2*w2
= 0.5*0.4+0.1*0.5
= 0.25
1
Y(n) = 1+ en
1
Y(0.25) = 1+ e0.25
Y(0.25) = 0.5622

Perhitungan Error : S(0.82) - 0.5622 = 0.132

Mengupdate Weights
w(n+1) = w(n)-(n)*p(n)
w(3) = [0.4 0.5]-[0.5 0.1]
w(3) = [-0.1 0.4]

Menghitung data 3 :
Y(n) = X1*w1+X2*w2
= 0.6*-0.1+0.2*0.4
= 0.02

1
Y(n) = 1+ en
1
Y(0.02) = 1+ e0.02
Y(0.02) = 0.5050

Perhitungan Error : S(0.88) - 0.5050 = 0.2018

Mengupdate Weights
w(n+1) = w(n)-(n)*p(n)
w(4) = [-0.1 0.4]-[0.6 0.2]
w(4) = [0.7 0.2]

Menghitung data 4 :
Y(n) = X1*w1+X2*w2
= 0.8*0.7+0.3*0.2
= 0.62

1
Y(n) = 1+ en
1
Y(0.62) = 1+ e0.62
Y(0.62) = 0.6502
Perhitungan Error : S(0.92) - 0.6502 = 0.0648
Mengupdate Weights
w(n+1) = w(n)-(n)*p(n)
w(5) = [0.7 0.2]-[0.5 0.1]
w(5) = [0.2 0.1]

Proses ini dilakukan berulang - ulang hingga menemukan hasil yang tidak error atau MSE
mendekati 0.
Disimulasikan ke MATLAB menggunakan Toolbox Neural Network, dengan menambah
hidden layer sebanyak 3 node. Sehingga berubah menjadi multilayer propagation. Hasilnya
sbb :

Tanda bulat berwarna hijau merupakan validasi dari hasil perhitungan mendekati error=0 atau
nilai MSE = 0.0020594 pada epoch 1 dengan iterasi sebanyak 4 kali. Dari analisa grafik
diatas, perubahan dari layer ke layer terbilang hampir linier karena tidak ada perubahan yang
drastis setiap epochs nya. Ini membuktikan data yang sedikit akan lebih mudah dipelajari
oleh sistem artificial neural network.
SourceCode di MATLAB:
function net = create_fit_net(inputs,targets)
`
numHiddenNeurons = 3; % Jumlah Hidden Layer
net = newfit(inputs,targets,numHiddenNeurons);
net.divideParam.trainRatio = 70/100;
net.divideParam.valRatio = 15/100;
net.divideParam.testRatio = 15/100;

% Proses Training
[net,tr] = train(net,inputs,targets);
outputs = sim(net,inputs);
% Membuat Grafik
plotperf(tr)
plotfit(net,inputs,targets)
plotregression(targets,outputs)

Data X (input)

Data Y(output)

Dari perhitungan data manual dan data simulasi, jika dibandingkan tidak menemui
perhitungan objektif yang sama meskipun hasil training yang dilakukan tidak berbeda.
Karena pada perhitungan manual tidak ada hidden layer sehingga jumlah weights hanya 2.
Sedangkan pada simulasi terdapat hidden layer 3 node dan jumlah weights 8. Selain itu, nilai
(n) juga dianggap 1.

Vous aimerez peut-être aussi