Redes Neuronales t

14
Introducción a Redes Neuronales. Neural Networks Toolboox de Matlab José Jaime Martínez M. Camilo E. Montes N. Luis Sierra M. Universidad del Magdalena Programa de ingeniería electrónica. Redes Neuronales. Las redes neuronales artificiales son un conjunto de técnicas perteneciente al campo de la inteligencia artificial. Su estructura consiste en una red formada por nodos (o neuronas) y conexiones, razón por la cual se asemejan al cerebro de los seres humanos, del cual procede su nombre. Las redes neuronales artificiales han surgido como un intento de desarrollar sistemas que emulen estas características del cerebro De esta forma podemos definir a las redes neuronales artificiales (RNA) como modelos matemáticos o computacionales inspirados en sistemas biológicos, adaptados y simulados en computadoras convencionales Las características más importantes de las RNA son: 1. Habilidad de Aprendizaje. Las RNA pueden modificar su comportamiento en respuesta al medio ambiente.

Transcript of Redes Neuronales t

Page 1: Redes Neuronales t

Introducción a Redes Neuronales.Neural Networks Toolboox de Matlab

José Jaime Martínez M.Camilo E. Montes N.

Luis Sierra M.Universidad del Magdalena

Programa de ingeniería electrónica.

Redes Neuronales.

Las redes neuronales artificiales son un conjunto de técnicas perteneciente al campo de la inteligencia artificial. Su estructura consiste en una red formada por nodos (o neuronas) y conexiones, razón por la cual se asemejan al cerebro de los seres humanos, del cual procede su nombre.

Las redes neuronales artificiales han surgido como un intento de desarrollar sistemas que emulen estas características del cerebro De esta forma podemos definir a las redes neuronales artificiales (RNA) como modelos matemáticos o computacionales inspirados en sistemas biológicos, adaptados y simulados en computadoras convencionales Las características más importantes de las RNA son:

1. Habilidad de Aprendizaje. Las RNA pueden modificar su comportamiento en respuesta al medio ambiente.

2. Generalización. Una vez entrenada, una RNA es, hasta cierto grado, insensible a variaciones pequeñas en sus entradas. Esto es, las RNA producen sistemas capaces de manejar el mundo "imperfecto" en que vivimos.

3. Abstracción. Algunas RNA son capaces de abstraer la esencia de una serie de entradas. Se pueden abstraer patrones perfectos de modelos distorsionados.

Page 2: Redes Neuronales t

La capacidad de cálculo y potencia de la computación neuronal proviene de las múltiples conexiones de las neuronas artificiales que constituyen las redes ANN.

La red más simple es un grupo de neuronas ordenadas en una capa como se muestra en la Figura (1). Los nodos circulares sólo son distribuidores de las entradas y no se consideran constituyentes de una capa.

Figura 1: Red con una capa.

Modelo computacional.El elemento más básico del cerebro es la neurona, la cual por si sola no hace mucho pero juntamos millones de ellas entonces se vuelven poderosas El modelo computacional de una neurona artificial es una imitación del proceso de una neurona biológica.

Modelo desglosado de la neurona La neurona está constituida por: lazos sinápticos (X*W), mezclador lineal (U) y una función de activación (TF).

Función de TransferenciaEs quizás la característica principal de las neuronas, la que mejor define el comportamiento de la misma. Se encarga de calcular el nivel o estado de

Page 3: Redes Neuronales t

activación de la neurona en función de la entrada total.

Nombre Relación E/S Icono FunciónLimitador fuerte a=0; n<0

a=1; n>=0hardlim

Limitador fuerte simétrico a=-1; n<0a=-1; n>=0

Hardlims

Lineal a=n purelin

Lineal saturado simétrico. a=-1; n<-1a=n; -1=<n=<1

a=+1; n>1

satlins

Sigmoidal logarítmico a= 1

1+e−nLogsig

Tangente sigmoidal hiperbólico a= en−e−n

en+e−n

tansig

Neural Network ToolboxEste Toolbox proporciona funciones para el diseño, inicialización, simulación y entrenamiento de los modelos neuronales de uso más extendido en la actualidad:

Perceptrón, redes lineales, redes de retro propagación, redes de base radial, aprendizaje asociativo y competitivo, aplicaciones auto organizativas, aprendizaje de cubanización vectorial, redes de Elman y redes de Hopfield. Mediante la inclusión de un amplio abanico de funciones y procedimientos escritos para MATLAB, el usuario puede mediante el Neural Network Toolbox efectuar el diseño de arquitecturas complejas, combinando los modelos que ya están proporcionados por defecto en el Toolbox. Asimismo, el usuario puede definir sus propias funciones de transferencia e inicialización, reglas de aprendizaje, funciones de entrenamiento y estimación de error para usarlas posteriormente con las funciones básicas.

Page 4: Redes Neuronales t

Tipos de redes:Redes PerceptrónRedes BackpropagationRedes Recurrentes tipo Hopfield

