x=[0 0 1 1;0 1 0 1]; %definir el umbral b=[1 1 1 1]; %definir la salida y=[0 1 1 1]; %creamos la matriz de ponderacion P=[x;b];
%Ingresamos una matriz de pesos sinapticos aleatorios [-1 1]
y un %bias para los pesos Wo=[0.8;0.5;-2]; %w1= 0.8, w2=0.5 y el bias de los pesos b=-2 %estos valores se pueden ajustar y cambiar, se inicializan aleatroiamente %Defifnimos el numero de epocas iter=10;
%comenzamos el entrenamiento
for epocas=1:iter %repitiendo codigo 10 veces
ep=0; %alamcene el numero de errores que comente la red for i=1:length(P) % Repetir de 1 hasta 4 a=hardlim(Wo'*P(:,i)); %Generar la respuesta e=y(i)-a; %error de lared de perceptron salida deseada - salida de la red
“Formando líderes para la construcción de un nuevo país en paz”
Universidad de Pamplona Pamplona - Norte de Santander - Colombia 1 Tels: (7) 5685303 - 5685304 - 5685305 - Fax: 5682750 SC-CER96940 www.unipamplona.edu.co Wo=Wo+e*P(:,i); % calculamos los nuevos pesos sinapticos if e>0 || e<0 ep=ep+1 end end if ep==0; break; end end %Representamos los pesos W=[Wo(1) Wo(2)] %representamos la bias b=Wo(3) %cantidad de errores cometidos ep
%graficar el patron plotpv(x,y)
%Para graficar la frontera de decision usamos la funcion
plotpc plotpc(W,b)
“Formando líderes para la construcción de un nuevo país en paz”
Universidad de Pamplona Pamplona - Norte de Santander - Colombia 2 Tels: (7) 5685303 - 5685304 - 5685305 - Fax: 5682750 SC-CER96940 www.unipamplona.edu.co “Formando líderes para la construcción de un nuevo país en paz” Universidad de Pamplona Pamplona - Norte de Santander - Colombia 3 Tels: (7) 5685303 - 5685304 - 5685305 - Fax: 5682750 SC-CER96940 www.unipamplona.edu.co