Comando s Dered Neuronal

37
nntool Propósito Red Abierta / Data Manager Sintaxis nntool Descripción nntool abre la ventana Red / Data Manager, que permite la importación, creación, uso y exportación de las redes y los datos neuronales. nftool Propósito Red neuronal herramienta de montaje Sintaxis nftool Descripción nftool abre la herramienta de montaje de redes neuronales GUI. Algoritmo nftool te lleva a través de la solución de un problema de ajuste de datos, la solución con una red de alimentación directa de dos capas entrenado con Levenberg-Marquardt. nprtool Propósito Red neuronal herramienta de reconocimiento de patrones Sintaxis nprtool

description

comandos de matlab

Transcript of Comando s Dered Neuronal

nntoolPropsitoRed Abierta / Data ManagerSintaxisnntoolDescripcinnntool abre la ventana Red / Data Manager, que permite la importacin, creacin, uso y exportacin de las redes y los datos neuronales.nftoolPropsitoRed neuronal herramienta de montajeSintaxisnftoolDescripcinnftool abre la herramienta de montaje de redes neuronales GUI.Algoritmonftool te lleva a travs de la solucin de un problema de ajuste de datos, la solucin con una red de alimentacin directa de dos capas entrenado con Levenberg-Marquardt.nprtoolPropsitoRed neuronal herramienta de reconocimiento de patronesSintaxisnprtoolDescripcinnprtool abre la red neuronal GUI de reconocimiento de patrones.Algoritmonprtool te lleva a travs de la solucin de un problema de clasificacin de reconocimiento de patrones utilizando una red de alimentacin directa de dos capas con las neuronas de salida sigmoide.------------------------------- Introduccin de la gua de usuario de Red Neuronal-------------------------------Captulo 2

Introduccin

El flujo de trabajo para el proceso de diseo de la red neuronal tiene seis pasos principales:

0 recopilar datos

1 crear la red,

2 configurar la red,

3 inicializar los pesos y sesgos,

4 entrenar a la red,

5 validar la red y

6 utilizar la red.

Este captulo trata de las ideas bsicas detrs de los pasos 1, 2, 4 y 6. Los detalles de estos pasos vendrn en los prximos captulos, al igual que las discusiones sobre los pasos 3 y 5, ya que los puntos finos son especficos para el tipo de red que est utilizando. (Paso 0 ocurre generalmente fuera del marco de la Red Neuronal Herramientas software, pero se discutir en el captulo 3, "Redes y multicapa Formacin backpropagation. ")

El software de red neuronal de la caja de herramientas utiliza el objeto de red para almacenar todosla informacin que define una red neural. En este captulo se describe los bsicos componentes de una red neuronal y muestra cmo se crean y se almacenan en el objeto de red.

Despus se ha creado una red neural, que necesita ser configurado y luegoentrenado. Configuracin implica la organizacin de la red de modo que sea compatible el problema que quiere resolver, de acuerdo con datos de la muestra. Despus de la red se ha configurado, los parmetros de red ajustables (llamadopesos y sesgos) necesitan ser sintonizado, por lo que el rendimiento de la red esoptimizado. Este proceso de ajuste se conoce como la formacin de la red.Configuracin y formacin requieren que la red estar provisto de ejemplodatos. En este captulo se muestra cmo dar formato a los datos para su presentacin a la red. Tambin explica la configuracin de la red y las dos formas de la red formacin: formacin gradual y entrenamiento por lotes.

Hay cuatro niveles diferentes en los que el software de red neuronal de la caja de herramientas puede ser utilizado. El primer nivel est representado por las interfaces grficas de usuario que se describen en Captulo 1, "Getting Started". Estos proporcionan una forma rpida de acceder al poder de la caja de herramientas para muchos problemas de la funcin de ajuste, reconocimiento de patrones, agrupacin y anlisis de series de tiempo.

El segundo nivel de uso de la caja de herramientas es a travs de las operaciones bsicas de lnea de comandos. Las funciones de lnea de comandos utilizan listas de argumentos simples con omisin inteligente configuracin de parmetros de la funcin. (Puede anular todos los ajustes predeterminados, para mayor funcionalidad.) En este captulo, y los que siguen, se concentran en las operaciones de lnea de comandos.

Las interfaces grficas de usuario que se describen en el Captulo 1, "Introduccin" pueden automticamente generar archivos M con la aplicacin de lnea de comandos de la interfaz grfica de usuario operaciones. Esto proporciona una buena introduccin a la utilizacin de la lnea de comandos funcionalidad.

Un tercer nivel de uso de la caja de herramientas es la personalizacin de la caja de herramientas. Esta avanzada capacidad permite al usuario crear sus propias redes neuronales costumbre, sin dejar de tener acceso a todas las funciones de la caja de herramientas. El cuarto nivel de la caja de herramientas uso es la capacidad de modificar cualquiera de los M-archivos contenidos en la caja de herramientas. Cada componente computacional est escrito en cdigo MATLAB y es totalmente accesible.

El primer nivel de uso de la caja de herramientas (a travs de las interfaces grficas de usuario) se describe en el Captulo 1,"Primeros pasos", que tambin introdujo las operaciones de lnea de comandos. El prximo siete captulos discutirn las operaciones de lnea de comandos con ms detalle. La personalizacin de la caja de herramientas se describe en el captulo 9, "Temas avanzados".

Neurona Modelo

Neurona simple

El bloque de construccin fundamental para las redes neuronales es el de una sola entrada neurona, tal como el ejemplo que aparece a continuacin.

