Beruflich Dokumente
Kultur Dokumente
20104509A
20101133K
Especialidad de Ingeniera Mecatrnica
Facultad de Ingeniera Mecnica
-1
-1
-1
-1
-1
1
1
-1
-1
TRN de Matlab.
Cdigo puro (Algoritmo)
Solucin:
Para resolver el problema planteado se recurrir a la teora de reconocimiento de
patrones utilizando dos redes ADALINE (Adaptive Linear Element) debido a la naturaleza
del problema. De esta manera se usarn dos neuronas ya que cada una de estas tiene
slo dos posibles soluciones, luego se proceder a combinar estas redes para poder
generar 4 clases, de modo que ante cualquier entrada esta pueda ser clasificada dentro
de una de las 4 posibles regiones.
P1
-1
-1
1
1
P2
-1
1
-1
1
P3
-1
1
1
-1
P4
-1
1
-1
-1
T1
-1
-1
1
1
T2
-1
1
-1
1
Clase
A
B
C
D
Tabla 1
a) Utilizando Toolbox de redes neuronales de Matlab (TRN) :
Se crearn las redes neuronales net y net2, independientes una de la otra, con la
funcin newlin. Adems se asignarn valores iniciales aleatorios a los pesos y a los bias.
net=newlin(P,T1,ID,LR); net2=newlin(P,T2,ID,LR);
Wo=randn(1,4);
tho=randn(1,1);
net.iw{1,1}=Wo;
net.b{1}=tho;
Luego se establece el nmero de pocas lmite de entrenamiento para cada red (300
en este caso); sin embargo, el desempeo deseado puede alcanzarse en un nmero de
pocas menor.
net.trainParam.epochs=300;
net.trainParam.goal=0.1;
net=train(net,P,T1);
net2.trainParam.epochs=300;
net2.trainParam.goal=0.1;
net2=train(net,P,T2);
Una vez finalizado el entrenamiento se evala el error comparando los targets y las
salidas obtenidas, resultado de aplicar la funcin hardlims (debido a la data bipolar) a las
salidas de la unidad adaline (combinador adaptativo lineal).
Y=hardlims(sim(net,P));Y2=hardlims(sim(net2,P));
e=T1-Y;
e2=T2-Y2;
1.3514
-0.2248
-0.5890];
Xi=[1
-1
-1
-1];
Yi1=round(sim(net,Xi)); %resultado red1
Yi2=round(sim(net2,Xi));%resultado red2
Ntese que se usa una funcin de activacin purelin que puede ser opcional, ya que
sta slo se indica para mantener similitud estructural respecto a una neurona real.
Finalmente se obtiene el vector de pesos final luego de 1000 iteraciones y se
comprueba que el error mse es igual a cero:
Al igual que en el caso anterior, el algoritmo obtiene una respuesta de 1 para Yi1 y
-1 para Yi2, lo que significa que se clasifica a la entrada intrusa dentro de la clase C.
Grfica de clases:
Para el caso de la primera red, la matriz de entrada mostrada en la tabla de la Tabla 1
puede representarse grficamente de modo que para un valor de entrada -1 se muestre
un pixel de color blanco y para un valor de entrada 1 se muestre un pixel de color rojo si
la salida (T1) de dicho vector de entrada es igual a -1 o un color cyan si dicha salida es
igual a 1.
En el caso de la segunda red el principio ser el mismo, pero si un valor de entrada
es igual a 1 se mostrar de color verde si la salida correspondiente (T2) a ese vector de
entrada es igual a -1, o de color magenta si dicha salida es igual a 1.