Neural Network Toolbox



Documentos relacionados
Neural Network Toolbox

ANEXO A DESCRIPCIÓN DE LAS FUNCIONES UTILIZADAS EN MATLAB

Aprendizaje Automatizado. Redes Neuronales Artificiales

Apuntes de Inteligencia Artificial

CAPÍTULO 4 IMPLEMENTACIÓN DE LA TRANSFORMADA DE DISTANCIA CON UN

Aprendizaje Automatizado. Redes Neuronales Artificiales

CONCEPTOS BÁSICOS (Freeman capt.1; Neural Nets capt. 4,5 y 7)

REDES NEURONALES Y MODELOS PREDICTIVOS

Introducción a MATLAB

Práctica 10. Redes Neuronales

Introducción a MATLAB

CAPITULO 5 DISEÑO DE UN CLASIFICADOR DE

Aprendizaje Automatizado. Redes Neuronales Artificiales

UNIVERSIDAD CARLOS III MADRID

Sistemas de Ecuaciones Lineales

LIM. Modelización del conjunto motor-transmisión de un automóvil a partir de datos experimentales. Trabajo final de grado

Apuntes de Inteligencia Artificial

Redes de Neuronas de Base Radial

SISTEMAS INTELIGENTES

Neural Network Toolbox de MATLAB

Diagramación. A base de retículas

2 Operaciones de producto y división de polinomios

3. Métodos clásicos de optimización lineal

Neural Network Toolbox de MATLAB

Uso de una red neuronal multicapa para el reconocimiento de caracteres griegos. Skynet Reloaded

Redes Neuronales Multicapa

Inteligencia Computacional

3.7 IDENTIFICACION DE UN SISTEMA DINÁMICO NO LINEAL Descripción del Problema: La identificación de un sistema consiste en

TEMA 0 Y SUS APLICACIONES. Redes Neuronales Artificiales y sus Aplicaciones

TUTORIAL SOBRE REDES NEURONALES APLICADAS EN INGENIERIA ELECTRICA Y SU IMPLEMENTACIÓN EN UN SITIO WEB

TLU(s) MULTICAPAS. Se pueden implementar funciones en TLU con más de una capa.

Redes Neuronales Multicapa

CLASE 11 USO DE CONDICIONALES Y VECTORES

MATEMÁTICAS APLICADAS A LAS C.C. SOCIALES

1.4 SISTEMAS HOMOGÉNEOS DE ECUACIONES. 36 CAPÍTULO 1 Sistemas de ecuaciones lineales y matrices

PRÁCTICA 4. EL ENTORNO DE UN ROBOT EN C++

Predicción de la relación entre el género, la cantidad de cigarrillos y enfermedades usando Máquinas de Vector Soporte

Introducción a los métodos Kernel

Tema # 7. método simplex matricial o revisado

Polinomios. 1.- Funciones cuadráticas

Contenidos mínimos 4B ESO. 1. Contenidos. Bloque I: Aritmética y álgebra.

OPENCOURSEWARE REDES DE NEURONAS ARTIFICIALES Inés M. Galván José M. Valls. Tema 6: Redes de Neuronas Recurrentes

La programación lineal hace referencia al uso eficiente o distribución de recursos limitados, para alcanzar unos objetivos determinados.

Red Neuronal Artificial

Redes Neuronales Artificiales

315 M/R Versión 1 Integral 1/ /1 UNIVERSIDAD NACIONAL ABIERTA VICERRECTORADO ACADÉMICO ÁREA INGENIERÍA

Vectores y Matrices. Tema 3: Repaso de Álgebra Lineal Parte I. Contenidos

El problema inverso: Técnicas de identificación de parámetros.

Las Redes Neuronales Artificiales y su importancia como herramienta en la toma de decisiones. Villanueva Espinoza, María del Rosario CAPÍTULO V

UNIDAD UNO PROGRAMACIÓN LÍNEAL Parte 3

EJERCICIOS PARTE I: 1. Cómo se llamaba anteriormente a las hojas de cálculo? 2. Qué es una hoja electrónica de cálculo?

Universidad Tec Milenio: Profesional IO04001 Investigación de Operaciones I. Tema # 6. revisado

ARREGLOS EN. Nota: El autor.

Tema 9. Espacio de Estados : Representación y propiedades importantes

Se denomina matriz a todo conjunto de números o expresiones dispuestos en forma rectangular, formando filas y columnas.

