Dunia IT

Dunia IT

Selasa, 16 Mei 2017

Membangun Jaringan saraf tiruan Perceptron dengan fungsi aktifasi OR Menggunakan Matlab R2016


Langkah pertama kta buat folder baru seperti gambar dibawah ini

Setelah itu create new Document atau (CTRL+N) seperti gambar dibawah ini

Setelah Document baru terbuka, ketikkan script seperti di bawah ini
clear all;
clc;
fb=fopen('simulasi','w');
%input
P=[0 0 1 1 ; 0 1 0 1];
[m n] = size(P);
fprintf(fb'Data Input (p):\n');
for i=1:n,
    fprintf('%1d %1d\n',P(:,i));
end;

 %target
 T=[0 1 1 1];
 fprintf('Target (T):\n');
 fprintf('%1d\n',T);

 %Bentuk Jaringan Syaraf denga perceptron
 net=newp(minmax(P),1);
 plotpv(P,T);
 linehandle=plotpc(net.IW{1},net.b{1});

 %set error awal E=1
 E=1

 %Kembalikan nilai bobot sesuai inisialisasi fungsinya
 net=init(net);

 fprintf('Bobot Input Awal (W): %4.2f %4.2f\n',net.IW{1,1});
 fprintf('Bobot Bias Awal (b): %4.2f \n',net.b{1});
 linehandle=plotpc(net.IW{1},net.b{1});
 Epoh=0;
 MaxEpoh=100;

 %Pembelajaran
 while (sse(E)&(Epoh<MaxEpoh)),
     fprintf('\n');
     Epoh=Epoh+1;
     fprintf('Epoh ke-%1d\n',Epoh);
     [net,Y,E]=adapt(net,P,T);
     fprintf('Output Jaringan (Y): ');
     for i=1:n,
         fprintf(' %1d ',Y(i));
     end;
     fprintf('\n');
     fprintf('Error Adaptasi (E) : ');
     for i=1:n,
         fprintf(' %1d ',E(i));
     end;
      fprintf('\n');
      fprintf('Bobot Input Baru (w) : %4.2f %4.2f \n',net.IW{1,1});
      fprintf('Bobot Bias  Baru (b) : %4.2f \n',net.b{1});
      fprintf('Sum Square Error (SSE):%4.2f \n',sse(E));
      linehandle=plotpc(net.IW{1},net.b{1},linehandle);
      drawnow;
      Y
      E
      pause(2);
 end;
 fprintf('\n');
 fprintf('Bobot Input Akhir (W) : %4.2f %4.2f\n',net.IW{1,1});
 fprintf('Bobot Bias  Akhir (b) : %4.2f \n',net.b{1});

 %%Vektor yang akan disimulasikan
 p=[0.5 0.1 0.7 0.2 0.5;0.5 0.1 0.1 0.4 0.3];

 %simulasi
 a=sim(net,p);
 plotpv(p,a);
 ThePoint=findobj(gca,'type','line');
 set(ThePoint,'color','red');
 pause(2);
 hold on;
 plotpv(P,T);
 plotpc(net.IW{1},net.b{1});
 hold off
 fclose(fb);
Langkah berikutnya simpan script yang kita ketik tadi didalam folder yang kita buat tadi dengan nama file “simulasi” Tanpa tanda petik seperti gambar dibawah ini

Setelah file tersimpan di folder, langkah selanjutnya Runing Program yang kita buat. Maka hasil akan tampil seperti dibawah ini,

Program yang kita jalankan tidak berjalan dengan semestinya, dikarenakan perintah pada target  dibah ini
%target
 T=[0 1 1 1];
 fprintf('Target (T):\n');
 fprintf('%1d\n',T);
masih kurang lengkap, coba kita tambahkan perintah
%target
 T=[0 1 1 1];
 fprintf('Target (T):\n');
 for i=1:1,
     fprintf('%1d\n',T);
 end
lalu jaankan kembali program, setelah kita runing informasi dari epoh dapat kita lihat dengan membuka Hasil perceptron.m; maka hasilnya akan sepertidi bawah ini
ans=
Data Input (p):
0 0
0 1
1 0
1 1
Target (T):
0
1
1
1

E =

     1

Bobot Input Awal (W): 0.00 0.00
Bobot Bias Awal (b): 0.00

Epoh ke-1
Output Jaringan (Y):  1  1  1  1
Error Adaptasi (E) :  -1  0  0  0
Bobot Input Baru (w) : 0.00 0.00
Bobot Bias  Baru (b) : -1.00
Sum Square Error (SSE):1.00

Y =

     1     1     1     1


E =

    -1     0     0     0


Epoh ke-2
Output Jaringan (Y):  0  0  0  0
Error Adaptasi (E) :  0  1  1  1
Bobot Input Baru (w) : 2.00 2.00
Bobot Bias  Baru (b) : 2.00
Sum Square Error (SSE):3.00

Y =

     0     0     0     0


E =

     0     1     1     1


Epoh ke-3
Output Jaringan (Y):  1  1  1  1
Error Adaptasi (E) :  -1  0  0  0
Bobot Input Baru (w) : 2.00 2.00
Bobot Bias  Baru (b) : 1.00
Sum Square Error (SSE):1.00

Y =

     1     1     1     1


E =

    -1     0     0     0


Epoh ke-4
Output Jaringan (Y):  1  1  1  1
Error Adaptasi (E) :  -1  0  0  0
Bobot Input Baru (w) : 2.00 2.00
Bobot Bias  Baru (b) : 0.00
Sum Square Error (SSE):1.00

Y =

     1     1     1     1


E =

    -1     0     0     0


Epoh ke-5
Output Jaringan (Y):  1  1  1  1
Error Adaptasi (E) :  -1  0  0  0
Bobot Input Baru (w) : 2.00 2.00
Bobot Bias  Baru (b) : -1.00
Sum Square Error (SSE):1.00

Y =

     1     1     1     1


E =

    -1     0     0     0


Epoh ke-6
Output Jaringan (Y):  0  1  1  1
Error Adaptasi (E) :  0  0  0  0
Bobot Input Baru (w) : 2.00 2.00
Bobot Bias  Baru (b) : -1.00
Sum Square Error (SSE):0.00

Y =

     0     1     1     1


E =

     0     0     0     0


Bobot Input Akhir (W) : 2.00 2.00
Bobot Bias  Akhir (b) : -1.00
>> 
>> FungsiAktifasi = net.layers{1}.transferFcn

FungsiAktifasi =

hardlim

>> 


Refrensi :
[1] https://www.mathworks.com/products/matlab/examples.html

0 komentar:

luvne.com ayeey.com cicicookies.com mbepp.com kumpulanrumusnya.com.com tipscantiknya.com