coding matlab hebb dan perceptron

9
%Program Hebb AND %Memasukkan data input dan target p1=[-1 -1 1 1]'; p2=[-1 1 -1 1]'; t=[-1 -1 -1 1]'; %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 end %Menampilkan hasil [p1 p2 t a']

Upload: arafat

Post on 01-Oct-2015

503 views

Category:

Documents


133 download

DESCRIPTION

coding matlab

TRANSCRIPT

  • %Program Hebb AND %Memasukkan data input dan targetp1=[-1 -1 1 1]';p2=[-1 1 -1 1]';t=[-1 -1 -1 1]';%Memasukkan bobot dan bias hasil pelatihanw=[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; endend%Menampilkan hasil[p1 p2 t a']

  • %Program Hebb AND Pelatihan input dan output bipolar %Memasukkan data input dan targetp1=[-1 -1 1 1]';p2=[-1 1 -1 1]';t=[-1 -1 -1 1];%Inisialsasiw1=0;w2=0;b=0;%Iterasi (1 sampai 4)for i=1:4%Perbaiki bobotw1=w1+p1(i)*t(i);w2=w2+p2(i)*t(i);b=b+t(i);end%Tampilkan hasil bobot dan bias terakhir[w1 w2 b]

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

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

  • clear epoch%Program perceptron tiga input biner bipolar AND (Contoh Soal 2.3)%Memasukkan data input dan targetp1=[1 1 1 0];p2=[1 1 0 1];p3=[1 0 1 1];t=[1 -1 -1 -1];%Memasukkan bobot awalw1=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)
  • clear epoch%Program perceptron AND 2 masukan biner keluaran bipolar (Contoh Soal 2.2)%Memasukkan data input dan targetp1=[1 1 0 0];p2=[1 0 1 0];t=[1 -1 -1 -1];%Inisialisasi bobot awalw1=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)
  • clear all%Program Perceptron AND input dan output bipolar Pelatihan (Contoh Soal 2.1)% Memasukkan data input dan targetp1=[1 1 -1 -1]';p2=[1 -1 1 -1]';t=[1 -1 -1 -1]';%Inisialsasiw=[0 0];b=0;alpha=1;teta=0;%Iterasi (1 sampai 4)for j=1:10for 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)
  • Example 4.5Write a MATLAB program for perceptron net for an AND function with bipolar inputs and targets.SolutionThe truth table for the AND function is given as X1X2Y 1 1 1 11 11 1 1111The MATLAB program for the above table is given as follows.Program%Perceptron for AND funtionclear;clc;x=[1 1 -1 -1;1 -1 1 -1];t=[1 -1 -1 -1];w=[0 0];b=0;alpha=input('Enter Learning rate=');theta=input('Enter Threshold value=');con=1;epoch=0;while con con=0; for i=1:4 yin=b+x(1,i)*w(1)+x(2,i)*w(2); if yin>theta y=1; end if yin =-theta y=0; end if yin