Práctica 2 Métodos de búsqueda para funciones de una variable

Algoritmos y Diagramas de flujo

GUÍA DE APRENDIZAJE. Módulo VI Seis Sigma. Aprendizaje sin fronteras

Complementos de Matemáticas, ITT Telemática

Redes Neuronales. Parte II. Facultad de Ciencias Exactas y Tecnología Universidad Nacional de Tucumán Mg. Ing. Gustavo E. Juárez

Matrices. Concepto de matriz Se denomina matriz a todo conjunto de números o expresiones ordenados en filas y columnas.

Desarrollo de las condiciones de optimalidad y factibilidad. El problema lineal general se puede plantear como sigue:

Tema 4 Álgebra Lineal Numérica

Análisis de Datos. Red de función de base radial. Profesor: Dr. Wilfrido Gómez Flores

Manual del Usuario de Microsoft Access Consultas - Página 1. Tema IV: Consultas. IV.1. Creación de Consultas

Bloque 1. La sociedad de la información y el ordenador

El Perceptrón Multicapa

Detección Multiusuario para DS-CDMA basado en SVM

Ejemplo 1. Ejemplo introductorio

Complejidad de Algoritmos

Aplicación de diferentes arquitecturas de RNA sobre datos de paquetes de red en Matlab con y sin reducción de características.

PNF en Mecánica Vibraciones Mecánicas Prof. Charles Delgado

Tema 05: Tablas hash. M. en C. Edgardo Adrián Franco Martínez edgardoadrianfrancom

Optimización en Ingeniería

REDES NEURONALES ADAPTABLES

Estructuras de control. Secuencial, condicional y repetitivas.

Inteligencia Artificial. Aprendizaje neuronal. Ing. Sup. en Informática, 4º. Curso académico: 2011/2012 Profesores: Ramón Hermoso y Matteo Vasirani

REDES AUTOORGANIZATIVAS

1 Aplicaciones lineales

SERIE INFORMES TÉCNICOS Nº. 2 / 93 UTILIZACIÓN DE LA ESPECTROSCOPIA EN EL INFRARROJO CERCANO PARA EL ANÁLISIS DE FORRAJES Y MATERIAS PRIMAS

APRENDIZAJE BASADO EN INSTANCIAS. Eduardo Morales y Jesús González

Tema 8: Redes Neuronales

Álgebra Lineal Ma1010

Redes Neuronales Artificiales

Práctica 3. CÁLCULO DE LA FUNCIÓN SENO UTILIZANDO UN DESARROLLO EN SERIE

Universidad Central Del Este U.C.E. Facultad de Ciencias Administrativas y de Sistemas Escuela de Ingeniería de Sistemas

Optimización lineal con R José R. Berrendero

Introducción a Las redes Neuronales (Neurales) CO-6612

Sistemas Electrónicos Digitales

Explorando la ecuación de la recta pendiente intercepto

Transcripción:

Neural Network Toolbox Sistemas Conexionistas - Curso 08/09 La Neural Network Toolbox es un paquete de Matlab que contiene una serie de funciones para crear y trabajar con redes de neuronas artificiales. Con help nnet se obtiene la lista de todas las funciones de este paquete. 1. Adaline 1.1. Funciones generales mse Calcula el error cuadrático medio y se utiliza para evaluar la precisión de una red de neuronas. error = mse(salida_deseada - salida_obtenida) maxlinlr Calcula la velocidad máxima de aprendizaje para una red lineal. Toma como parámetro obligatorio los patrones de entrada a la red, los cuales se disponen en una matriz en la que cada columna representa un patrón de entrada. P = [e11 e12; e21 e22] lr = maxlinlr(p) lr = maxlinlr(p, bias ) learnwh Algoritmo de aprendizaje LMS (Widrow-Hoff). En un ciclo de aprendizaje, calcula la variación de los pesos como dw = lr e p y la variación del bias como db = lr e. Su sintaxis es: dw = learnwh(w,p,[],[],[],t,e,[],[],[],lp,[]); donde