Hay tres operaciones funcionales diferenciadas que tienen lugar en este ejemplo neurona. En primer lugar, la entrada escalar p se multiplica por el peso w escalar a la forma la wp producto, de nuevo un escalar. En segundo lugar, se aade el wp entrada ponderada a la escalar sesgo b para formar la entrada neta n. (En este caso, se puede ver el sesgo cambio de la funcin f, a la izquierda por una cantidad b. El sesgo es muy similar a un peso, excepto que tiene una entrada constante de 1.) Finalmente, se pasa la entrada neta a travs de la funcin de transferencia F, que produce la salida de un escalar. Los nombres dado a estos tres procesos son: la funcin de peso, la funcin de entrada neta y la funcin de transferencia.

Para muchos tipos de redes neuronales, la funcin de peso es un producto de un peso veces el de entrada, pero otras funciones de peso (por ejemplo, la distancia entre el peso y la entrada, | w-p |) son utilizadas habitualmente. (Consulte "Funciones de peso" en la pgina 12-23 para obtener una lista de funciones de peso.) La funcin de red ms comn de entrada es la suma de las entradas ponderadas con el sesgo, pero otras operaciones, tales como la multiplicacin, se pueden utilizar. (Consulte "Funciones de las entradas netas" en la pgina 12-11 para obtener una lista de las funciones de entrada netos.) Captulo 6, "Redes de Base Radial," discute cmo la distancia se puede utilizar como la funcin de peso y la multiplicacin se puede utilizar como la funcin de entrada de red. Tambin hay muchos tipos de funciones de transferencia. Ejemplos de varias funciones de transferencia estn en "funciones de transferencia" en la la pgina 2-5. Vase tambin "Funciones de transferencia" en la pgina 12-21.

Tenga en cuenta que w y b son ambos parmetros escalares ajustables de la neurona. La idea central de las redes neuronales es que tales parmetros pueden ser ajustados de manera que la red presenta un comportamiento deseado o interesante. Por lo tanto, se puede entrenar la red para hacer un trabajo en particular mediante el ajuste de los parmetros de peso o sesgo.

Todas las neuronas en el software de red neuronal de la caja de herramientas disponen de medios de un sesgo, y un sesgo se utiliza en muchos de los ejemplos y se supone en la mayora de esta caja de herramientas. Sin embargo, se puede omitir un sesgo en una neurona, si quieres.

Funciones de Transferencia

Muchas funciones de transferencia se incluyen en el software de red neuronal de la caja de herramientas.Dos de las funciones ms utilizadas se muestran a continuacin.

La siguiente figura muestra la funcin de transferencia lineal.

Las neuronas de este tipo se utilizan en la capa final de redes de mltiples capas que son utilizados como aproximadores de funcin. Esto se demuestra en el captulo 3, "multicapa Redes y retropropagacin entrenamiento".

La funcin de transferencia sigmoide se muestra a continuacin toma la entrada, que puede tener cualquier valor entre ms y menos infinito, y aplasta la salida en el rango de 0 a 1.

Esta funcin de transferencia se utiliza comnmente en las capas ocultas de multicapa redes, en parte porque es diferenciable.

El smbolo en la plaza a la derecha de cada grfica se muestra la funcin de transferencia anterior representa la funcin de transferencia asociada. Estos iconos reemplazan el f general en los bloques del diagrama de red para mostrar la transferencia en particular funcin utilizada.

Para obtener una lista completa de funciones de transferencia y sus iconos, consulte "Transferencia Funciones "en la pgina 12-21. Tambin puede especificar sus propias funciones de transferencia.

Usted puede experimentar con una neurona simple y diversas funciones de transferencia por ejecutar el nnd2n1 programa de demostracin.

Neurona con vector de entrada

El simple neurona puede ser extendido para manejar entradas que son vectores. Una neurona con un nico vector de entrada R-elemento se muestra a continuacin. Aqu, la entrada individual elementos

p1, p2,... pR

Se multiplican por pesos

w1,1 , w1,2, ... w1, R

Y los valores ponderados son alimentados a la unin sumadora. Su suma es simplemente Wp, el producto escalar de la (fila nica) de la matriz W y el vector p. (Hay otras funciones de peso, adems del producto de punto, tales como la distancia entre la fila de la matriz de peso y el vector de entrada, como en el captulo 6,"Redes de Base Radial".)

Donde

R = nmero de elementos en el vector de entrada.

La neurona tiene un sesgo b, que se suma con las entradas ponderadas para formar el n de entrada neta. (Adems de la suma, otras funciones de entrada neto puede ser utilizados, tales como la multiplicacin que se utiliza en el Captulo 6, "Base Radial Redes ".) La entrada neta n es el argumento de la funcin de transferencia f.

Esta expresin puede, por supuesto, estar escrito en cdigo MATLAB como

Sin embargo, rara vez se va a escribir cdigo en este nivel, de dicho cdigo ya est construido en funciones para definir y simular redes enteras.

Notacin abreviada

La figura de una sola neurona se muestra anterior contiene una gran cantidad de detalle. Cuando considerar las redes con muchas neuronas, y quizs capas de muchas neuronas, hay tanto detalle que los principales pensamientos tienden a perderse. Por lo tanto, las autoras han ideado una notacin abreviada para una neurona individual. Esta notacin, que se utiliza ms adelante en circuitos de mltiples neuronas, se muestra aqu.

Aqu el vector de entrada p est representado por la barra vertical slido oscuro a la izquierda. Las dimensiones de p se muestran a continuacin el smbolo p en la figura como Rx1. (Nota que una letra mayscula, como R en la frase anterior, se utiliza cuando se hace referencia con el tamao de un vector.) Por lo tanto, p es un vector de elementos de entrada R. Estas entradas postmultiply la de una sola fila, R-columna de matriz W. Al igual que antes, una constante 1 entra la neurona como una entrada y se multiplica por un escalar sesgo b. La entrada a la red de la transferencia de la funcin f es n, la suma del sesgo b y el producto Wp. Esta suma es pasada a la funcin de transferencia F de salida para obtener una de la neurona, que en este caso es un escalar. Tenga en cuenta que si hay ms de una neurona, la salida de la red sera un vector.

