You are on page 1of 25

UNIVERSIDAD CATLICA SANTA MARA

FACULTAD DE CIENCIAS E INGENIERAS FSICAS Y


FORMALES

PROGRAMA PROFESIONAL DE INGENIERIA ELECTRONICA

CURSO:
INTELIGENCIA ARTIFICIAL II

TEMA:
INFORME FINAL 1

ALUMNO:
CYRAN LLAMOSAS, Paulo

PROFESOR:
ALEX CARTAGENA GORDILLO

AREQUIPA - PERU
2015
I. OBJETIVOS

Entender y comprobar los principios bsicos de la operacin de las redes neuronales


artificiales.
Aplicar las redes neuronales a la solucin de problemas de clasificacin.

II. MARCO TERICO

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

III. CUESTIONARIO PREVIO:

Tomando como base la documentacin de MATLAB, responda las siguientes preguntas:

1. Cmo se entrena una red neuronal para que unas entradas nos lleven a ciertas salidas?

Las entradas de la red tienen asociadas funciones de procesamiento. Las funciones de


procesamiento transforman los datos de entrada del usuario en una forma que es ms fcil
o ms eficiente para la red.
Similarmente las salidas de la red tambin tienen asociadas funciones de procesamiento, las
funciones de procesamiento de salida son usadas para transformar el objetivo establecido
por el usuario para el uso de la red. Luego las salidas de la red son procesadas inversamente
usando las mismas funciones para producir datos con las mismas caractersticas que las
establecidas por el usuario.

2. En qu reas se empelan las redes neuronales?

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.

3. De qu maneras se puede usar el Neural Network Toolbox?

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.

4. Qu tareas se pueden realizar a travs de la interfaz grfica de usuarios?

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

5. Cul es la aplicacin de las redes neuronales artificiales en la industria?

Se aplican en procesos de clasificacin, de reconocimiento de patrones, en sistemas no


lineales complejos.

6. Cul es el uso de las redes neuronales artificiales en la manufactura?

ltimamente est tomando ms fuerza la idea de suplir a los humanos en actividades


riesgosas, una de las lneas de investigacin se enfoca a la llamada inteligente con la que es
posible fabricar diferentes productos sin que se tenga que cambiar el hardware o celdas de
manufactura, pero lo ms importante es que se realiza prcticamente sin la operacin de una
persona en la estacin de trabajo.

7. Cul es la aplicacin de las redes neuronales artificiales en la robtica?

Para la automatizacin de procesos se requiere de tecnologa similar a la inteligencia artificial


a fin de que los robots que estn en la lnea de produccin tengan la capacidad de identificar
materiales y formas de trabajo de acuerdo con el producto que se requiera hacer.

8. Cules son los pasos para disear redes neuronales artificiales?

- Definir el problema, esto es declarar las entradas y los objetivos.


- Usar la interfaz de redes neuronales de matlab.
- Seleccionar la aplicacin de la red.
- Repartir el porcentaje de los datos a ser entrenados, validados y verificados.
- Decidir el nmero de capas ocultas de la red.
- Entrenar la red.

9. Cules son las bases de datos disponibles en MATLAB para el uso del Toolbox de redes
neuronales?

Para ajuste y aproximacin tiene: Estimacin de precio de casas


Para reconocimiento y clasificacin: Clasificacin de cangrejos, de vinos, deteccin de cncer
y reconocimiento de caracteres.
Para agrupamiento: Agrupamiento de iris, Anlisis de expresin de genes.
Para modelamiento y prediccin: Modelado de Maglev.

IV. MATERIALES Y/O EQUIPO A UTILIZAR

Computadores
MATLAB
SIMULINK
DESARROLLO DE LA PRCTICA

1. Ajuste de datos con una red neuronal


En la ventana de comandos de MATLAB escriba nnstart y seleccione la opcin para la realizacin
de una aproximacin de funcin y ajuste de curva.

