Laman

Selasa, 01 Juni 2010

Tugas 3 JST

% PROGRAM JARINGAN SYARAF TIRUAN
clear;
clc;
Input = 2;
Hidden = 8;
Output = 2;
Lr = 0.5;
iterasi= 100;
Error_target=0.01;
Target=[0.43 0.34];
Input=[1 2 ]

% Menentukan Nilai bobot secara random

For I=1:5:input;
For j=1:6:hidden;
w(j,I)=rand(1)
end;
end;

% Bobot antara hidden ke output layer

For j=1:1:hidden;
For k=1:1:output;
v(k,j)=rand(1)
end;
end;

% =================Forward ==============
% Input

For I=1:1:input;
x(I)=rand(1);
end;

% ITERASI --------

For t=1:1:iterasi

% ----------Hidden Layer----------
% input * bobot h= x*w

For I=1:1:input;
For j=1:1:hidden;
h(j)= w(j,I)*x(I);
end;
end;

% Aktivasi fungsi / keluaran neuron hidden

For j=1:1:hidden;
H(j)= h(j);
end;

% --------Output Layer---------------
% hidden * bobot y= h*v
For j=1:1:hidden;
For k=1:1:output;
y(k)= v(k,j)*H(j);
end;
end;

% Aktivasi fungsi / keluaran neuron output
For k=1:1:output;
Y(k)= y(k);
end;

% Menghitung Error
For k=1:1:output
Error(k)=target(k)-Y(k);
end;

%========= BACK PROPAGATION =============
% Hitung delta bobot antara output ke hidden
For j=1:1:hidden;
For k=1:1:output;
Delta_v(k,j)=lr*error(k)*H(j);
end;
end;

% Hitung delta Bobot antara hidden ke input layer
For I=1:1:input;
For j=1:1:hidden;
For k=1:1:output;
Delta_w(j,I)=lr*error(k)*v(k,j)*x(I);
end;
end;
end;

% ubah bobot antara output ke hidden
For j=1:1:hidden;
For k=1:1:output;
v(k,j)=v(k,j)+Delta_v(k,j);
end;
end;

% ubah Bobot antara hidden ke input layer
For I=1:1:input;
For j=1:1:hidden;
For k=1:1:output;
w(j,I)=w(j,I)+Delta_w(j,I);
end;
end;
end;

end;

Tidak ada komentar:

Posting Komentar