Está en la página 1de 6

13290410 1

Adrin Manuel Lpez Almejo,


Practica 1: Clasificacin
Instituto Tecnolgico de de
Ciudadpatrones
Guzmn, en R2 y R3
Ing. Electrnica.
usando redes neuronales
IA Neuronal. 13290410. en Matlab.

dispositivo simple de clculo que ante un vector de entradas
proporciona una nica salida. [2]
OBJETIVO- En esta prctica, el principal objetivo es
comprender, analizar, y aplicar redes neuronales de una neurona,
con el fin de poder familiarizarse con el software de
implementacin Matlab, asi como la sentencias necesarias para su
aplicacin y los trminos empleados para describir el
funcionamiento de una red neuronal simple.

Palabras Clave- Red neuronal, Clasificacin, pocas,


Iteraciones, R2, R3.
FIG. 2. ESTRUCTURA BASICA DE UNA NEURONA

I. INTRODUCCION El modelo est compuesto por un vector de pesos


En las ltimas dcadas las Redes Neuronales Artificiales w=(w1...,wd)T equivalente a las conexiones sinpticas en una
(ANN) han recibido un inters particular como una tecnologa neurona real, w0 es el umbral de accin o activacin, el vector
para minera de datos, puesto que ofrece los medios para x es la entrada y el escalar y la salida de la unidad. La
modelar de manera efectiva y eficiente problemas grandes y actividad consiste en generar una nica salida y a partir de la
complejos. Los modelos de ANN son dirigidos a partir de los aplicacin de la funcin de activacin a la suma ponderada
datos, es decir, son capaces de encontrar relaciones (patrones) entre el vector de entrada x=(x 1xm)T y el vector de pesos
de forma inductiva por medio de los algoritmos de aprendizaje w=(w1...,wd)T ms un sesgo w0, obtenindose la siguiente
basado en los datos existentes ms que requerir la ayuda de un expresin:
modelador para especificar la forma funcional y sus
interacciones.

ESTRUCTURA DE UNA NEURONA


Una neurona es la unidad bsica de la red. La podemos
describir comparndola con una neurona biolgica, ya que el Donde es una funcin no-lineal. La funcin propuesta por
funcionamiento ser similar. [3] McCulloch-Pitts posee una salida binaria 1 conocida como la
funcin de todo o nada que equivale a la funcin signo dada
por

Otra funcin con salida binaria es la funcin escaln unitario


descrita por

Fig. 1. SIMILITUD Y REPRESENTACION DE NEURONAS

En la parte superior de la imagen vemos una neurona Cuando se consideran neuronas con respuestas de
biolgica, sta est formada por sinapsis, axn, dendritas y procesamiento gradual, entonces se pueden usar funciones de
cuerpo. En la parte inferior tenemos una neurona artificial que activacin de forma lineal (z)=z o de forma sigmoidal como
es una unidad de procesamiento de la informacin, es un la funcin logstica. [4]


Documento entregado para revisin el Lunes, 22 de marzo de 2016.

Adrin Manuel Lpez Almejo es estudiante de la carrera de Ingeniera


Electrnica en el Instituto Tecnolgico de Ciudad Guzmn, con nmero de
control 1329010. Email: mane22_95@hotmail.com
13290410 2

II. PROCEDIMIENTO
MATERIALES Y EQUIPO: 7. Agregar datos a manera de unos, aadindolos en
las lneas correspondientes como se muestra a
1. Computadora personal. continuacin. Correr el programa.
2. Software de MatLab.
P=[+1 +3 -0.5 -2 -3 -2.5 +20 +19;
El desarrollo de esta prctica consta de dos etapas +1 +1 +1 +1 +1 +1 +3 +2];
principales. T=[1 1 0 0 0 0 1 1];

En la primera, se trata de la clasificacin de patrones en R2, Observar los resultados arrojados en la grfica, asi como el
lo cual, puede interpretarse, como la clasificacin de datos en nmero de pocas que se arroja en la segunda ventana
un plano con dos dimensiones (x, y). desplegada.

