Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

%Program Hebb AND Hasil (Contoh Soal 1.5) %Memasukkan data input dan target p1=[-1 -1 1 1]'; p2=[-1 1 -1 1]'; t=[-1 -1 -1 1]'; %Memasukkan bobot dan bias.

Presentasi serupa


Presentasi berjudul: "%Program Hebb AND Hasil (Contoh Soal 1.5) %Memasukkan data input dan target p1=[-1 -1 1 1]'; p2=[-1 1 -1 1]'; t=[-1 -1 -1 1]'; %Memasukkan bobot dan bias."— Transcript presentasi:

1 %Program Hebb AND Hasil (Contoh Soal 1.5) %Memasukkan data input dan target p1=[ ]'; p2=[ ]'; t=[ ]'; %Memasukkan bobot dan bias hasil pelatihan w=[2 2] b=-2; %Iterasi (1 sampai 4) for i=1:4 % Menghitung n n(i)=w(1)*p1(i)+w(2)*p2(i)+b; %Menghitung output if n(i)>=0 a(i)=1; else a(i)=-1; end %Menampilkan hasil [p1 p2 t a']

2 %Program Hebb AND Pelatihan input dan output bipolar (Contoh Soal 1.5) %Memasukkan data input dan target p1=[ ]'; p2=[ ]'; t=[ ]; %Inisialsasi w1=0; w2=0; b=0; %Iterasi (1 sampai 4) for i=1:4 %Perbaiki bobot w1=w1+p1(i)*t(i); w2=w2+p2(i)*t(i); b=b+t(i); end %Tampilkan hasil bobot dan bais terakhir [w1 w2 b]

3 %Program neuron Hebb untuk NAND (input dan output bipolar) %Memasukkan data input dan target p1=[ ]'; p2=[ ]'; t=[ ]; %Inisialsasi w1=0; w2=0; b=0; %Iterasi untuk menghitung bobot(1 sampai 4) for i=1:4 %Perbaiki bobot w1=w1+p1(i)*t(i) w2=w2+p2(i)*t(i) b=b+t(i) end

4 %Program neuron Hebb untuk NAND (input dan output bipolar) %Memasukkan data input dan target p1=[ ]; p2=[ ]; t=[ ]; %Inisialsasi w1=0; w2=0; b=0; %Iterasi untuk menghitung bobot(1 sampai 4) for i=1:4 %Perbaiki bobot w1=w1+p1(i)*t(i) w2=w2+p2(i)*t(i) b=b+t(i); end [w1 w2 b]

5 %Program McCulloch Pitts NAND (Soal Latihan 1.2) %Memasukkan data input p1=[ ]'; p2=[ ]'; %Memasukkan bobot dan bias (hasil analisis) w=[3 4] b=-6; %Iterasi (1 sampai 4) for i=1:4 % Menghitung n n(i)=w(1)*p1(i)+w(2)*p2(i)+b; %Menghitung output if n(i)>=0 a(i)=0; else a(i)=1; end %Menampilkan input output [p1 p2 a']

6 %Program McCulloch Pitts AND tanpa bias (input dan output biner) Contoh Soal 1.1 %Memasukkan data input dan target p1=[ ]'; p2=[ ]'; t=[ ]'; %Memasukkan bobot dan threshold (hasil coba-coba) w1=1; w2=1; th=2; %Iterasi (1 sampai 4) for i=1:4 % menghitung n n(i)= w1*p1(i)+w2*p2(i); % Menghitung output a if n(i)

7 %Program McCulloch Pitts AND tanpa bias (input dan output biner) Contoh Soal 1.1 %Memasukkan data input dan target p1=[ ]'; p2=[ ]'; t=[ ]'; %Memasukkan bobot dan threshold (hasil coba-coba) w1=1; w2=1; th=2; %Iterasi (1 sampai 4) for i=1:4 % menghitung n n(i)= w1*p1(i)+w2*p2(i); % Menghitung output a if n(i)

8 %Program McCulloch Pitts AND dengan bias (input dan output biner) Contoh Soal 1.1 %Memasukkan data input dan target p1=[ ]'; p2=[ ]'; t=[ ]'; %Memasukkan bobot dan bias (hasil analisis) w1=1; w2=1; b=-2; %Iterasi (1 sampai 4) for i=1:4 % menghitung n n(i)= w1*p1(i)+w2*p2(i)+b; % Menghitung output a if n(i)<0 a(i)=0; else a(i)=1; end % Tampilkan hasil [p1 p2 a']

