Вы находитесь на странице: 1из 17

Contenido

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

Manual en MATLAB Redes Neuronales Artificiales

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.

2. El Sistema de MATLAB El sistema de MATLAB consiste en cinco porciones principales:

2.1 Ambiente Del Desarrollo. ste es el sistema de las herramientas y de las


instalaciones que ayudan a utilizar funciones y archivos de MATLAB. Muchas de estas herramientas son interfaces grficas. Incluye el tablero del escritorio de MATLAB y la ventana del comando, una historia del comando, y los browsers para la visin, el espacio de trabajo, los archivos, y el camino de bsqueda en un fichero.

2.2 La Biblioteca Matemtica De la Funcin de MATLAB. sta es una coleccin


extensa de algoritmos de cmputo que se extienden de funciones elementales como la suma, seno, coseno, y la aritmtica compleja, a funciones ms sofisticadas como lo contrario de la matriz, valores propios de la matriz, las funciones de Bessel, y transformada rpida de Fourier.

2.3 El Lenguaje de MATLAB. Este es un lenguaje de alto nivel de matrix/array con


declaraciones de control del flujo, funciones, las estructuras de datos, la entrada-salida, y las caractersticas de programacin orientadas al objeto. Permite la creacin rpida de pequeos programas desechables, y tambin crear programas completos de uso grande y complejo.

2.4 Manejador Graphics. ste es el sistema de los grficos de MATLAB. Incluye


los comandos de alto nivel para la visualizacin de los datos, el proceso de imagen, la animacin, y los grficos de dos dimensiones y tridimensionales de la presentacin. Tambin incluye los comandos bajos as como los que permite modificar completamente el aspecto para requisitos particulares de grficos para construir interfaces grficas completas en los usos de MATLAB.

2.5 El Application Program Interface de MATLAB (Api). sta es una biblioteca


que permite escribir los programas de C y del FORTRAN que trabajan recprocamente con MATLAB. Incluye las instalaciones para las rutinas que llaman de MATLAB (el ligamiento dinmico), llamando a MATLAB como motor de cmputo, y para los archivos de lectura y de escritura.

3. Descripcin de la caja de herramientas de redes neuronales (Neural Network Toolbox)


La caja de herramientas de redes neuronales extiende el ambiente de aplicacin de MATLAB para proporcionar las herramientas para el diseo, la puesta en prctica, la visualizacin, y la simulacin de redes neuronales. Las redes neuronales son herramientas nicamente de gran alcance en usos donde estara difcil o imposible el anlisis formal, por ejemplo el reconocimiento de patrones y la identificacin y el control no lineales del sistema. La caja de herramientas de redes neuronales proporciona la ayuda comprensiva para muchos paradigmas probados de la red, as como una interfaz grfica que permite el diseo y manejo de redes. El diseo modular, abierto, y extensible de la caja de herramientas simplifica la creacin de funciones y de redes modificadas para requisitos particulares.

3.1 Caractersticas Dominantes


Interfaz grfica (GUI) para crear, entrenar, y simular redes neuronales La ayuda para usuario lo ms comnmente posible arquitecturas de red supervisada y no supervisada. Un sistema comprensivo de entrenamiento y de funciones de aprendizaje Una habitacin de los bloques del Simulink, as como la documentacin y demostraciones de los usos del sistema de control 4

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

4. Construccin de Redes Neuronales (newff)


El primer paso del entrenamiento de una red neuronal es crear la red. La funcin newff crea una red con conexin hacia adelante. Esta funcin requiere de cuatro parmetros y regresa un objeto del tipo red: 1. La primera entrada es una matriz de (p-1)2 XR de mnimos y mximos valores por cada uno de los elementos (p-1) de el vector de entrada. 2. La segunda entrada es un arreglo con el tamao de cada capa. 3. La tercera entrada es un arreglo con los nombres de las funciones de transferencia que se van a usar en cada capa. 4. La ltima entrada contiene el nombre del algoritmo de entrenamiento que se va a utilizar. Por ejemplo el siguiente comando crea una red de dos capas. Tendr un vector de entrada con dos elementos (p-1 = 2), tres neuronas en la primera capa (L-1 = 3) y una neurona en la segunda capa (salida) (m = 1). La funcin de transferencia en la primera capa ser la tansig, y la funcin de transferencia en la capa de salida ser lineal. Los valores para el primer elemento del vector de entrada estarn en el rango de -1 y 2, los valores del segundo elemento del vector de entrada estar en el rango de 0 y 5, esto es, la matriz XR es de la forma siguiente: XR = [-1 2; 0 5]; Y la funcin de entrenamiento ser traingd, net=newff(XR,[L-1,m],'tansig','purelin','traingd'); Este comando crea un objeto del tipo red y tambin inicializa los pesos y el bias de la red, usando por default el comando (initnw). Por lo tanto la red est lista para ser entrenada. Inicializacin de pesos (init, initnw, rands) Si se necesita re- inicializar, o cambiar la inicializacin por default de los pesos, se utiliza el comando init: net=init(net);

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

5. Simulacin de Redes Neuronales


Simulacin (sim) La funcin sim simula una red neuronal. La funcin sim toma la entrada de la red X, y el objeto red net, y regresa la salida de la red Y. Aqu se muestra como puede ser usado el comando simuff, para simular la red que se cre anteriormente para un vector de entrada simple: x = [1;2]; a = sim(net,x) a = -0.1011 Abajo, el comando sim es llamado para calcular las salidas para un vector de entrada de tres elementos. X = [1 3 2;2 4 1]; Y = sim(net,X) Y = -0.1011 -0.2308 0.4955

5.1 Entrenamiento incrementado (adapt)