En el segundo de los casos, se trata de la clasificacin de 8. Agregar dos datos a manera de uno con ubicacin
patrones en R3, lo cual, puede entenderse, como la distante a los colocados anteriormente y observar
clasificacin de datos en un plano que cuenta con tres que ocurre con la grfica desplegada, asi como con
dimensiones (x, y, z). el nmero de pocas, por medio del siguiente cdigo
en sus respectivas lneas. Correr el programa.

CLASIFICACIN DE PATRONES EN R2. P=[+1 +3 -0.5 -2 -3 -2.5 +20 +19 +55;


+1 +1 +1 +1 +1 +1 +3 +2 +53];
1. Abrir el software MatLab. T=[1 1 0 0 0 0 1 1 1]; %Graficar 0s y 1s
2. Crear un nuevo borrador en la ventana del editor.
3. Teclear el siguiente programa:

%CLASIFICACION DE PATRONES EN R2. CLASIFICACIN DE PATRONES EN R3.


clear all 1. Abrir el software MatLab.
P=[+1 +3 -0.5 -2; 2. Crear un nuevo borrador en la ventana del editor.
+1 +1 +1 +1]; 3. Teclear el siguiente programa:
T=[1 1 0 0]; %Graficar 0s y 1s
plotpv(P,T); %CLASIFICACION DE PATRONES EN R3
clc
net=newp([-1 1;-1 1],1); %Perceptron NA1=[0 0 0 0 1 1 1 1];
B1=[1 1 0 0 1 1 0 0];
plotpv(P,T);
C1=[0 1 0 1 0 1 0 1];
plotpc(net.IW{1},net.b{1});
net.trainParam.show=20; %Graficar cada 20 epocas t=[0 0 0 1 0 0 0 0];
net.trainParam.epochs=30; %Intentar que la neurona T=[NA1;B1;C1];
memorice 30 veces los datos web=newp([0 1;0 1;0 1],1);
net.trainParam.goal=0.01; %Error intuitivo, si se llega a web.trainParam.epochs=10;
este valor se detiene web.trainParam.goal=0;
net=train(net,P,T); %entrenamiento web=train(web,T,t);
plotpc(net.IW{1},net.b{1}); %Graficar resultado
pesosf=web.IW{1,1};
net.IW{1}
net.b{1} %muestre los pesos umbralf=web.b{1};
pause;
4. Correr el programa. plotpv(T,t)
5. Observar los resultados arrojados en la grfica hold on
desplegada. pause;
6. Agregar datos a manera de ceros, aadindolos en
plotpc(pesosf,umbralf)
las lneas correspondientes como se muestra a
continuacin. Correr el programa. view([2 4 10]);
grid
P=[+1 +3 -0.5 -2 -3 -2.5; punto1=[1;1;1]
+1 +1 +1 +1 0.5 0.5]; clasificacion=sim(web,punto1)
T=[1 1 0 0 0 0]; %Graficar 0s y 1s
4. Correr el programa.
Observar los resultados arrojados en la grfica, asi como el
nmero de pocas que se arroja en la segunda ventana
desplegada.
13290410 3

5. Dar doble ENTER en la ventana de comandos y Mediante la simulacin de cada uno de los puntos se
esperar a que se despliegue una grfica y una obtuvieron diferentes resultados, los cuales se presentan a
ventana. continuacin para cada uno de las partes en que se compone la
prctica.
6. Agregar un dato en el centro del prisma a manera de
cero, mediante la siguiente modificacin en las
respectivas lneas. Correr el programa. Dar doble CLASIFICACIN DE PATRONES EN R2
ENTER en la ventana de comandos Observar los
Con la aplicacin del primer programa, se obtuvo una grfica
resultados. como la que se muestra a continuacin:

