Professional Documents
Culture Documents
Inteligencia Artificial
Ejemplo 2.- Compuerta OR de dos entradas binarias X1 0 0 1 1 Solucin
clc P=[1 1 0 0;1 0 1 0]; % patrn de entrada T=[1 1 1 0]; % patrn de salida Plotpv(P,T); net = newp([0,1;0 1], 1,'hardlim','learnp'); % No es necesario especificar %'hardlim','learnp', las toma por defecto % newp([matriz de valores mnimos y mximos de las entradas], Nmero de neuronas, Funcin %de Transferencia, Regla de Aprendizaje) net.IW{1,1}=[rands(1) rands(1)]; % Tambin puede ser net=init(net); net.b{1}=rands(1); net.trainParam.epochs = 20; % Nmero mximo de pocas net.trainParam.goal = 0; % Error admisible [net, tr, Y, E] = train(net, P, T) S= sim(net, P) disp('Los pesos son: ') W= net.IW{1} % se presentan los pesos sinpticos de la red disp('El umbral es: ') b=net.b{1} % se presenta el sesgo de la red disp('El error final es: ') E= mae(S-T) % se presenta el error absoluto medio. mse nos da el error cuadrtico medio
X2 0 1 0 1
d 1 1 1 0
Un resultado es: Los pesos son: W = 1.6162 0.9713 El umbral es: b = -0.7028 El error final es: E = 0 La arquitectura de la red neuronal es:
Inteligencia Artificial
La ecuacin de la recta de separacin es: Se puede visualizar los patrones y la recta de separabilidad
P=[1 1 0 0;1 0 1 0]; % patrn de entrada T=[1 1 1 0]; % patrn de salida plotpv(P,T); % Grafica los patrones hold on; %mantiene la figura plotpc(W,b); % Grafica la recta de separabilidad
Obteniendo
Una vez obtenido, es posible la implementacin en cualquier lenguaje de programacin, utilizando la ecuacin:
Comprobando con matlab, por ejemplo para el patrn X=[1;1] >> X=[1;1]; >> Y=hardlim(W*X) Y= 1
Ejemplo 3.- Escriba un programa MATLAB para la red perceptron de una funcin AND con dos entradas binarias y salidas. X1 0 0 1 1 X2 0 1 0 1 d 0 0 0 1
Inteligencia Artificial
Solucin
clc X=[1 1 1 1;0 0 1 1;0 1 0 1]; Yd=[0 0 0 1]; W=rand(3,1); alpha=0.5 Neta=W'*X Yred=escalon(Neta); N=50; for i=1:N Neta=W'*X; Yred=escalon(Neta); Waux=W'+alpha*(Yd-Yred)*X'; W=Waux'; Error=Yd-Yred; if sum((Error.^2))==0 break; end; end; Neta=W'*X; Yred=escalon(Neta); disp('La salida final de la red neuronal es') disp(Yred) disp('Numero de pocas realizadas') disp(i) disp('Los pesos finales son') W disp ('El bias final es') W(1,:)
function out=escalon(in) for i=1:4 if in(i)>=0 out(i)=1; else out(i)=0; end; end;
Actividad
1. Sobre una cinta transportadora circulan naranjas y melones. Se busca obtener un clasificador de frutas que facilite su almacenamiento. Para cada fruta se conoce su dimetro, en centmetros y su intensidad de color naranja, medida entre 0 y 255 Ejemplos Naranjas ={(10,200);(8,150);(7,170);(15,250)} Meln ={(20,30);(26,30);(24,32);(19,31)}
Inteligencia Artificial
a) Obtenga los pesos que clasifiquen las frutas. Ingresando los patrones de manera secuencial Ingresando los patrones de manera alternada b) Implemente en un lenguaje de programacin 2. Una agencia de modelos public los resultados de la ltima seleccin de postulantes. En ella se haban presentado seis mujeres. Cada una de ellas ha sido caracterizada slo por su peso y altura. El resultado fue el siguiente: Aceptadas={(52,1.79);(53,1.81);(55,1.75)} Rechazadas={(65,1.70);(68,1.65);(58,1.71)} a) Obtenga los pesos correspondientes que permiten la seleccin adecuada. b) Cul sera la respuesta del perceptrn de a) si se presentaran estas postulantes: {(56,1.73);(70,1.60);(45,1.80)} c) Implemente utilizando un lenguaje de programacin
3. Implemente en un lenguaje de programacin, todos los ejercicios anteriores y que muestre grficamente la separabilidad lineal.