La funcin adapt es usada para entrenar redes en el modo de crecimiento (pattern). Esta funcin toma el objeto red, las entradas y los valores deseados para el entrenamiento, y regresa el objeto red entrenado con los valores de salida y errores de la red para los pesos y bias finales.

5.2 Entrenamiento Batch (train)

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

6.1 Funciones de inicializacin de la capa


initnw - funcin de la inicializacin de la capa de Nguyen-Widrow initwb - funcin de inicializacin de los pesos y del bias.

6.2 Funciones de aprendizaje


learncon - funcin de aprendizaje diagonal de la conciencia learngd - funcin de aprendizaje del gradiente descendente learngdm - funcin de aprendizaje del gradiente con momentum learnh - funcin del aprendizaje de Hebb learnhd - Hebb con la funcin de aprendizaje descendente learnis - funcin de aprendizaje del peso de Instar learnk - funcin de aprendizaje Kohonen learnlv1 - funcin de aprendizaje LVQ1 learnlv2 - funcin de aprendizaje LVQ2 learnos - funcin de aprendizaje de Outstar learnp - funcin de aprendizaje del Perceptron learnpn - funcin normalizada de aprendizaje del perceptron learnsom - funcin de aprendizaje del mapa de auto-organizacin learnwh - regla de aprendizaje de Widrow-Hoff

6.3 Funciones de la bsqueda de la lnea


srchbac - bsqueda de la vuelta hacia atrs srchbre - interpolacin de la combinacin de la seccin de oro y cuadrtica de Brent srchcha - interpolacin cbica de Charalambous srchgol - bsqueda de la seccin oro srchhyb - bsqueda del hbrido bisection/cubic

6.4 Creacin redes


red - crea una red neuronal newc - crea una capa competitiva newcf - crea una red conexin hacia adelante backpropagation newelm - crea una red de Elman backpropagation newff - crea una red feed-forward backpropagation newfftd - crea un red feed-forward de entrada retrasada backpropagation newgrnn - disea una red neuronal generalizada de regresin newhop - crea una red recurrente de Hopfield newlin - crea una capa lineal newlind - disea una capa lineal newlvq - crea una red de cuantizacin del vector de aprendizaje newp - crea un perceptron newpnn - disea una red probabilistica newrb - disea una red de base radial newrbe - disea una red de base radial exacta newsom - crea un mapa de auto-organizacin

6.5 Funciones de inicializacin de la red


8

initlay - funcin de inicializacin de la red capa por capa

6.6 Funciones del error


mae - funcin absoluta del error mse funcin cuadrtica media del error msereg funcin de regularizacin de ajuste del error medio sse funcin que ajusta la suma del error

6.7 Funciones para graficar


hintonw - grfico de Hinton de la matriz del peso hintonwb - grfico de Hinton de la matriz del peso y del vector bias plotbr grafica el funcionamiento de la red del diagrama para el entrenamiento bayesian de la regularizacin plotes - traza una superficie del error de una sola neurona de entrada plotpc - traza la lnea en diagrama del vector de clasificacin del perceptron plotpv diagrama de los vectores input/target del perceptron plotep - traza una posicin del peso-bias respecto a una superficie de error plotperf diagrama del funcionamiento de la red plotsom diagrama del mapa de auto-organizacin plotv diagrama de los vectores de origen como lneas plotvec diagrama de los vectores con diversos colores

6.8 Funciones de entrenamiento


trainb - entrenamiento con regla de aprendizaje de la hornada del peso y del bias trainbfg - backpropagation quasi-Newton de BFGS trainbr - regularizacin bayesiana trainc - funciones ascendentes de entrenamiento cclico traincgb - backpropagation conyugal del gradiente de Powell-Beale traincgf - backpropagation conyugal del gradiente de Fletcher-Powell traincgp - backpropagation conyugal del gradiente de Polak-Ribiere traingd - backpropagation de la pendiente del gradiente traingdm - pendiente del gradiente con el backpropagation del mpetu traingda - pendiente del gradiente con el backpropagation adaptativo del lr traingdx - pendiente w/momentum y backpropagation adaptativo del gradiente del lr trainlm - backpropagation de Levenberg-Marquardt trainoss - backpropagation secante de un solo paso trainr - funciones ascendentes del entrenamiento w/learning al azar trainrp - backpropagation resistente (Rprop) trains - funciones incrementales del entrenamiento w/learning secuencial trainscg - backpropagation conyugal del gradiente descendente

6.9 Funciones de transferencia


compet - funcin de transferencia competitiva hardlim - funcin de transferencia escalon hardlims - funcin de transferencia de limite simtrica 9

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

6.10 Simulacin redes


sim - simula una red neuronal init - inicializa una red neuronal adap - permite que una red neuronal se adapte train - entrena a una red neuronal disp - exhibe las caractersticas de una red neuronal exhibit - exhibe el nombre y las caractersticas de una variable de la red neuronal

6.11 Funciones del peso


dist - funcin euclidiana de la distancia del peso dotprod - funcin del producto de punto del peso mandist - funcin de la distancia de Maniatan del peso negdist - funcin del producto de punto del peso normprod - funcin normalizada del producto de punto del peso

6.12 Funciones de inicializacin de los pesos y bias


initcon - funcin de inicializacin diagonal de la conciencia initzero - funcin de inicializacin a cero de weight/bias randnc - funcin de inicializacin normalizada de la columna del peso randnr - funcin de inicializacin normalizada de la fila del peso rands - funcin de inicializacin simtrica al azar de weight/bias

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

En la ventana de comandos de Matlab se muestra el paso a paso de la ejecucin del programa

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

Вам также может понравиться