NA1=[0 0 0 0 1 1 1 1 0.5];
B1=[1 1 0 0 1 1 0 0 0.5];
C1=[0 1 0 1 0 1 0 1 0.5];
t=[0 0 0 1 0 0 0 0 0];

7. Agregar un dato con coordenadas (-10, -10, 10) a


manera de uno, mediante la siguiente
modificacin en las respectivas lneas. Correr el
programa. Dar doble ENTER en la ventana de
comandos Observar los resultados.

NA1=[0 0 0 0 1 1 1 1 0.5 -10];


B1=[1 1 0 0 1 1 0 0 0.5 -10];
C1=[0 1 0 1 0 1 0 1 0.5 10];
t=[0 0 0 1 0 0 0 0 0 1];
En esta, puede observarse, como la neurona clasficapor medio
de una linea vertical, en la cual ubica los ceros en los
cuadrantes I y II, mientras que ubica los unos en los
8. Agregar un dato con coordenadas (-10, -10, 10) a cuadrantes I y IV.
manera de uno, mediante la siguiente
modificacin en las respectivas lneas. Correr el Asi mismo se observ, que a la neurona le tomaron dos pocas
programa. Dar doble ENTER en la ventana de para lograr la clasificacin de los datos.
comandos Observar los resultados.

NA1=[0 0 0 0 1 1 1 1 0.5 -10 10];


B1=[1 1 0 0 1 1 0 0 0.5 -10 10];
C1=[0 1 0 1 0 1 0 1 0.5 10 10];
t=[0 0 0 1 0 0 0 0 0 1 1];
Posteriormente se agregaron datos a manera de ceros,
9. Mediante la observacin de la grfica en R3, colocar para lo cual, la grfica resultante fue la mostrada a
un total de 16 datos, como se muestra a continuacin, asi como el numero de pocas que le
tomo a la neurona la clasificacin de los datos:
continuacin, los cuales deben de ser clasificados
correctamente por la neurona. Correr el programa y
dar doble ENTER en la ventana de comandos,
observar los resultados obtenidos.

NA1=[-1 -10 0 20 1 15 1 1 0.5 -10 10 5 4 -5 5 -5];


B1=[15 10 0 15 1 -15 0 0 0.5 -10 10 5 3 10 10 0];
C1=[-5 0 -5 10 0 -10 0 1 0.5 10 10 2 1 -2 -5 10];
t=[0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 1];

III. RESULTADOS
13290410 4

Como puede observarse en el grafico anterior, los puntos


anadidos fueron (-3,0.5) y (-2.5,0.5), por lo cual deben ser
representados a manera de ceros, debido a que se ubican del
Como se observa en el grafico, la linea que dividia los ceros
lado izquierdo del eje vertical.
de los unos tomo un grado considerable de inclinacion, debido
a la adicion de un numero distante a los anteriores. Asi mismo,
Para continuar, se agregaron datos a manera de unos,
se puede observar como fue masdificil para la neurona,la
para lo cual, la grfica resultante fue la mostrada a
clasificacion de los dato, la cual, en este caso fueron un total
continuacin, asi como el numero de pocas que le
de 12.
tomo a la neurona la clasificacin de los datos:

CLASIFICACION DE PATRONES EN R3.


Con la aplicacin del primer programa de la clasificacin de
patrones en R3, se obtuvo una grfica como la que se muestra
a continuacin:

Como puede observarse en el grafico anterior, los puntos En ella puede observarse la generacion de un plano en R3,
anadidos fueron (20,3) y (19,2), por lo cual deben ser asicomo los puntos ubicados n su interior, los cuales, se
representados a manera de unos, debido a que se ubican del encuentran distribuidos sobre y debajo de un plano de division
lado derecho del eje vertical. del prisma. Si un punto se encuentra por debajo de dicho
plano, el dato en cuertion se tratara entonces de un cero, y si
Para finalizar, se agrego un dato disperso a manera de este se encuentra por la parte de arriba, se tratara de un uno.
uno, con lo cual, se obtuvo l grafica siguiente:
13290410 5

