Contenido............................................................................................................ 1 1. MATLAB........................................................................................................... 2 2. El Sistema de MATLAB.....................................................................................3 3. Descripcin de la caja de herramientas de redes neuronales (Neural Network Toolbox)..............................................................................................................4 3.1 Caractersticas Dominantes .......................................................................4 4. Construccin de Redes Neuronales (newff)......................................................5 5. Simulacin de Redes Neuronales.....................................................................6 5.1 Entrenamiento incrementado (adapt).........................................................6 5.2 Entrenamiento Batch (train)........................................................................6 6. Funciones........................................................................................................ 7 6.1 Funciones de inicializacin de la capa.........................................................8 6.2 Funciones de aprendizaje...........................................................................8 6.4 Creacin redes............................................................................................8 6.5 Funciones de inicializacin de la red...........................................................8 6.6 Funciones del error.....................................................................................9 6.7 Funciones para graficar..............................................................................9 6.8 Funciones de entrenamiento.......................................................................9 6.9 Funciones de transferencia.........................................................................9 6.10 Simulacin redes....................................................................................10 6.11 Funciones del peso.................................................................................10 6.12 Funciones de inicializacin de los pesos y bias .......................................10 7. Inicializacion.................................................................................................. 10 8. Diseo........................................................................................................... 11 9. Regla de Aprendizaje.....................................................................................12 10. Entrenamiento.............................................................................................13 11. Ejemplo 1.....................................................................................................13
1. MATLAB
Es un lenguaje de alto rendimiento para un proceso computacional tcnico. Integra el cmputo, la visualizacin, y la programacin en un ambiente fcil de utilizar donde los problemas y las soluciones se expresan en la notacin matemtica familiar. Las aplicaciones tpicas incluyen: 2
Matemticas y cmputo Desarrollo de algoritmo El modelar, simulacin, y el prototipo Anlisis de datos, exploracin, y visualizacin Grficos cientficos y de ingeniera Desarrollo del uso, incluyendo el edificio grfico del interfaz utilizado
MATLAB es un sistema interactivo con un elemento de datos bsico, es un arsenal que no requiere el dimensioning. Esto permite la solucin de muchos problemas tcnicos, especialmente sos con formulaciones de matriz y de vector, en una fraccin del tiempo que tomara para escribir un programa en una lengua no interactivo escalar tal como C o FORTRAN. El nombre MATLAB est dado por el laboratorio de la matriz . MATLAB fue escrito originalmente para proporcionar el acceso fcil al software de la matriz desarrollado por los proyectos de LINPACK y de EISPACK. Hoy, el software de las aplicaciones de MATLAB se convirti por los proyectos de LAPACK y de ARPACK, que juntos representan el estado plus ultra en el software para el cmputo de la matriz. MATLAB se ha desarrollado durante aos con la entrada de muchos usuarios. En ambientes de la universidad, es la herramienta educacional estndar para los cursos introductorios y avanzados en matemticas, la ingeniera, y la ciencia. En industria, MATLAB es la herramienta de la opcin para la investigacin, el desarrollo, y el anlisis de alta-productividad. MATLAB ofrece una familia de las soluciones de aplicacin especfica (applicationspecific) llamadas las cajas de herramientas. Muy importante para la mayora de los usuarios de MATLAB, las cajas de herramientas permiten aprender y la aplicacin de tecnologa especializada. Las cajas de herramientas son colecciones comprensivas de las funciones de MATLAB (M-archivos) que extienden el ambiente de MATLAB para solucionar clases particulares de problemas. Las reas en las cuales las cajas de herramientas estn disponibles incluyen el proceso de seal, sistemas de control, redes neuronales, lgica difusa, la simulacin, y muchas otras.
La generacin automtica de Simulink modelado de los objetos de la red neuronal Representacin modular de la red, permitiendo un nmero ilimitado de la entrada que fija capas, e interconexiones de la red Funciones pre y de proceso del bias para mejorar el entrenamiento de la red y determinar el funcionamiento de la red Rutinas para mejorar la generalizacin Funciones de la visualizacin para el funcionamiento de la red neuronal
Esta funcin toma como entrada un objeto de tipo red y regresa un objeto de tipo red con los pesos y bias inicializados. Esta funcin es invocada por el comando newff y usa el algoritmo de Nguyen-Widrow. Si, por ejemplo, se quiere re-inicializar los pesos y los bias en la primera capa de forma aleatoria, usando la funcin rands, se usan los siguientes comandos: net.layers{1}.initFcn = 'initwb'; net.inputWeights{1,1}.initFcn = 'rands'; net.biases{1,1}.initFcn = 'rands'; net.biases{2,1}.initFcn = 'rands'; net = init(net);
La alternativa para un entrenamiento en crecimiento es el entrenamiento batch, el cual es invocado usando la funcin train. En el modo batch los pesos y bias de la red son actualizados solo despus de haber concluido el entrenamiento en la red. Algunas de las funciones disponibles para el entrenamiento de tipo batch se listan en la tabla siguiente junto con un tiempo relativo de convergencia.
Tabla 1 6. Funciones
Funciones del anlisis errsurf - superficie del error de la neurona de entrada maxlinlr mxima tarifa del aprendizaje para una capa lineal
logsig - funcin de transferencia sigmoidal poslin - funcin de transferencia lineal positiva purelin - funcin de transferencia lineal radbas - funcin de transferencia de base radial satlin - saturacin de la funcin de transferencia lineal satlins - funcin de transferencia lineal de saturacin simtrica softmax - funcin de transferencia mxima suave tansig - funcin de transferencia sigmoidea de la tangente hiperblica tribas - funcin de transferencia de base triangular
7. Inicializacion
La funcin initlin, se usa para inicializar los pesos y umbrales de la capa lineal a valores iniciales positivos y negativos pequeos. El cdigo de la inicializacin para una capa de siete neuronas lineales de cinco entradas sera: 10
Sean las matrices de P vectores de entrada y T vectores objetivo, estn disponibles. La funcin initlin puede inferir el nmero de neuronas de entrada basndose en el nmero de filas de P y T.
Figura 1
8. Diseo A diferencia de las otras arquitecturas de redes neuronales, las redes lineales se pueden disear directamente si todos los pares de vectores entrada/salida son conocidos. Dado 11
este caso la funcin solvelin se puede usar para encontrar los valores de pesos y umbrales ( y ) sin entrenamiento.
Si se llama a la funcin solvelin con dos argumentos de salida, esta disea una red con pesos y umbrales. Si se llama a la funcin con un solo argumento la funcin diseara una red con la matriz de pesos pero sin ningn umbral. En cada caso la solucin del mnimo error cuadrtico se encuentra. Se usan los umbrales porque una red con umbrales nunca tiene un error mayor que la misma red sin umbrales, y a menudo tiene el ms bajo error.
Si existe una solucin de cero-error, esta ser encontrar por la funcin solvelin. Si ninguna solucin lineal perfecta existe se devolvern los valores representando a la red con el mnimo error cuadrtico sumado sse. Si hay ms de una solucin de cero-error, solvelin devuelve la solucin con los pesos y umbrales ms pequeos.
9. Regla de Aprendizaje
Las redes lineales son entrenadas con ejemplos de conducta correcta. La regla de Widrow-Hoff mediante la funcin learnwh, calcula los cambios a los pesos y umbrales de una capa lineal disminuyendo la suma de errores cuadrados de la capa. La funcin learnwh toma como argumentos el vector de entrada P presentado a la red, y el error de la red E (la diferencia entre la salida de la red A y un objetivo T designado).
Para asegurar el aprendizaje estable, la velocidad de aprendizaje lr debe ser menor al recproco del eigenvector ms grande de producto de la matriz P'*P. La funcin maxlinlr calcula la proporcin mxima de aprendizaje estable (0.999 * P'*P). % si ningn umbral se usa. ) % si usan los umbrales.
As, una vez que la proporcin de aprendizaje es calculada, las lneas siguientes de cdigo reducirn el error de la red asociado con las matrices de entrada y vectores objetivo, P y T, con cada iteracin.
12
; La regla de Widrow-Hoff calcula los cambios pequeos para los pesos de una neurona y umbrales en la direccin que disminuye el error de la neurona. Esta direccin se encuentra tomando la derivada del error cuadrado sumado sse con respecto a estos parmetros
10. Entrenamiento
La funcin trainwh aplica repetidamente las entradas p a una red lineal con la funcin simulin y calcula los errores con respecto a los vectores objetivo T, y encuentra los nuevos pesos y umbrales. Se repite este ciclo hasta que el error cuadrtico sumado cae bajo un valor meta, o bien se cumple un nmero mximo de pocas.
Los cuatro parmetros de entrenamiento tp, determinan qu tan a menudo ocurre el progreso en mostrar resultados, el nmero mximo de pocas para entrenar, la meta del error deseada, y la razn de aprendizaje. Cualquiera o todos estos parmetros se pueden ajustarse a un valor de NaN. Adems, los parmetros tp pueden contener una lista parcial de valores, ningn valor o simplemente no ser pasados a trainwh. Los valores indefinidos y los parmetros NAN sern puestos a sus valores predefinidos. Se puede ver estos valores predefinidos tecleando help trainwh. Adems, de regresar los valores de los nuevos pesos W y umbrales b, la funcin trainwh devuelve el nmero de pocas que realmente ocurrieron ep, y un registro de los errores a lo largo del entrenamiento tr.
11. Ejemplo 1 1. Resolver el siguiente problema de clasificacin de la red Adaline y su regla de aprendizaje Los pares de entrada/salida son:
13
En el editor de Matlab se digita el siguiente cdigo que resuelve el problema anterior: clear;echo on;clc; %Se definen los vectores de entrada P=[0 2 -2; 2 0 -2]; %Se define el vector de salida T = [1 1 0]; %Se crea una red lineal adaptativa NEWLIN(PR,S,ID,LR) donde: entrada. PR matriz Rx2 de los valores mximos y mnimos para R elementos de
S - Nmero de elementos de salida ID Vector de retardo, default = [0]. LR Tasa de aprendizaje, default = 0.01; net=newlin([-2 2;-2 2],1); %Se ajusta el error (valor por omisin=0) net.trainParam.goal=0.1; %Se ajustan las pocas (valor por omisin=100) net.trainParam.epochs=50; %Se entrena la red 14
[net,tr]=train(net,P,T); %Si se desea dar valores iniciales al vector de pesos y umbral, escrbanse las siguientes dos lneas de cdigo net.IW{1,1}=[-1 -1]; net.b{1}=[2]; %Se asignan a las variables W y b los valores calculados una vez terminado el proceso de entrenamiento W=net.IW{1,1} b=net.b{1} %Se grafican los patrones de entrada, las salidas deseadas y la frontera de decisin mediante las siguientes lneas plotpv(P,T) plotpc(net.IW{1,1},net.b{1}) echo off
15
Figura 2 La salida del programa (Adems, del Proceso Descrito en la Ventana de Comandos de Matlab) es una sucesin de grficas donde aparece la variacin del error en un nmero N de pocas. Ver Figura 3
Figura 3 Los patrones de entrada en un plano de dos dimensiones, con la clasificacin correspondiente (Frontera de Decisin) aparecen despus de terminado el proceso de entrenamiento. Ver Figura 4 16
Figura 4
Bibliografa Cdigo Fuente MATLAB.html Redes Neuronales en MATLAB Manual Bsico de MATLAB
17