Manejo del Toolboox.Pasos para la creación de redes neuronales:• 1. Recopilar datos • 2.Cree la red • 3.Configure la red • 4.Initialize los pesos y sesgos • 5.Entrenar la red • 6.ValidaR la red • 7.Utilice la red

Hay cuatro formas de usar el Toolbox:1. La primera es a través de las cuatro interfaces graficas de usuario

principal, la cual se puede abrir a partir del comando nnstart. Contiene las siguientes tareas:

• Función de ajuste. • reconocimiento de formas.• agrupación de datos. • Análisis de series temporales.

2. La segunda forma para usar el Toolbox es utilizando la herramientas a través de comandos, la cual adquiere cierta complejidad en la medida en que el usuario tenga experiencia en el tema.

3. La tercera opción es la personalización, creado redes a partir de conexiones arbitrarias. Capacidad de entrenamiento en las funciones de capacitación existentes.

4. La última es la de modificar códigos disponibles en el programa.

Para realizar la red:- Disponer de un conjunto de vectores de entrada Q como columnas en una matriz- Organizar otro conjunto de vectores objetivo Q (los vectores de salida correcta para cada uno de los vectores de entrada)

Page 5: Redes Neuronales t

• 1. Abra la Neural Start GUI con este comando: nnstart:

• Figura 2: Ventana de uno de los Toolboox de Matlab.

• Pulsando Fitting Tool o ingresando el comando ‘nftool’, luego pulsamos ‘next’:

Figura 3.

AL presionar Next, se nos abre una ventana en donde se pide ingresar los vectores de entrada y salida, en este caso usaremos uno incluido en el Toolboox como ejemplo. Este lo que hace es calcular el valor de una casa dependiendo de varios factores, como posición, índice de criminalidad, entre otras variables.

Page 6: Redes Neuronales t

En este caso se usa un archivo como ejemplo para el desarrollo de la red.

• Se pulsa ‘Load Example Data Set’

Figura 4 Importar el ejemplo.

Seleccione house Pricing, Pulse import y haga click en ‘next’.

• Figura 5: Ajustes a los vectores de entrada.

Page 7: Redes Neuronales t

Con estos ajustes, los vectores de entrada y vectores diana se dividieron aleatoriamente en tres grupos de la siguiente manera:

70% se utilizará para la formación. 15% se utilizará para validar que la red está generalizando y para dejar de entrenar antes de sobreajuste. El último 15% se utiliza como una prueba completamente independiente de la generalización de la red.Pulsamos next.

Figura 6. Panel para el entrenamiento de la red.

El número predeterminado de neuronas ocultas se establece en 10. Pulsamos Next, y en la siguiente ventana presionamos TRAIN.

Figura 7: Aquí se ingresa y vizualiza el numero de capas.

Page 8: Redes Neuronales t

El entrenamiento continuó hasta que el error de validación no logró disminuir durante seis iteraciones (parada de validación).

Figura 8: Luego de que se ha entrenado a la red.

Los siguientes gráficos de regresión muestran las salidas de la red con respecto a los objetivos de la capacitación, validación y equipos de prueba. Para un ajuste perfecto, los datos deben caer a lo largo de una línea de 45 grados, donde las salidas de la red son iguales a los blancos. Para este problema, el ajuste es razonablemente bueno para todos los conjuntos de datos, con valores de R en cada caso de 0,93 o superior. Si se requieren resultados aún más precisos, se puede reciclar a la red haciendo clic en el reacondicionamiento nftool. Esto va a cambiar los pesos y sesgos de la red inicial, y puede producir una red mejorada después de la reconversión. Otras opciones se proporcionan en el siguiente panel.

Page 9: Redes Neuronales t

Figura 9.

Controlador PID.

Esquema del controlador.En la figura 6, se propone el esquema que muestra el método de control PID neuronal. Como se puede observar, no es más que una estructura PID, donde las salidas de las tres redes neuronales son los parámetros Kp, Ki, KD; estas redes son del tipo perceptrón con dos entradas, el error de control y su primera diferencia; y dos neuronas en la capa oculta. Las entradas de las tres redes son comunes y se entrenan en línea mediante el algoritmo de retro propagación modificado [4].La forma del algoritmo PID discreto es:

Page 10: Redes Neuronales t

Figura 10: Controlador PID.

Page 11: Redes Neuronales t

Comandos en Matlab.

Este código que se muestra a continuación es una red neuronal que se entrenara para que haga la función de una compuerta And:

Consiste en una red de dos neuronas.El vector input representan las entradas.Target, es el vector de salidas esperadas.net = newff ([0 1; 0 1], [2 1], {'logsig','logsig'}) input = [1 1 0 0; 1 0 1 0];target = [0 1 1 0];net = train (net, input, target);output=sim (net, input).

Referencias:http://catarina.udlap.mx/u_dl_a/tales/documentos/lem/rodriguez_p_hu/capitulo4.pdf

http://www.uaz.edu.mx/eniinvie/eninvie2010/eninvielibro/ia/ia1.pdf