Una capa de una red se define en la figura anterior. Una capa incluye la pesos, las operaciones de multiplicacin y el resumen (en este caso se dieron cuenta como vector producto Wp), el sesgo b, y la funcin de transferencia f. La matriz de insumos, vector p, no se incluye en o llama una capa.

Al igual que con la "neurona simple" en la pgina 2-4, hay tres operaciones que tienen colocar en la capa: la funcin de peso (multiplicacin de matrices, o producto punto, en este caso), la funcin de entrada neta (suma, en este caso) y la transferencia funcin.

Cada vez que se utiliza esta notacin abreviada de red, los tamaos de las matrices se muestran justo debajo de sus nombres de variables de matriz. Esta notacin le permitir entender las arquitecturas y siga las matemticas de matriz asociadas con ellos.

Como se discuti en "Funciones de transferencia" en la pgina 2-5, cuando una transferencia especfica funcin es para ser utilizado en una figura, el smbolo de funcin de transferencia que reemplaza la f se muestra arriba. Estos son algunos ejemplos.

Usted puede experimentar con una neurona de dos elementos mediante la ejecucin de la manifestacin nnd2n2 programa.

Arquitecturas de red

Dos o ms de las neuronas que se muestran anteriormente se pueden combinar en una capa, y una particular, la red podra contener uno o ms de tales capas. Consideremos en primer lugar un de una sola capa de neuronas.

Una capa de neuronas

Una red de una sola capa con los elementos de entrada R y S neuronas sigue.

Donde

R = nmero de elementos en el vector de entrada.

S = nmero de neuronas en la capa

S = nmero de capas en la neurona.

En esta red, cada elemento del vector de entrada p est conectado a cada neurona de entrada a travs de la matriz de pesos W. El ITH neurona tiene un verano que se rene sus entradas y sesgo ponderados para formar su propia salida escalar n (i). Los diversos n (i) tomados juntos forman un S-elemento de entrada neta vector n. Finalmente, la capa de neurona salidas forman un vector columna a. La expresin para una se muestra en la parte inferior de la figura.

Tenga en cuenta que es comn que el nmero de entradas a una capa sea diferente del nmero de neuronas (es decir, R no es necesariamente igual a S). Una capa no es obligada a tener el nmero de sus entradas igual al nmero de sus neuronas.

Puede crear una sola capa de neuronas (composite) que tiene la transferencia diferente funciones simplemente poniendo dos de las redes que se muestran anteriormente en paralelo. Ambos redes tendran las mismas entradas, y cada red crearan algunas de las salidas.

Los elementos del vector de entrada entren en la red a travs de la matriz de pesos W.

Tenga en cuenta que los ndices de fila sobre los elementos de la matriz W indican el destino ndices de neuronas del peso, y la columna indica que la fuente es la entrada para ese peso. Por lo tanto, los ndices en w1,2 dicen que la intensidad de la seal desde el segundo elemento de entrada a la primera (y nica) neurona es w1,2.

La entrada de la red R de una sola capa S neurona tambin se puede dibujar en abreviado notacin.

Aqu p es un vector de entrada de longitud R, W es una matriz de SXR, y a y b son S vectores de longitud. Tal como se define anteriormente, la capa de neurona incluye el peso matriz, las operaciones de multiplicacin, el sesgo vector b, el verano, y la transferir bloques de funcin.

Entradas y Capas

Describir las redes que tienen mltiples capas, la notacin debe extenderse. Especficamente, es necesario hacer una distincin entre las matrices de peso que estn conectados a las entradas y las matrices de peso que estn conectados entre las capas. Ella tambin tiene que identificar el origen y destino de las matrices de peso.

Vamos a llamar a las matrices de peso conectadas a las entradas pesos de entrada; llamaremos matrices de peso conectados a la capa salidas de los pesos de capa. Adems, superndices se utilizan para identificar la fuente (segundo ndice) y el destino (Primer ndice) para los diferentes pesos y otros elementos de la red. A ilustrar, la red de entrada mltiple de una sola capa se mostr anteriormente se vuelve a dibujar en siguiente formulario abreviado.

Como puede ver, la matriz de peso conectado al vector de entrada p es etiquetado como una matriz de pesos de entrada (IW1,1) con un (segundo ndice) Fuente 1 y un destino 1 (primer ndice). Elementos de la capa 1, tales como su sesgo, entrada de red, y de salida tiene un superndice 1 decir que estn asociados con la primera capa.

"Mltiples capas de neuronas" Usos peso de la capa (LW) matrices, as como entrada peso (IW) matrices.

Mltiples capas de neuronas

Una red puede tener varias capas. Cada capa tiene una matriz de peso W, un sesgo vector b, y una salida vector a. Para distinguir entre las matrices de peso, vectores de salida, etc., para cada una de estas capas en las figuras, el nmero de la capa se aade como un superndice a la variable de inters. Usted puede ver el uso de esta notacin capa en la red de tres capas se muestra a continuacin, y en el ecuaciones en la parte inferior de la figura.

La red se muestra arriba tiene R1 insumos, S1 neuronas de la primera capa, S2 neuronas de la segunda capa, etc. Es comn para diferentes capas tengan diferentes nmeros de neuronas. Una entrada constante 1 se alimenta al sesgo para cada neurona.

Tenga en cuenta que los productos de cada capa intermedia estn las entradas a la siguiente capa. As capa 2 puede ser analizada como una red de una sola capa con entradas S1, S2 neuronas, y un S2XS1 matriz de peso W2. La entrada a la capa 2 es a1; la salida es a2. Ahora que todos los vectores y matrices de capa 2 se han identificado, se puede ser tratado como una red de una sola capa en su propia. Este enfoque puede ser tomado con cualquier capa de la red.