Posteriormente se aadi un dato en el centro del


plano, para lo cual la grfica obtenida fue la
siguiente:

Como se puede observar, el nuevo punto aadido se encuentra


en el centro del espacio en R3, por debajo del plano, por lo
que la neurona debe clasificarlo entonces, como un cero.

Una vez finalizado el paso anterior, se procedi a


aadir un punto con coordenadas (-10, -10, 10), con
lo cual se obtuvo la siguiente grfica:

En las grficas se muestran los unos y los ceros, desde una


vista superior e inferior al plano, respectivamente. Como
puede verse, los dos unos colocados mas recientemente
residen en la parte superior del plano, mientras que los ceros
residen en la parte inferior, por lo que el sistema clasific
correctamente.

Por ultimo, se aadieron un total de 16 datos, para su


clasificacion, los cuales se muestran a continuacin:

Como era de esperarse, el nuevo punto, el cual se encuentra


ubicado sobre el plano, fue clasificado como un uno, por lo
cual, la neurona esta clasificando correctamente.

Posteriormente, se procedi a anadir un punto con


coordenadas (10, 10, 10), con lo cual se obtuvo la
siguiente grfica:
13290410 6

Como se puede presagiar, las redes neuronales son una


herramienta muy til en cuanto a la clasificacin de patrones
se refiere, asi como en el reconocimiento de voz y texto, lo
cual, puede llegar a tener un amplio campo de aplicacin.
Aunque en estos ejemplos se usaron redes neuronales muy
sencillas, puede darnos una idea del gran potencial que una red
neuronal puede llegar a tener, asi como de las aplicaciones qe
a este se le pueden llegar a dar.

V.BIBLIOGRAFA

[1] [En lnea].


[2] I. B. L. Takeyas, http://www.itnuevolaredo.edu.mx, Ing.
Bruno Lpez Takeyas , 16 Febrero 2006. [En lnea].
Available: http://www.itnuevolaredo.edu.mx/takeyas.
[ltimo acceso: 18 Marzo 2017].
[3] G. Sotolongo, http://www.bvv.sld.cu/, 2001. [En lnea].
Available:
http://www.bvv.sld.cu/docs/documentos/Sotolongo3.pdf.
[ltimo acceso: 18 Marzo 2017].
[4] R. Salas, http://s3.amazonaws.com, Marzo 2009. [En
lnea]. Available:
http://s3.amazonaws.com/academia.edu.documents/374296
71/Redes_Neuronales_Artificiales.pdf?
AWSAccessKeyId=AKIAIWOWYYGZ2Y53UL3A&Expi
res=1490047312&Signature=0boahU4bACA4uhgW4N4b
BpQx0Ss%3D&response-content-disposition=inline%3B
%20filename%3DRedes_Neuronales_. [ltimo acceso: 19
Asi, fue posible comprobar que la neurona clasifico los datos Marzo 2017].
correctamente, en un numero corto de epocas, lo que habla de
la eficiencia de nuestro sistema.

IV. CONCLUSIONES

Como resultado de la prctica realizada a cerca de la


clasificacin de patrones en R2 y R3, fue posible, para un
servidor, comenzar la generacin de dudas y de
familiarizacin con el software y los comandos empleados
para la generacin de redes neuronales aplicables a la vida
real.

De igual manera, es importante reconocer algunos de los


conceptos que fueron empleados en la prctica, tales como las
pocas, las cuales se refieren al nmero de iteraciones
realizadas por la neurona para lograr clasificar la totalidad de
los datos. Mientras menor sea el numero de pocas, mayor
ser la velocidad con la que nuestro sistema haya clasificado
los datos, sin embargo, esto no significa que los datos hayan
sido clasificados correctamente, ya que este factor depende de
la calidad de nuestra neurona o nuestra red neuronal.