Professional Documents
Culture Documents
CURSO:
INTELIGENCIA ARTIFICIAL II
TEMA:
INFORME FINAL 1
ALUMNO:
CYRAN LLAMOSAS, Paulo
PROFESOR:
ALEX CARTAGENA GORDILLO
AREQUIPA - PERU
2015
I. OBJETIVOS
Los alumnos deben estudiar el contenido de las clases tericas as como revisar la documentacin
de ayuda de MATLAB para la realizacin de esta prctica
1. Cmo se entrena una red neuronal para que unas entradas nos lleven a ciertas salidas?
Las redes neuronales son buenas para ajustarse a funciones. De hecho hay pruebas que una
red neuronal bastante simple puede adaptarse a cualquier funcin prctica.
Se aplica tambin donde haya objetivos desconocidos que pueden ser representados con
valores NaN. Todas las funciones de interpretacin de la caja de herramientas ignoraran esos
objetivos para efectos de calcular el rendimiento.
De distintas maneras por ejemplo en la hoja de trabajo de matlab con solo poner nnstart se
nos iniciara la interfaz de redes neuronales, dando opcin para elegir la aplicacin de la red
neuronal que vamos a crear, puede ser por ejemplo para reconocimiento de patrones se
pondra en la hoja de trabajo patternnet.
Elegir la aplicacin que le daremos a la red neuronal que puede ser Ajuste de curva de
entradas-salidas, reconocimiento de patrones, clasificacin, agrupamiento o series de tiempo
dinmico. En cualquiera de estas opciones la interfaz nos permite seleccionar las entradas,
los objetivos y que porcentaje de los datos se usaran para entrenamiento, validacin y
verificacin
9. Cules son las bases de datos disponibles en MATLAB para el uso del Toolbox de redes
neuronales?
Computadores
MATLAB
SIMULINK
DESARROLLO DE LA PRCTICA
>>nnstart
Luego de hacer clic en Import nos aparecer la ventana anterior y si nos fijamos en la parte derecha
dice Summary, aqu nos indicara las filas y columnas de la matriz de entrada, en este caso es de
2x199. Luego hacemos clic en Net.
Seguidamente nos aparecer otra ventana donde se aplicara una validacin y un test a la data
cargada. Adems podemos elegir el porcentaje de los datos que sern validados y los que sern
entrenados, hacemos clic en Next. En este caso lo dejaremos como aparece por defecto:
Entrenamiento 70 %, validacin 15 % y testeo 15%.
La siguiente ventana nos permite cambiar el nmero de neuronas escondidas, es decir el nmero
de neuronas que habr aparte de las neuronas de entrada y salida. Elegimos el valor por defecto
que es 10. Tener en cuenta que al aumentar el nmero de neuronas escondidas se aumenta la
precisin al obtener el resultado. Finalmente hacer clic en Next para crear la red neuronal.
Presionamos en Train para entrenar nuestra red neuronal de acuerdo a los paremetros
establecidos previamente.
Nos aparecer una nueva ventana con el diagrama de bloques de la red en la parte superior
seguido de la especificacin de los algoritmos usados para el entrenamiento, ms abajo se
muestra el progreso y luego una serie de opciones de grficas para visualizar el comportamiento
de la red.
Por ejemplo si queremos observar la performance de la red con los parmetros que hemos
seleccionado. En este caso la mejor performance se da en la poca 52 con un error de valor
cuadrtico medio de 3612.1356
Best Validation Performance is 3612.1356 at epoch 52
6
10
Train
Validation
Test
Best
4
10
3
10
2
10
0 10 20 30 40 50
58 Epochs
800
600
400
200
0
43
-313.5
-262.6
-211.7
-160.7
-109.8
-58.86
-7.932
93.93
144.9
195.8
246.7
297.7
348.6
399.5
450.4
501.4
552.3
603.2
654.2
Errors = Targets - Outputs
La siguiente grafica de regresin muestra las salidas de la red con respecto a los objetivos para los
conjuntos de entrenamiento, validacin y pruebas. Para un ajuste perfecto los datos deben estar a
lo largo de una lnea de 45, donde las salidas de la red son iguales a los objetivos.
Training: R=0.99672 Validation: R=0.99339
Data
Data Data
Fit Fit
1400 1400
Y=T Y=T
1200 1200
1000 1000
800 800
600 600
400 400
200 200
0 0
2. Reconocimiento de patrn
En la ventana de comandos de MATLAB escriba nnstart y seleccione la opcin para la realizacin
de un reconocimiento de patrn.
Separe la base de datos en 2 partes (90% y 10%) de manera que quede una parte como nuevas
entradas y luego compruebe que el reconocedor de patrn funciona tal y como debe.
>>nnstart
Hacemos clic en la segunda opcin PatternRecognitionTool, nos aparecer la siguiente ventana
donde nos aparece el esquema de la red neuronal, hacemos clic
Seguidamente se nos mostrara la ventana para seleccionar la data y escogemos la opcin de Load
Example Data Set, al hacer esto se nos abre otra ventana con el tipo de data que se cargara para la
red.
Seleccionamos la opcion Impor para importar los datos a matlab y permitir poder visualizar la
matriz y poder cambiarla si es necesario.
Primero calculamos el 10% del total de los datos ingresados que son 699.
10% de 699=69.9=70
Entonces tenemos que separar 70 muestras de la matriz original y cambiarle de nombre para
despus poder ingresarla a la red neuronal para ser entrenada.
Programa para entradas, luego se tienen que volver a ingresar para volver a entrenar con el 10%,
es decir con C2.
C1=cancerInputs(1:9,1:629);
C2=cancerInputs(1:9,630:699);
cancerInputs=[C1,C2];
Programa para objetivos, luego se tienen que volver a ingresar para volver a entrenar con el 10%,
es decir con T2
T1=cancerTargets(1:2,1:629);
T2=cancerTargets(1:2,630:699);
cancerTargets=[T1,T2];
3. Agrupamiento
En la ventana de comandos de MATLAB escriba nnstart y seleccione la opcin para la realizacin
de un reconocimiento de patrn.
Empleando la base de datos de flores Iris, realice el proceso de agrupamiento
Nos aparecer la siguiente ventana y luego hacemos clic en donde dice ClusteringTool
(herramienta de agrupamiento).
A continuacion se nos abre la ventana de bienvenida de las redes neuronales, hacemos clic en next.
Despus seleccionamos la data con la que vamos a trabajar, para esto en la ventana de select data
hacemos clic donde dice load example data set y cargamos los datos de flores Iris. Luego hacemos
clic en Import.
Para comprobar que los datos que cargamos fueron los correctos a la derecha vemos el nombre de la
matriz y su respectivo tamao. Hacemos clic en Next.
Seguidamente matlab nos mostrara la arquitectura de la red y las capas ocultas que por defecto
son 10. Hacemos clic en Next para crear la red neuronal con las caractersticas especificadas. Nos
saldr la ventana para entrenar la red, para esto hacemos clic en Train.
Al entrenar la red nos salen los parmetros de la red y diferentes tipos de graficas para ver el
comportamiento de la red.
La primera opcin que nos presenta es la grfica de SOM Topology.
En esta grafica vemos una gran cantidad de clusters formando una red bidimensional esto
corresponde a la topologia propia de los mapas de auto organizacin donde los pesos o
representantes de cada grupo estan correlacionados espacialmente de manera que los puntos
mas proximos son mas parecidos entre si que los que estan muy separados.
Ademas en la figura cada hexagono representa una neurona, la matriz de esta red en este caso
seria de 10 x 10 donde el numero 10 indica el numero de neuronas ocultas.
-1
0 2 4 6 8 10
Aqu se grafica una capa con topologa SOM mostrando las neuronas en un color azul grisceo y
las relaciones con sus vecinos directos representadas con lneas rojas.
-1
0 2 4 6 8 10
La tercera opcin es SOM NeighborDistances:
Las lneas rojas conectan a las neuronas vecinas y los colores que contienen las lneas rojas indican
la distancia entre neuronas, los colores ms oscuros representan distancias ms largas y los
colores ms claros representan pequeas distancias. La red de mapas de auto organizacin a
agrupado las flores en 2 grupos distintos.
-1
0 2 4 6 8 10
En esta figura se visualiza los niveles de los pesos para cada elemento del vector de entrada.
Los pesos conectan cada entrada con cada neurona (colores oscuros representan pesos ms
largos). Si los patrones de conexin son similares se puede asumir que las entradas estn
correlacionadas.
Weights from Input 1 Weights from Input 2
8 8
6 6
4 4
2 2
0 0
0 2 4 6 8 10 0 2 4 6 8 10
8 8
6 6
4 4
2 2
0 0
0 2 4 6 8 10 0 2 4 6 8 10
Para el entrenamiento de mapas de auto organizacin el vector de pesos asociado con cada neurona
se mueve al centro del agrupamiento de los vectores de entrada. Adems las neuronas adyacentes
en la topologa se mueven cerca en el espacio de entrada, de esta manera es posible visualizar las
dimensiones de las entradas en una topologa de dos dimensiones.
Hits
8
1 1 1 1 1 1 2 1 0 1
7 1 3 1 1 3 1 2 3 0 1
6 2 1 1 0 1 1 0 7 1 3
3 1 1 1 1 1 3 2 2 1
5
1 1 2 3 2 1 1 1 1 1
4
1 2 0 2 1 1 1 0 3 1
3
1 3 2 0 2 2 0 2 6 3
2
2 3 2 2 1 5 0 1 2 3
1 1 1 0 0 1 0 1 1 1 1
0 2 3 3 2 0 2 0 1 1 2
-1
0 2 4 6 8 10
Que cada paso realizado se bas en una aplicacin de las redes neuronales, el primero por
ejemplo estaba dado para ajuste, el segundo para reconocimiento de patrones y el ultima
para agrupamiento y en cada una de estas aplicaciones se encontr que las matrices
asignadas a las entradas y a los objetivos son distintas ya que depende de la aplicacin y de
las caractersticas que esta tenga.
Puede variar en la efectividad que posea la red, cambiar un parmetro puede resultar
fundamental y crtico, el hecho de variar un parmetro como lo es el nmero de capas
ocultas har que el proceso de entrenamiento sea ms largo o ms pequeo y se hagan ms
o menos iteraciones para que la red pueda llegar a un estado ptimo.
VII. CONCLUSIONES
- Los ejemplos que ya trae matlab con casos incluso aplicados en la industria como lo son
el reconocimiento de caracteres, control predictivo de un reactor, referencia de control
de un brazo mecnico, o en el campo de la medicina como lo es la deteccin de cncer
nos ayudan a tener en mente en que se puede aplicar este tipo de tcnica y que clase de
problemas pueda resolver.
Nos ayuda a ver que las redes neuronales se pueden aplicar en gran variedad de campos
solo es cuestin que el diseador tenga la suficiente creatividad para tener la visin de
donde aplicarlo y como para poder resolver un problema comn de la vida diaria o que
pueda llegar a salvar muchas vidas.
- Se comprob que los sistemas ms idneos para aplicarles redes neuronales son los no
lineales ya que la primera opcin que ofrece la interfaz grfica es la del ajuste de curvas
usando error cuadrtico medio y ofreciendo la posibilidad de ver el ajuste de la curva
hecha y ver el valor de la desviacin en dicho caso.
- MATLAB
- https://books.google.com.pe/books?id=gilYI9_KKAoC&pg=PA1098&lpg=PA1098&dq=red
es+neuronales+en+manufactura&source=bl&ots=mo7MwWuyLE&sig=lmYpcfdDqQIPgef
efZ53IE_j3eo&hl=es-
419&sa=X&redir_esc=y#v=onepage&q=redes%20neuronales%20en%20manufactura&f=f
alse
- http://www.conversion21.com/index.php/e-servicios-mainmenu-29/7163-unidad-
saltillo-del-cinvestav-trabaja-con-redes-neuronales-para-aplicarlos-en-lineas-
manufactureras