W es la matriz de pesos de tamaño SxR, cada fila representa los pesos de un elemento de procesado P es la matriz de entrada de tamaño RxQ, cada columna representa un patrón de entrada T es la matriz de salidas deseadas de tamaño SxQ, cada columna representa una salida deseada E es la matriz de errores de tamaño SxQ, con un error por columna LP es una estructura que contiene los parámetros de aprendizaje. En concreto: LP.lr es la velocidad de aprendizaje (learning rate) LP.mc es el momento (momentum constant) LP.dr es la tasa de decaimiento (decay rate) Esta función devuelve una matriz de tamaño SxR que contiene el incremento de los pesos. 2. Perceptrón multicapa 2.1. Creación El comando newff crea una red de neuronas de tipo feedforward. En la versión 6 de la Neural Network Toolbox (laboratorio de prácticas), su sintaxis es: net = newff(p, T, [S1 S2...S(N - 1)],{TF1 TF2...TFN},BTF,BLF,PF) P Matriz con los patrones de entrada T Matriz con las salidas deseadas Si Tamaño de la capa i (sólo capas ocultas) TFi Función de transferencia de la capa i, por defecto es tansig para las capas ocultas y purelin para la capa de salida. 2

BTF Función de entrenamiento, por defecto trainlm. BLF Función de aprendizaje de los pesos/bias, por defecto learngdm. PF Función de evaluación, por defecto mse Esta función devuelve una red feedforward con N capas. Para versiones anteriores de la Neural Network Toolbox, la sintaxis cambia: net = newff(pr,[s1 S2...SNl],{TF1 TF2...TFNl},BTF,BLF,PF) PR Matriz con los valores mínimo y máximo de cada una de las componentes de los patrones de entrada Si Tamaño de la capa i TFi Función de transferencia de la capa i, por defecto es tansig. BTF Función de entrenamiento, por defecto trainlm. BLF Función de aprendizaje de los pesos/bias, por defecto learngdm. PF Función de evaluación, por defecto mse Esta función devuelve una red feedforward con N capas. Funciones de transferencia Un elemento de procesado tiene N entradas. La suma de estas entradas ponderadas por los pesos y el bias constituye la entrada a la función de transferencia, la cual determina cómo serán las salidas del elemento de procesado. Los elementos de procesado pueden utilizar cualquier tipo de función de transferencia diferenciable para generar su salida, por ejemplo: 3

La función de transferencia de una capa se establece al crear la red o bien alterando el valor del parámetro NET.layers{i}.transferFcn en una red existente. Es muy importante que la función de transferencia se adecúe al problema a resolver. 2.2. Entrenamiento Una vez creada la red, el siguiente paso es realizar el entrenamiento con los patrones de entrada y las salidas deseadas. Existen dos tipos de entrenamiento: Estático En cada ciclo de entrenamiento se recalculan los pesos de la red tras presentar todos los patrones de entrenamiento. Se realiza con la función train: [net,tr,y,e] = train(net,p,t) Los parámetros de entrada son: NET Una red inicializada P Los patrones de entrada T Las salidas deseadas Y los parámetros de salida son: 4

net Red entrenada TR Error en función de la iteración Y Salida de la red E Errores de la red Adaptativo En cada ciclo de entrenamiento se recalculan los pesos tras presentar cada uno de los patrones de entrenamiento. Se realiza con la función adapt, cuya sintaxis es la siguiente: [net,y,e] = adapt(net,p,t) Los parámetros de entrada son: NET Una red inicializada P Los patrones de entrada T Las salidas deseadas Y los parámetros de salida son: net Red entrenada Y Salida de la red E Errores de la red Antes de utilizar este tipo de entrenamiento es necesario especificar el número de pasadas de entrenamiento adaptativo con NET.adaptParam.passes. Funciones de entrenamiento Existen diversos métodos para realizar el entrenamiento estático de una red de neuronas. Estos métodos se basan en algoritmos que intentan minimizar el error en base a diversas técnicas. Cada uno de estos métodos presenta sus ventajas e inconvenientes en cuanto a 5

convergencia y coste computacional 1. Algunas funciones de entrenamiento son trainlm, traingd, traingdx, trainbr, etc Al igual que las funciones de transferencia, la función de entrenamiento se establece al crear la red o bien alterando el valor del parámetro NET.transferFcn 2.3. Utilización Tras la fase de entrenamiento, la red está lista para ser usada, es decir, la red es capaz de producir una salida adecuada a un conjunto de patrones de entrada. La función sim es la encargada de pasar un conjunto de patrones de entrada a la red y de obtener su salida: Y = sim(net,p) Donde NET representa una red entrenada P es el conjunto de patrones de entrada Y es la salida de la red 3. Redes de base radial 3.1. Creación Las redes de base radial pueden ser creadas con los comandos newrbe o newrb. La función newrbe crea una red de base radial con tantas neuronas como patrones de entrada. Su sintaxis es: net = newrbe(p,t,spread) donde 1 El capítulo 5 del manual de referencia hace una comparativa entre los distintos algoritmos de entrenamiento. 6