Las capas de una red multicapa desempean papeles diferentes. Una capa que produce la salida de la red se llama una capa de salida. Todas las dems capas se denominan oculta capas. La red de tres capas mostrada anteriormente tiene una capa de salida (capa 3) y dos capas ocultas (capas 1 y 2). Algunos autores se refieren a las entradas como cuarta capa. Esta caja de herramientas no utiliza esa designacin.

La arquitectura de una red multicapa con una sola vector de entrada puede ser especificado con la notacin R-S1-S2 -...- SM, donde el nmero de elementos de la se especifican vector de entrada y el nmero de neuronas en cada capa.

La misma red de tres capas tambin se puede dibujar usando la notacin abreviada.

Redes de varias capas son muy poderosas. Por ejemplo, una red de dos capas, donde la primera capa es sigmoide y la segunda capa es lineal, pueden ser entrenados para aproximar cualquier funcin (con un nmero finito de discontinuidades) as arbitrariamente. Este tipo de red de dos capas se utiliza ampliamente en el captulo 3, "multicapa Redes y retropropagacin Formacin".

Aqu se supone que la salida de la tercera capa, a3, es la salida de la red de inters, y esta salida es etiquetado como y. Esta notacin se utiliza para especificar el de salida de las redes de mltiples capas.

Funciones de proceso de entrada y salida

Entradas de red podran haber asociado funciones de procesamiento. Tratamiento funciones de transformar los datos de entrada de usuario a una forma que es ms fcil o ms eficaz para una red.

Por ejemplo, mapminmax transforma los datos de entrada de modo que todos los valores caen en la intervalo [-1, 1]. Esto puede acelerar el aprendizaje de muchas redes. removeconstantrows elimina las filas del vector de entrada que corresponden a elementos de entrada que siempre tienen el mismo valor, ya que estos elementos de entrada no se proporciona ninguna informacin til a la red. La tercera comn funcin de procesamiento es fixunknowns, que recodifica datos desconocidos (representados en los datos del usuario con valores NaN) en una forma numrica para la red. fixunknowns conserva informacin sobre la que se conocen los valores y que se desconoce.

Del mismo modo, las salidas de red tambin pueden tener asociados funciones de procesamiento. Funciones de procesamiento de salida se utilizan para transformar los vectores diana proporcionados por el usuario para el uso de la red. Entonces, las salidas de la red se procesan inversa-utilizando las mismas funciones para producir datos de salida con las mismas caractersticas que el original objetivos proporcionados por el usuario.

Tanto mapminmax y removeconstantrows se asocian a menudo con la red salidas. Sin embargo, fixunknowns no lo es. Los valores desconocidos en objetivos (Representados por valores NaN) no necesitan ser modificado para su uso de la red.

Las funciones de procesamiento se describen con ms detalle en "Preprocesamiento y Tratamiento posterior "en el Captulo 3.

Introduccin al Object Red

La forma ms fcil para crear una red neural es utilizar uno de la creacin de la red funciones (ver "Nuevas Redes Funciones" en la pgina 12-14 para obtener una lista completa de las mismas funciones). Para investigar cmo se hace esto, se puede crear un simple, de dos capas red de alimentacin directa, utilizando el feedforwardnet comando:

net = feedforwardnet

Este comando mostrar la siguiente:

net =

Neural Network name: 'Feed-Forward Neural Network' efficiencyMode: 'speed' efficiencyOptions: .cacheDelayedInputs, .flattenTime, .memoryReduction userdata: (your custom info) dimensions:

numInputs: 1 numLayers: 2 numOutputs: 1 numInputDelays: 0 numLayerDelays: 0 numFeedbackDelays: 0 numWeightElements: 20 sampleTime: 1

connections:

biasConnect: [1; 1] inputConnect: [1; 0] layerConnect: [0 0; 1 0] outputConnect: [0 1]

subobjects:

inputs: 1x1 cell array of 1 nnInput layers: 2x1 cell array of 2 nnLayers outputs: 1x2 cell array of 1 nnOutput biases: 2x1 cell array of 2 nnBiass inputWeights: 2x1 cell array of 1 nnWeight layerWeights: 2x2 cell array of 1 nnWeight functions:

adaptFcn: 'adaptwb' adaptParam: (none) derivFcn: 'defaultderiv' divideFcn: 'dividerand' divideParam: .trainRatio, .valRatio, .testRatio divideMode: 'sample' initFcn: 'initlay' performFcn: 'mse' performParam: .regularization, .normalization plotFcns: {'plotperform', plottrainstate, ploterrhist, plotregression} plotParam: 2x2 cell array of 1 nnParam trainFcn: 'trainlm' trainParam: .showWindow, .showCommandLine, .show, .epochs, .time, .goal, .min_grad, .max_fail, .mu, .mu_dec, .mu_inc, .mu_max

weight and bias values:

IW: {2x1 cell} containing 1 input weight matrix LW: {2x2 cell} containing 1 layer weight matrix b: {2x1 cell} containing 2 bias vectors

methods:

adapt: Learn while in continuous use configure: Configure inputs & outputs gensim: Generate Simulink model init: Initialize weights & biases perform: Calculate performance sim: Evaluate network outputs given inputstrain: Train network with examples view: View diagram unconfigure: Unconfigure inputs & outputs

evaluate: outputs = net(inputs)Esta pantalla es una visin general del objeto de red, que se utiliza para almacenar todos la informacin que define una red neural. Hay un montn de detalles aqu, pero hay algunas secciones clave que pueden ayudar a ver cmo el objeto de red es organizado.

La seccin de dimensiones almacena la estructura general de la red. Aqu puede ver que hay una entrada a la red (aunque la entrada puede ser un vector que contiene muchos elementos), una salida de red y dos capas.