Empleando la base de datos Engine, realice el proceso de ajuste de curva

Explique en detalle todo el proceso y resultados

Poniendo el comando nnstart en el prompt de Matlab nos aparece la siguiente ventana.

>>nnstart

Luego seleccionamos la opcin de Input-output and curve fitting:FittingTool.

Nos aparecer la siguiente ventana


Hacemos clic en Next

Luego importamos los datos seleccionando Load Example data Set


A continuacin elegimos la data engine y luego hacemos clic en Import para importar los datos o
muestras con las que vamos a trabajar.

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

Mean Squared Error (mse)


5
10

4
10

3
10

2
10
0 10 20 30 40 50
58 Epochs

La siguiente grafica muestra la gradiente, la constante mu y en que poca se lograron 6 checks de


validacin.
Aqu se muestra en un grfico de barras el porcentaje de datos que han sido entrenados, validados y
testeados

Error Histogram with 20 Bins


1400
Training
Validation
1200
Test
Zero Error
1000
Instances

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

Output ~= 0.99*Target + -1.2


1600 Data 1600

Output ~= 0.99*Target + 5.8


Fit Fit
1400 1400
Y=T Y=T
1200 1200
1000 1000
800 800
600 600
400 400
200 200
0 0

0 500 1000 1500 0 500 1000 1500


Target Target

Test: R=0.99631 All: R=0.99615

Data Data

Output ~= 0.99*Target + 5.3


1600 1600
Output ~= 0.99*Target + 10

Fit Fit
1400 1400
Y=T Y=T
1200 1200
1000 1000
800 800
600 600
400 400
200 200
0 0

0 500 1000 1500 0 500 1000 1500


Target Target

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.

Empleando la base de datos de cncer de mamas, realice el proceso de reconocimiento de patrn

Explique en detalle todo el proceso y resultados

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.

Poniendo en el prompt de matlab el comando:

>>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.

Separando la base de datos en 2 partes 90% y 10%.

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];

El porcentaje de error que nos salio fue de 1.42857.

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

Explique en detalle todo el proceso y resultados.

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


Explique en detalle todo el proceso y resultados.

En el prompt de matlab ponemos el comando.


>>nnstart

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.

Existiendo 4 elementos en cada vector de entrada, entonces el espacio de entrada es de 4


dimensiones.
SOM Topology

-1
0 2 4 6 8 10

La segunda opcin es la de SOM Neighborconections:

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.

SOM Neighbor Connections

-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.

SOM Neighbor Weight Distances

-1
0 2 4 6 8 10

La cuarta opcin es SOM Input planes

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

Weights from Input 3 Weights from Input 4

8 8

6 6

4 4

2 2

0 0

0 2 4 6 8 10 0 2 4 6 8 10

La quinta opcin es SOM Sample Hits:

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

VI. CUESTIONARIO FINAL

1. Cules son las diferencias entre los procesos realizados?

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.

2. Cmo afectan la variacin de parmetros en los proceso realizados?

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

- MATLAB resulto en un potente software ya que adems de este solo en el software


Python se pueden simular las redes neuronales y en esta ocasin quedo comprobado al
modelar el comportamiento de lo que son las redes neuronales ofreciendo opciones
tambin graficas amigables y ms fciles de entender para el usuario y poder ampliar las
opciones de modelado al poder ayudarse del espacio de trabajo de matlab y poder
manipular de una mejor manera las matrices de entrada y los objetivos como se hizo en
el caso de separar el 10% de los datos para su posterior anlisis.

- Como herramienta de anlisis y para comprobar la efectividad de una red y si llega a


satisfacer los requerimientos del diseador tenemos adems distintos tipos de graficas
ofrecidas por matlab para evaluar ciertos parmetros de la red grficamente y poder
tener a la mano ms caractersticas de la red que estamos diseando.

- 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.

VIII. REFERENCIAS EMPLEADAS PARA EL DESARROLLO DE LA PRCTICA

- 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

You might also like