9 %Program McCulloch Pitts OR (input dan output biner) Contoh Soal 1.2 %Memasukkan data input dan target p1=[ ]'; p2=[ ]'; t=[ ]'; %Memasukkan bobot dan threshold w1=1; w2=1; th=1; %Iterasi (1 sampai 4) for i=1:4 % menghitung n n(i)= w1*p1(i)+w2*p2(i); % Menghitung output a if n(i)

10 %Program p1^~p2 (Contoh Soal 1.3) p1=[ ]'; p2=[ ]'; %Memasukkan bobot dan threshold w1=[2 -1]; tr1=2; %Iterasi (1 sampai 4) for i=1:4 %Menghitung n n(i)=w1(1)*p1(i)+w1(2)*p2(i); %Menghitung output q1 if n(i)>=tr1 q1(i)=1; else q1(i)=0; end %Tampilkan output [p1 p2 q1']

11 %Program p1^~p2 (Contoh Soal 1.3) p1=[ ]'; p2=[ ]'; %Memasukkan bobot dan threshold w1=[2 -1]; tr1=2; %Iterasi (1 sampai 4) for i=1:4 %Menghitung n n(i)=w1(1)*p1(i)+w1(2)*p2(i); %Menghitung output q1 if n(i)>=tr1 q1(i)=1; else q1(i)=0; end %Tampilkan output [p1 p2 q1']

12 %Program McCulloch Pitts XNOR (Latihan Soal 1.2) %Memasukkan data input p1=[ ]'; p2=[ ]'; %Subprogram NOT p1 OR p2 %Memasukkan bobot dan bias w1=[-1 1]; b=-0.5; %Iterasi (1 sampai 4) for i=1:4 %Menghitung n n(i)=w1(1)*p1(i)+w1(2)*p2(i)+b; %Menghitung output q1 if n(i)>=0 q1(i)=0; else q1(i)=1; end %Subprogram NOT p2 OR p1 %Memasukkan bobot dan bias w2=[1 -1]; b=-0.5; %Iterasi (1 sampai 4) for i=1:4 % Menghitung n n(i)=w2(1)*p1(i)+w2(2)*p2(i)+b; %Menghitung output q2 if n(i)>=0 q2(i)=0; else q2(i)=1; end %Subprogram q1 AND q2 %Memasukkan bobot dan bias w3=[1 1]; b=-2; %Iterasi (1 sampai 4) for i=1:4 % Menghitung n n(i)=w3(1)*q1(i)+w3(2)*q2(i)+b; %Menghitung output if n(i)>=0 a(i)=1; else a(i)=0; end %Menampilkan input output [p1 p2 q1' q2' a']

13 %Program McCulloch Pitts XOR (Latihan Soal 1.2) %Memasukkan data input p1=[ ]'; p2=[ ]'; %Subprogram NOT p1 OR p2 %Memasukkan bobot dan bias w1=[-1 1]; b=-0.5; %Iterasi (1 sampai 4) for i=1:4 %Menghitung n n(i)=w1(1)*p1(i)+w1(2)*p2(i)+b; %Menghitung output q1 if n(i)>=0 q1(i)=1; else q1(i)=0; end %Subprogram NOT p2 OR p1 %Memasukkan bobot dan bias w2=[1 -1]; b=-0.5; %Iterasi (1 sampai 4) for i=1:4 % Menghitung n n(i)=w2(1)*p1(i)+w2(2)*p2(i)+b; %Menghitung output q2 if n(i)>=0 q2(i)=1; else q2(i)=0; end %Subprogram q1 AND q2 %Memasukkan bobot dan bias w3=[1 1]; b=-2; %Iterasi (1 sampai 4) for i=1:4 % Menghitung n n(i)=w3(1)*q1(i)+w3(2)*q2(i)+b; %Menghitung output if n(i)>=0 a(i)=1; else a(i)=0; end %Menampilkan input output [p1 p2 q1' q2' a']

14 clear epoch %Program perceptron tiga input biner bipolar AND (Contoh Soal 2.3) %Memasukkan data input dan target p1=[ ]; p2=[ ]; p3=[ ]; t=[ ]; %Memasukkan bobot awal w1=0; w2=0; w3=0; b=0; teta=0.1; alpha=1; for j=1:30 for i=1:4 %Menghitung n n(i)=w1*p1(i)+w2*p2(i)+w3*p3(i)+b; %Menghitung output y if n(i)>teta y(i)=1; elseif n(i)<-teta y(i)=-1; else y(i)=0; end %Memeriksa apakah keluaran = target if y(i) == t(i) %w1=w1; %w2=w2; %w3=w3; %b=b; else %Menentukan perubahan bobot dw1=alpha*p1(i)*t(i); dw2=alpha*p2(i)*t(i); dw3=alpha*p3(i)*t(i); db=alpha*t(i); %Menghitung bobot baru w1=w1+dw1; w2=w2+dw2; w3=w3+dw3; b=b+db; end %Memeriksa apakah semua keluaran = target if y == t k=j; break else end k [w1 w2 w3 b]

15 clear epoch %Program perceptron AND 2 masukan biner keluaran bipolar (Contoh Soal 2.2) %Memasukkan data input dan target p1=[ ]; p2=[ ]; t=[ ]; %Inisialisasi bobot awal w1=0; w2=0; b=0; teta=.1; alpha=2; k=0; for j=1:20 for i=1:4 %Menghitung n n(i)=w1*p1(i)+w2*p2(i)+b; %Menghitung output y if n(i)>teta y(i)=1; elseif n(i)<-teta y(i)=-1; else y(i)=0; end %Memeriksa apakah keluaran = target if y(i) == t(i) w1=w1; w2=w2; b=b; else %Menentukan perubahan bobot dw1=alpha*p1(i)*t(i); dw2=alpha*p2(i)*t(i); db=alpha*t(i); %Menghitung bobot baru w1=w1+dw1; w2=w2+dw2; b=b+db; end %Memeriksa apakah semua keluaran = target if y == t %epoch(j)=j; k=j; break else %epoch(j)=0; end %Menampilkan epoch dan bobot terakhir x='Jumlah epoch adalah '; yy=num2str(k); z=[x yy]; disp(z) [w1 w2 b]

16 clear all %Program Perceptron AND input dan output bipolar Pelatihan (Contoh Soal 2.1) % Memasukkan data input dan target p1=[ ]'; p2=[ ]'; t=[ ]'; %Inisialsasi w=[0 0]; b=0; alpha=1; teta=0; %Iterasi (1 sampai 4) for j=1:10 for i=1:4 % Menghitung n n(i)=w(1)*p1(i)+w(2)*p2(i)+b; if n(i)>teta a(i)=1; else n(i)<=teta a(i)=-1; end if a(i)'==t(i) w(1)=w(1); w(2)=w(2); b=b; else % Perbaiki bobot w(1)=w(1)+alpha*p1(i)*t(i); w(2)=w(2)+alpha*p2(i)*t(i); b=b+alpha*t(i); end end %Tampilkan hasil bobot dan bais terakhir [w(1) w(2) b] end


Download ppt "%Program Hebb AND Hasil (Contoh Soal 1.5) %Memasukkan data input dan target p1=[-1 -1 1 1]'; p2=[-1 1 -1 1]'; t=[-1 -1 -1 1]'; %Memasukkan bobot dan bias."

Presentasi serupa


Iklan oleh Google