P es una matriz con los patrones de entrada T es una matriz con las salidas deseadas SPREAD difusión de las funciones de base radial, por defecto 1 El valor de SPREAD determina el ancho del área del espacio de entrada al que cada neurona responde. Por ejemplo, si SPREAD toma valor 4, cada neurona de la capa de neuronas de base radial responderá con valores de 0.5 o superiores a cada patrón de entrada situado a una distancia de 4 del vector de pesos. Este parámetro debe ser lo suficientemente grande como para que las neuronas puedan responder fuertemente a regiones solapadas del espacio de entrada, mejorando así la capacidad de generalización. No obstante, si este valor es demasiado grande, todas las neuronas de la capa de base radial tomarán como salida valores cercanos a 1 con todos los patrones de entrada, perdiendo así la información almacenada en la capa de base radial. La función newrb crea una red de base radial añadiendo una neurona en cada iteración. La red añade una nueva neurona hasta que el error total de la red alcanza un error objetivo o bien se alcanza un número máximo de neuronas (por defecto, el número de patrones de entrada). La sintaxis es: net = newrb(p,t,goal,spread,mn) donde P es una matriz con los patrones de entrada T es una matriz con las salidas deseadas GOAL error cuadrático medio objetivo, por defecto 0.0 SPREAD difusión de las funciones de base radial, por defecto 1 MN máximo número de neuronas, por defecto, el mismo número de patrones de entrada Esta función crea un diseño más eficiente de las redes de base radial. 7

3.2. Entrenamiento En este tipo de redes no es necesario realizar explícitamente un entrenamiento. En caso de redes creadas con newrbe, los pesos de la capa de base radial se inicializan con los valores de los patrones y los bias de cada neurona a 0.8326/SPREAD. Los pesos de la capa lineal se obtienen simulando las salidas de la primera capa y resolviendo una expresión lineal. En la creación de redes con newrb, se realiza el siguiente proceso iterativo hasta que el error alcanza el error objetivo o bien se alcanza el máximo número de neuronas: 1. La red se simula 2. Se localiza el patrón de entrada con mayor error y se añade una neurona en la capa de base radial con los pesos de dicho patrón 3. Se recalculan los pesos de la capa lineal para minimizar el error cometido 3.3. Utilización La función sim, descrita en el apartado anterior se utiliza para aplicar una red de base radial a nuevos patrones de entrada. 4. Mapas autoorganizativos 4.1. Creación La función newsom se utiliza para crear un mapa autoorganizativo. Su sintaxis es: NET = newsom(pr, [D1, D2,...], TFCN) Los parámetros de esta función son: PR es una matriz con los valores máximos y mínimos de las entradas Di es la dimensión de la i-ésima capa TFCN representa la topología (gridtop,hextop o randtop) 8

La función newsom devuelve un mapa autoorganizativo. Algunos parámetros de interés de la nueva red son: NET.trainParam.epochs Máximo número de ciclos de entrenamiento La función plotsom dibuja mapas autoorganizativos: plotsom(net.layers{i}.positions) representa la posición de los elementos de procesado de la capa i-ésima del mapa autoorganizativo. Cada elemento de procesado está situado a una distancia euclídea de 1 con respecto a sus vecinos. plotsom(net.iw{i,j}, net.layers{i}.distances) representa la posición real de cada elemento de procesado con respecto a sus vecinos en la capa i-ésima. 4.2. Entrenamiento Se utiliza la función train descrita anteriormente. 4.3. Utilización La función sim descrita en el apartado Perceptrón permite aplicar el mapa autoorganizativo entrenado a un nuevo conjunto de patrones. En este caso, la función sim devuelve no un valor sino un vector con tantas posiciones como elementos de procesado. Todas las posiciones de este vector están ocupadas por ceros excepto la posición correspondiente al elemento de procesado activado en la capa competitiva, el cual toma valor uno. En estas casos Matlab muestra únicamente el índice con valor uno: >> Y = sim(net,x) 9

Y = (18,1) 1 A veces es necesario extraer el índice correspondiente al elemento de procesado activado. Para ello se utiliza la función vec2ind: >> vec2ind(y) ans = 18 10