La seccin de conexiones almacena las conexiones entre los componentes de la red. Por ejemplo, aqu hay un sesgo conectado a cada capa, la entrada es conectada a la capa 1, y la salida viene de capa 2. Tambin se puede ver que capa 1 est conectada a la capa 2. (Las filas de net.layerConnect representan la capa de destino, y las columnas representan la capa de origen. Un uno en este matriz indica una conexin, y un cero indica una falta de conexin. Para este ejemplo, hay uno solo en el elemento de la matriz de 2,1).

Los subobjetos clave del objeto de la red son los insumos, las capas, los productos, los prejuicios, inputWeights y layerWeights. Ver el subobjeto capas para la primera capa con el comando

net.layers{1}

Esto mostrara;

Neural Network Layer name: 'Hidden' dimensions: 20 distanceFcn: (none) distanceParam: (none) distances: [] initFcn: 'initnw' netInputFcn: 'netsum' netInputParam: (none) positions: [] range: [20x2 double]size: 20 topologyFcn: (none) transferFcn: 'tansig' transferParam: (none) userdata: (your custom info)

El nmero de neuronas en esta capa es de 20, que es el tamao predeterminado para el comando feedforwardnet. La funcin de entrada neto es netsum (suma) y la funcin de transferencia es la tansig. Si usted quisiera cambiar la transferencia funcin para logsig, por ejemplo, se podra ejecutar el comandonet.layers{1}.transferFcn = `logsig';

Para ver el subobjeto layerWeights para el peso entre las capas 1 y 2, utilice el comando

net.layerWeights{2,1}

Esto produce la siguiente respuesta. Neural Network Weight

delays: 0 initFcn: 'initzero' initConfig: .inputSize learn: true learnFcn: 'learngdm' learnParam: .lr, .mc size: [0 20] weightFcn: 'dotprod' weightParam: (none) userdata: (your custom info)

La funcin de peso es dotprod, que representa matriz estndar multiplicacin (producto punto). Tenga en cuenta que el tamao de este peso de capa es 0 por 20. La razn por la que tenemos cero filas se debe a que la red an no ha sido configurada para un conjunto de datos particular. El nmero de neuronas de salida es determinado por el nmero de elementos en el vector objetivo. Durante el proceso de configuracin, proporcionar la red con diferentes entradas y objetivos, y luego el nmero de neuronas de salida se pueden asignar.

Esto le da una idea de cmo est organizado el objeto de red. Para muchas aplicaciones, usted no tendr que preocuparse acerca de hacer cambios directamente al objeto de red, ya que est a cargo de la creacin de la red funciones (ver "Nuevas Redes funciones" en la pgina 12-14). Es por lo general slo cuando se desea anular los valores predeterminados del sistema que es necesario para acceder a la red objeto directamente. En captulos posteriores demostrarn cmo se hace esto para en particular las redes y mtodos de entrenamiento.

Si a usted le gustara investigar el objeto de red con ms detalle, se encuentra que los listados de objetos, como la que se muestra ms arriba, contiene enlaces a los archivos de ayuda en cada subobjeto. Basta con hacer clic en los enlaces, y se puede investigar de forma selectiva aquellas partes del objeto que son de inters para usted.

Configurar las entradas y salidas de red neuronal

Este tema forma parte del flujo de trabajo de diseo se describe en "Flujo de trabajo para Red Neuronal Diseo "en la pgina 1-2.

Despus se ha creado una red neuronal, se debe configurar. El paso de configuracin consiste en el examen de los datos de entrada y de destino, el establecimiento de entrada y salida de los tamaos de la red para que coincida con los datos y configurar ms opciones de entradas y salidas que la voluntad de procesamiento permitir mejor rendimiento de la red. El paso de la configuracin se realiza normalmente de forma automtica, cuando la funcin de formacin se llama. Sin embargo, puede hacerse manualmente, mediante el uso de la funcin de configuracin. Por ejemplo, para configurar la red que ha creado previamente para aproximar una funcin seno, emita los siguientes comandos:

p = -2:.1:2; t = sin(pi*p/2); net1 = configure(net,p,t);

Usted ha proporcionado a la red con un sistema de ejemplo de insumos y metas (deseada salidas de la red). Con esta informacin, la funcin configure puede configurar la red tamaos de entrada y salida para que coincida con los datos.

Despus de la configuracin, si nos fijamos de nuevo en el peso entre las capas 1 y 2, que puede ver que la dimensin del peso es de 1 por 20. Esto se debe a que el objetivo para esta red es un escalar.

net1.layerWeights{2,1} Neural Network Weight

delays: 0 initFcn: 'initzero' initConfig: .inputSize learn: true learnFcn: 'learngdm' learnParam: .lr, .mc size: [1 20] weightFcn: 'dotprod' weightParam: (none) userdata: (your custom info

Adems de establecer las dimensiones apropiadas para los pesos, el paso de configuracin tambin define la configuracin para el procesamiento de las entradas y salidas. El procesamiento de la entrada puede estar situado en el subobjeto entradas:

net1.inputs{1}

Neural Network Input name: 'Input' feedbackOutput: [] processFcns: {'removeconstantrows', mapminmax} processParams: {1x3 cell array of 2 params} processSettings: {1x3 cell array of 3 settings} processedRange: [1x2 double] processedSize: 1 range: [1x2 double] size: 1 userdata: (your custom info)

Antes de la entrada se aplica a la red, que ser procesada por dos funciones: removeconstantrows y mapminmax. Estos son discutidos ampliamente en el captulo 3, "Multicapa Redes y retropropagacin Formacin", as que no aborda el detalles aqu. Estas funciones de procesamiento pueden tener algn procesamiento parmetros, que estn contenidos en el subobjeto net1.inputs {1} .processParam. Estos tienen valores por defecto que pueda anular. Las funciones de procesamiento tambin pueden tener opciones de configuracin que son depende de los datos de la muestra. Estas estn contenidas en net1.inputs {1} .processSettings y se establecen durante la configuracin proceso. Por ejemplo, la funcin de procesamiento mapminmax normaliza los datos de modo que todas las entradas estn en el intervalo [-1,1]. Sus opciones de configuracin incluyen la Los valores mnimos y mximos en los datos de ejemplo, que necesita para llevar a cabo la normalizacin correcta. Esto ser discutido con mucha ms profundidad en Captulo 3, "multicapa Redes y retropropagacin Formacin".

Como regla general, se utiliza el trmino "parmetro", como en los parmetros del proceso, parmetros de entrenamiento, etc., para denotar constantes que tienen valores predeterminados que son asignado por el software cuando se crea la red (y que puede anular). Utilizamos el trmino "ajuste de configuracin", como en la configuracin de proceso ajuste, para denotar constantes que se asignan por el software de un anlisis de datos de la muestra. Estos ajustes no tienen valores por defecto, y no debe generalmente ser anulado.

Estructuras de datos

En esta seccin se explica cmo el formato de las estructuras de datos de entrada afecta a la simulacin de redes. Se inicia con redes estticas, y luego contina con redes dinmicas. La siguiente seccin describe cmo el formato de los datos estructuras afecta a la formacin de la red.

Hay dos tipos bsicos de vectores de entrada: las que se producen al mismo tiempo (en el mismo tiempo, o en ninguna secuencia de tiempo particular), y aquellos que se producen secuencialmente en el tiempo. Para los vectores concurrentes, el orden no es importante, y si hubiera un nmero de redes que funcionan en paralelo, se puede presentar un vector de entrada a cada una de las redes. Para los vectores secuenciales, el orden en que los vectores aparecern es importante.

Simulacin con Concurrentes Entradas en una esttica Red

La situacin ms simple para la simulacin de una red se produce cuando la red est simulada es esttico (no tiene comentarios o retrasos). En este caso, no es necesario ser preocupados acerca de si o no los vectores de entrada se producen en un momento particular secuencia, para que pueda tratar los insumos como concurrente. Adems, el problema es hecho an ms simple asumiendo que la red tiene un solo vector de entrada. Utilice la siguiente red como un ejemplo.

Para configurar esta red feedforward lineal, utilice los siguientes comandos:

Para simplificar, asignar la matriz de pesos y el sesgo de ser

W = [1 2] b = [0]

Los comandos para estas asignaciones son

net.IW{1,1} = [1 2];net.b{1} = 0;

Supongamos que el conjunto de datos de simulacin de la red consiste en Q = 4 vectores concurrentes:

Vectores concurrentes se presentan a la red como una sola matriz:

P = [1 2 2 3; 2 1 3 1];

Ahora puede simular la red:

Una sola matriz de vectores concurrentes se presenta a la red, y la red produce una sola matriz de vectores concurrentes como salida. El resultado sera lo mismo si hubiera cuatro redes que funcionan en paralelo y cada red recibi uno de los vectores de entrada y produce una de las salidas. La orden de los vectores de entrada no es importante, porque no interactan con el uno al otro.

Simulacin con secuenciales Entradas en una red dinmica

Cuando una red contiene retrasos, la entrada a la red sera normalmente una secuencia de vectores de entrada que se producen en un orden de tiempo determinado. Para ilustrar este caso, la siguiente figura muestra una red simple que contiene una demora.

Los siguientes comandos crean esta red:

net = linearlayer([0 1]);net.inputs{1}.size = 1;net.layers{1}.dimensions = 1;net.biasConnect = 0;

Asignar la matriz de peso para ser

W = [1 2]

El comando esnet.IW{1,1} = [1 2];Supongamos que la secuencia de entrada es

Entradas secuenciales se presentan a la red como elementos de un conjunto de clulas:

Ahora puede simular la red:

Introduce un conjunto de clulas que contiene una secuencia de entradas, y la red produce un conjunto de clulas que contiene una secuencia de salidas. El orden de las entradas es importante cuando se presentan como una secuencia. En este caso, la corriente de salida se obtiene multiplicando la entrada de corriente por 1 y el anterior de entrada por 2 y sumando el resultado. Si se va a cambiar el orden de los insumos, los nmeros obtenidos en la salida cambiaran.

Simulacin con Concurrentes Entradas en una red dinmica

Si se va a aplicar los mismos insumos como un conjunto de entradas simultneas en lugar de una secuencia de entradas, se obtendra una respuesta completamente diferente. (Sin embargo, no est claro por qu querra hacer esto con una dinmica la red). Sera como si cada entrada se aplica al mismo tiempo a un independiente red paralela. Para el ejemplo anterior, "Simulacin con secuencial Entradas en una red dinmica "en la pgina 2-24, si utiliza un conjunto concurrente de insumos que tienes

p1 = [1], p2 = [2], p3 = [3], p4 = [4]

Que se pueden crear con el siguiente cdigo:

P = [1 2 3 4];

Cuando se simula con entradas simultneas, se obtiene

A = net(P)A = 1 2 3 4

El resultado es el mismo que si se hubiera aplicado al mismo tiempo cada una de las entradas a una red separada y computada una salida. Tenga en cuenta que debido a que no lo hiciste asignar todas las condiciones iniciales a los retrasos en la red, que se supone que 0. Para este caso, la salida es simplemente 1 veces la de entrada, porque el peso que multiplica la entrada de corriente es 1.

En ciertos casos especiales, es posible que desee simular la respuesta de la red a varias secuencias diferentes al mismo tiempo. En este caso, usted quiere presentar la red con un conjunto concurrente de secuencias. Por ejemplo, supongamos que quera presentar los siguientes dos secuencias a la red:

La entrada P debe ser una matriz de clulas, donde cada elemento de la matriz contiene los dos elementos de las dos secuencias que se producen al mismo tiempo:

P = {[1 4] [2 3] [3 2] [4 1]};

Ahora puede simular la red:

A = net(P);

La salida de la red resultante sera

A = {[1 4] [4 11] [7 8] [10 5]}

Como puede ver, la primera columna de cada matriz constituye la secuencia de salida producida por la primera secuencia de entrada, que era el utilizado en un anterior ejemplo. La segunda columna de cada matriz constituye la secuencia de salida producido por la segunda secuencia de entrada. No hay interaccin entre las dos secuencias concurrentes. Es como si estuvieran cada aplicada para separar redes que funcionan en paralelo.

El siguiente diagrama muestra el formato general de la P de entrada de red cuando hay Q secuencias simultneas de pasos de tiempo TS. Abarca todos los casos en que hay un solo vector de entrada. Cada elemento de la matriz de clulas es una matriz de vectores concurrentes que corresponden al mismo punto en el tiempo para cada secuencia. Si hay varios vectores de entrada, habr mltiples filas de matrices en la matriz celular.

En esta seccin, se aplica entradas secuenciales y simultneas a las dinmicas redes. En "Simulacin con Concurrentes Entradas en una red esttica" en la pgina 2-23, que aplic entradas simultneas en esttico redes. Tambin es posible aplicar entradas secuenciales a las redes estticas. No cambia la simulada respuesta de la red, pero puede afectar la forma en que la red es entrenada. Esto quedar claro en "Estilos de formacin" en la pgina 2-29.

Estilos de formacin

En esta seccin se describen dos estilos diferentes de entrenamiento. En el entrenamiento graduallos pesos y sesgos de la red se actualizan cada vez que una entrada espresentado a la red. En el entrenamiento por lotes los pesos y sesgos son sloactualizado despus se presentan todas las entradas. Los mtodos de entrenamiento por lotes songeneralmente ms eficiente en el entorno MATLAB, y sonhizo hincapi en el software de red neuronal de la caja de herramientas , pero hay algunosaplicaciones en las que la formacin gradual pueden ser tiles, por lo que es paradigmaimplementado tambin.

Formacin incrementales con adaptacin

Formacin incremental se puede aplicar a ambas redes estticas y dinmicas,aunque se usa ms comnmente con redes dinmicas, como adaptativofiltros. Esta seccin muestra cmo incremental de formacin se realiza enambas redes estticas y dinmicas.

Formacin incremental de Redes estticas

Consideremos de nuevo la red esttica utilizada en el primer ejemplo. Usted quiere entrenarincrementalmente, de modo que los pesos y sesgos se actualizan despus de cada entrada espresentada. En este caso se utiliza la funcin de adaptacin, y las entradas y objetivosse presentan como secuencias.

Suponga que quiere entrenar la red para crear la funcin lineal:

Luego de las entradas anteriores,

los objetivos seran

Para el entrenamiento gradual, que presente las entradas y las metas como secuencias:

En primer lugar, configurar la red con cero pesos y sesgos iniciales. Adems, ponga latasa de aprendizaje inicial a cero para mostrar el efecto del entrenamiento gradual.

Recordemos de "Simulacin con Concurrentes Entradas en una red esttica" en lapgina 2-23 que, para una red esttica, la simulacin de la red produce lamismas salidas si las entradas se presentan como una matriz de concurrentevectores o como una matriz de clulas de vectores secuenciales. Sin embargo, esto no es cierto cuandola formacin de la red. Cuando se utiliza la funcin de adaptar, si las entradas sonpresenta como un conjunto de clulas de vectores secuenciales, a continuacin, los pesos se actualizan a medidacada entrada se presenta (modo incremental). Como se muestra en la siguiente seccin, si ellas entradas se presentan como una matriz de vectores concurrentes, a continuacin, los pesos sonactualizan slo despus de que todas las entradas se presentan (por lotes).

Ahora est listo para entrenar la red de forma incremental.

Las salidas de la red siguen siendo cero, debido a que la tasa de aprendizaje es cero, y elpesos no se actualizan. Los errores son iguales a los blancos:

Si ahora establecer la tasa de aprendizaje a 0.1 se puede ver cmo se ajusta la redcomo cada entrada se presenta:

La primera salida es la misma que con la tasa de aprendizaje cero, porque noactualizacin se hace hasta que se present la primera entrada. La segunda salida es diferente,debido a que los pesos han sido actualizados. Los pesos se siguen modificandocomo se calcula cada error. Si la red es capaz y la tasa de aprendizaje se establececorrectamente, el error es finalmente conducida a cero.

Formacin incremental con redes dinmicas

Tambin puede entrenar redes dinmicas de forma incremental. De hecho, este sera elsituacin ms comn.

Para entrenar a la red de forma incremental, presentar las entradas y las metas como elementosde matrices celulares. Aqu estn los Pi de entrada inicial y las entradas P y metas T comoelementos de arrays de clulas.

Tome la red lineal con un retraso en la entrada, tal como se utiliza en un anteriorejemplo. Inicializar los pesos a cero y ajustar la velocidad de aprendizaje a 0,1.

Quieres entrenar la red para crear la salida de corriente sumando losactual y las entradas anteriores. Esta es la misma secuencia de entrada que utiliz enel ejemplo anterior, con la excepcin de que se asigna el primer trmino de lasecuencia que la condicin inicial para el retraso. Ahora puede entrenar de forma secuencialla red mediante adaptarse.

La primera salida es cero, porque los pesos an no han sido actualizados. Los Laspesos cambian en cada paso de tiempo subsiguiente.

Formacin de lotes

La formacin de lotes, en la que los pesos y sesgos slo se actualizan despus de todo elentradas y objetivos se presentan, se pueden aplicar a tanto esttico como dinmicoredes. Ambos tipos de redes se discuten en esta seccin.

Formacin de lotes con redes estticas

La formacin de lotes se puede hacer usando adaptarse o entrenar, aunque tren esgeneralmente la mejor opcin, ya que normalmente tiene acceso a algoritmos de entrenamiento ms eficientes. Formacin incremental se hace generalmente con adaptarse; lotela formacin se hace generalmente con el tren.

Para la formacin de lotes de una red esttica con adaptar, los vectores de entrada deben serse inserta en una matriz de vectores concurrentes.

Comience con la red esttico utilizado en los ejemplos anteriores. La tasa de aprendizaje esajustado a 0.01.

Cuando se llama a adaptarse, invoca trenes (la funcin de adaptacin por defecto para elred lineal) y learnwh (la funcin de aprendizaje por defecto para los pesos ysesgos). trenes utiliza aprendizaje Widrow-Hoff.

Tenga en cuenta que las salidas de la red son todos cero, debido a que los pesos no sonactualizado hasta que todo el conjunto de entrenamiento se ha presentado. Si muestra elpesos, se encuentran

Esto es diferente del resultado despus de una pasada de adaptarse con incrementalesactualizacin.

Ahora realice el mismo entrenamiento por lotes mediante tren. Debido a que el Widrow-Hoffregla se puede utilizar en modo incremental o por lotes, puede ser invocada por adaptar otren. (Hay varios algoritmos que slo se pueden utilizar en el modo por lotes (por ejemplo,Levenberg-Marquardt), por lo que estos algoritmos slo pueden ser invocadas en tren.)

Para este caso, los vectores de entrada pueden estar en una matriz de vectores concurrentes o en unamatriz de clulas de vectores secuenciales. Debido a que la red es esttica y por tren siempre funciona en modo batch, tren convierte cualquier serie de clulas devectores secuenciales a una matriz de vectores concurrentes. Modo concurrentese utiliza siempre que sea posible la operacin porque tiene un ms eficienteimplementacin en cdigo MATLAB:

La red est configurada de la misma manera.

Ahora ya est listo para entrenar la red. Entrenarlo para una sola poca, porqueque utiliz una sola pasada de adaptarse. La funcin de la formacin por defecto para el linealred es trainb, y la funcin de aprendizaje por defecto para los pesos y sesgoses learnwh, lo que debera obtener los mismos resultados obtenidos utilizando adaptarse en elejemplo anterior, donde la funcin de adaptacin predeterminado era trenes.

Si muestra el peso despus de una poca de la formacin, a encontrar

Este es el mismo resultado que el modo por lotes en la formacin adaptarse. Con estticaredes, la funcin de adaptacin pueden implementar la formacin incremental o por lotes,dependiendo del formato de los datos de entrada. Si los datos se presentan como una matrizde vectores concurrentes, el entrenamiento por lotes se produce. Si los datos se presentan como unasecuencia, la formacin incremental de ocurre. Esto no es cierto para el tren, que siemprerealiza el entrenamiento por lotes, independientemente del formato de la entrada.

Formacin de lotes con redes dinmicas

El entrenamiento de las redes estticas es relativamente sencillo. Si utiliza entrenar alred se entrena en modo batch y las entradas se convierten en simultneovectores (columnas de una matriz), incluso si se pasan originalmente como una secuencia (elementos de un conjunto de clulas). Si utiliza adaptar, el formato de la entrada determinael mtodo de entrenamiento. Si se pasan las entradas como una secuencia, entonces lared se entrena en modo incremental. Si se pasan las entradas como concurrentevectores, entonces se utiliza el entrenamiento por lotes.

Con redes dinmicas, capacitacin modo batch se realiza normalmente con el tren solo,especialmente si slo existe una secuencia de entrenamiento. Para ilustrar esto, consideremos de nuevola red lineal con un retraso. Utilice una velocidad de aprendizaje de 0,02 para la formacin.(Cuando se utiliza un algoritmo de descenso de gradiente, normalmente se utiliza un aprendizaje ms pequeatarifa para el entrenamiento por lotes que el entrenamiento gradual, porque todo elgradientes individuales se suman antes de determinar el cambio de paso a lapesos).

Usted quiere entrenar a la red con la misma secuencia utilizada para laformacin gradual antes, pero esta vez que desee actualizar slo los pesosdespus de aplicar todas las entradas (modo batch). La red es simulada enmodo secuencial, debido a que la entrada es una secuencia, pero los pesos se actualizanen el modo por lotes.

Los pesos despus de una poca de la formacin son

Estos son diferentes pesos que usted obtendra mediante la formacin gradual,donde las ponderaciones se actualizan tres veces durante una sola pasada a travs de laconjunto de entrenamiento. Para el entrenamiento por lotes los pesos slo se actualizan una vez en cadapoca.

Feedback Formacin

El parmetro SHOWWINDOW le permite especificar si una ventana de formacin esvisible cuando se entrena. Aparecer la ventana de formacin de forma predeterminada. Otros dosparmetros, showCommandLine y mostrar, determinan si la lnea de comandossalida se genera y el nmero de pocas entre la retroalimentacin de lnea de comandosdurante el entrenamiento. Por ejemplo, este cdigo se apaga la ventana de formacin y dausted entrenando informacin de estado cada 35 pocas cuando la red es tardeentrenado con el tren: A veces es conveniente desactivar todas las pantallas de capacitacin. Para ello, apaguetanto en la ventana de capacitacin y retroalimentacin de lnea de comandos:

La ventana de la formacin aparece automticamente cuando se entrena. Utilizar elfuncin nntraintool para abrir y cerrar manualmente la ventana de la formacin.

Multicapa y Redes Formacin retro propagacin

a