Académique Documents
Professionnel Documents
Culture Documents
Guía de introducción
R 2016 un
Cómo contactar MathWorks
Teléfono: 508-647-7000
Marcas comerciales
patentes
productos de MathWorks están protegidos por una o más patentes estadounidenses. Por favor mira
www.mathworks.com/patents para más información.
Revisión histórica
Expresiones de gratitud
Agradecimientos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii
Empezando
1
Descripción del producto Caja de herramientas de redes neuronales. . . . . . . . . . . 1-2
Características destacadas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2
v
Uso de la herramienta Clustering red neuronal. . . . . . . . . . . . . 1-54
Uso de las funciones de línea de comandos. . . . . . . . . . . . . . . . . . . . . 1-63
Glosario
vi Contenido
Expresiones de gratitud
vii
Expresiones de gratitud
Expresiones de gratitud
Joe Hicklin de MathWorks para conseguir a Howard en la red neuronal hace años de investigación en la Universidad de Idaho, para
fomentar Howard y Mark escribir la caja de herramientas, para proporcionar ayuda crucial para conseguir la primera versión de la caja
de herramientas 1.0 de la puerta, para continuar para ayudar con la caja de herramientas en muchas maneras, y por ser tan buen
amigo.
Roy Lurie de MathWorks para la continuación de su entusiasmo por las posibilidades del software de red neuronal de la caja de
herramientas ™.
Mary Ann Freeman de MathWorks para el apoyo general y por su liderazgo de un gran equipo de personas que nos
gusta trabajar con.
Rakesh Kumar de MathWorks para proporcionar alegremente ayuda, estímulo, ideas técnicas y prácticas y
siempre ir la milla extra para nosotros.
Orlando de Jesús de la Universidad del Estado de Oklahoma por su excelente trabajo en el desarrollo y la programación de los
algoritmos de entrenamiento dinámicos que figuran en “Series de Tiempo y los sistemas dinámicos” y en la programación de los
controladores de red neural que se describen en “Neural Network Control Systems” en el Guía del usuario de red neuronal de la caja
de herramientas.
Martin T. Hagan, Howard B. Demuth, y Mark Hudson Beale permiso para incluir varios problemas, ejemplos y
otro material de Diseño de Redes Neuronales, enero de 1996.
viii
1
Empezando
Caja de herramientas de redes neuronales ™ ofrece algoritmos, funciones y aplicaciones para crear, tren, visualizar y
simular redes neuronales. Puede realizar la clasificación, regresión, clustering, reducción de dimensionalidad, la
predicción de series de tiempo, y el modelado de sistemas dinámicos y control.
La caja de herramientas incluye red neuronal convolucional y autoencoder algoritmos de aprendizaje profundas para la clasificación de
imágenes y cuentan con las tareas de aprendizaje. Para acelerar la formación de grandes conjuntos de datos, se pueden distribuir los
cálculos y datos a través de procesadores de múltiples núcleos, GPU y clusters de ordenadores utilizando Parallel Computing Toolbox
™.
Características principales
• La computación paralela y el apoyo de la GPU para acelerar la formación (con Parallel Computing
Toolbox)
• algoritmos de aprendizaje supervisado, incluyendo múltiples capas, de base radial, el aprendizaje de cuantificación
vectorial (LVQ), tiempo de retardo, autorregresivo no lineal (NARX), y la red neuronal recurrente (RNN)
• Simulink ® bloques para la construcción y evaluación de las redes neuronales y para aplicaciones de sistemas de control
1-2
Redes Neuronales general
Típicamente, las redes neuronales se ajustan, o entrenados, de modo que una entrada particular conduce a una salida de
objetivo específico. La siguiente figura ilustra tal situación. A continuación, se ajusta la red, basado en una comparación de la
salida y la meta, hasta que la salida de la red coincide con el objetivo. Típicamente, se necesitan muchos de tales pares de
entrada / diana para entrenar a una red.
Las redes neuronales han sido entrenados para realizar funciones complejas en varios campos, incluyendo el reconocimiento
de patrones, identificación, clasificación, el habla, la visión y los sistemas de control.
Las redes neuronales también pueden ser entrenados para resolver problemas que son difíciles para los ordenadores
convencionales o seres humanos. La caja de herramientas hace hincapié en el uso de los paradigmas de redes neuronales que se
acumulan a su vez se utilizan o ingeniería in-, financiera, y otras aplicaciones prácticas.
Los siguientes temas se explica cómo utilizar las herramientas gráficas para la formación de redes neuronales para resolver problemas en función
de ajuste, el reconocimiento de patrones, agrupamiento, y la serie de tiempo. El uso de estas herramientas le puede dar una excelente introducción
a la utilización del software de red neuronal de la caja de herramientas:
1-3
1 Empezando
1-4
El uso de redes neuronales de la caja de herramientas
• La primera forma es a través de sus herramientas. Puede abrir cualquiera de estas herramientas de una herramienta maestra iniciada por el
comando nnstart. Estas herramientas proporcionan una manera conveniente de acceder a las capacidades de la caja de herramientas para las
siguientes tareas:
• La segunda manera de usar la caja de herramientas es a través de las operaciones básicas de línea de comandos. Las operaciones de línea de
comandos ofrecen más flexibilidad que las herramientas, pero con algo de complejidad añadida. Si esta es su primera experiencia con la caja de
herramientas, las herramientas proporcionan la mejor carta de presentación. Además, las herramientas pueden generar secuencias de comandos
de MATLAB documentado ®
código para ofrecerle plantillas para crear sus propias funciones de línea de comandos personalizados. El proceso de utilización
de las herramientas, y luego generar y modificar secuencias de comandos de MATLAB, es una excelente manera de aprender
acerca de la funcionalidad de la caja de herramientas.
• La tercera manera de utilizar la caja de herramientas es a través de la personalización. Esta capacidad avanzada le permite crear
sus propias redes neuronales costumbre, sin dejar de tener acceso a todas las funciones de la caja de herramientas. Puede crear
redes con conexiones arbitrarias, y aún así ser capaz de entrenarlos en las funciones de capacitación caja de herramientas
existentes (siempre y cuando los componentes de la red son diferenciables).
• La cuarta forma de usar la caja de herramientas es a través de la capacidad de modificar cualquiera de las funciones contenidas en la
caja de herramientas. Cada componente computacional está escrito en código MATLAB y es totalmente accesible.
Estos cuatro niveles de uso de la caja de herramientas abarcan el principiante hasta el experto: herramientas simples guían al nuevo usuario a
través de aplicaciones específicas, y la personalización de red permite a los investigadores intentan nuevas arquitecturas con el mínimo esfuerzo.
Sea cual sea su nivel de red neuronal y el conocimiento de MATLAB, hay características caja de herramientas que se adaptan a sus necesidades.
Las mismas herramientas forman una parte importante del proceso de aprendizaje para el software de red neuronal de la
caja de herramientas. Se le guiará a través del proceso de diseño de redes neuronales para resolver problemas en cuatro
importantes áreas de aplicación, sin que sea necesario
1-5
1 Empezando
alguna experiencia en redes neuronales o sofisticación en el uso de MATLAB. Además, las herramientas pueden generar
automáticamente las secuencias de comandos simples y avanzadas de MATLAB que pueden reproducir los pasos realizados por la
herramienta, pero con la opción de redefinir los valores por defecto. Estos scripts pueden proporcionarle plantillas para crear código
personalizado, y que le puede ayudar a familiarizarse con la funcionalidad de línea de comandos de la caja de herramientas. Es muy
recomendable que utilice las instalaciones de generación automática de la escritura de estas herramientas.
1-6
Aplicaciones Toolbox de redes neuronales
Sería imposible cubrir toda la gama de aplicaciones para las que las redes neuronales han proporcionado soluciones pendientes.
Las secciones restantes de este tema describen sólo algunas de las aplicaciones en función de ajuste, el reconocimiento de
patrones, agrupamiento y análisis de series temporales. La siguiente tabla proporciona una idea de la diversidad de las
aplicaciones para las que las redes neuronales proporcionan soluciones del estado de la técnica.
Aeroespacial De alto rendimiento del piloto de aviones, la simulación de la trayectoria de vuelo, sistemas de
control de aviones, mejoras de piloto automático, aviones de simulación de componentes y
detección de fallos de componentes de aeronaves
de los bonos corporativos, análisis de uso de línea de crédito, tarjeta de crédito y seguimiento de
de precios
Industrial Predicción de los procesos industriales, tales como los gases de salida de los hornos,
complejo sustitución y costosos equipos utilizados para este fin en el pasado
1-7
1 Empezando
Médico análisis de las células del cáncer de mama, EEG y análisis de ECG, el diseño de la prótesis, la
optimización de los tiempos de trasplante, la reducción de gastos de hospital, mejora la
calidad del hospital, y el local de ensayos de emergencia asesoría
robótica sistemas de control de trayectoria, robot carretilla elevadora, los controladores del manipulador, y de visión
asesoramiento
1-8
Neural Network Diseño Pasos
1 Recolectar datos
2 Crear la red
3 Configurar la red
5 Entrenar la red
6 Validar la red
7 Utilizar la red
Va a seguir estos pasos utilizando tanto las herramientas GUI y operaciones de línea de comandos en las siguientes secciones:
1-9
1 Empezando
Las redes neuronales son buenos en funciones de ajuste. De hecho, hay pruebas de que una red neuronal bastante simple puede
adaptarse a cualquier función práctica.
Supongamos, por ejemplo, que usted tiene datos de una solicitud de vivienda. Desea diseñar una red que puede
predecir el valor de una casa (en $ 1000), teniendo en cuenta 13 piezas de información geográfica raíces y real.
Tiene un total de 506 hogares de ejemplo para los que tiene esos 13 elementos de datos y sus valores de mercado
asociados. Puede resolver este problema de dos maneras:
• Utilizar una interfaz gráfica de usuario, nftool, como se describe en “Uso de la herramienta de montaje de redes neuronales” en la
página 1-11.
• Utilice las funciones de línea de comandos, como se describe en “Uso de las funciones de línea de comandos” en la página 1-22.
En general, es mejor empezar con la interfaz gráfica de usuario, y luego utilizar la GUI para generar automáticamente las secuencias de comandos de
línea de comandos. Antes de utilizar cualquiera de los métodos, definir primero el problema mediante la selección de un conjunto de datos. Cada
interfaz gráfica de usuario tiene acceso a muchos conjuntos de datos de ejemplo que puede utilizar para experimentar con la caja de herramientas
(consulte “Neural Network Toolbox datos de ejemplo” en la página 1-96). Si usted tiene un problema específico que se quiere resolver, puede cargar
sus propios datos en el espacio de trabajo. La siguiente sección describe el formato de los datos.
La definición de un problema
Para definir un problema apropiado para la caja de herramientas, disponer un conjunto de vectores de entrada Q como columnas en una matriz.
Entonces, organizar otro conjunto de vectores blanco Q (los vectores de salida correctos para cada uno de los vectores de entrada) en una
segunda matriz (ver “Estructuras de datos” para una descripción detallada de los datos de formato para los datos de series estáticas y de
tiempo). Por ejemplo, se puede definir el problema apropiado para un booleano puerta Y con cuatro conjuntos de vectores de entrada de dos
elementos y objetivos de un elemento de la siguiente manera:
La siguiente sección muestra cómo entrenar una red para adaptarse a un conjunto de datos, utilizando la herramienta de ajuste de red neuronal interfaz
gráfica de usuario, nftool. Este ejemplo utiliza el conjunto de datos alojamiento provisto de la caja de herramientas.
1-10
Datos se ajustan con una red neuronal
1 Abra la interfaz gráfica de usuario de inicio de red neuronal con este comando:
nnstart
2 Hacer clic Herramienta de montaje Para abrir la herramienta de montaje de redes neuronales. (También puede utilizar el
mando nftool).
1-11
1 Empezando
4 Hacer clic Cargar ejemplo del conjunto de datos en la ventana de selección de datos. El montaje del conjunto de datos
Se abre la ventana Selector.
Nota Utilizar el entradas y objetivos opciones en la ventana de selección de datos cuando se necesitan para cargar datos desde el
espacio de trabajo de MATLAB.
1-12
Datos se ajustan con una red neuronal
5 Seleccionar Casa precios, y haga clic Importar. Esto le devuelve a la Selección de Datos
ventana.
6 Hacer clic Siguiente para visualizar la validación y la ventana de datos de prueba, que se muestra en el siguiente
figura.
Los conjuntos de datos de validación y de prueba se cada conjunto a 15% de los datos originales.
1-13
1 Empezando
Con estos ajustes, los vectores de entrada y vectores diana se dividieron aleatoriamente en tres grupos como
sigue:
• 15% se utiliza para validar que la red está generalizando y que deje de entrenamiento antes de sobreajuste.
• El último 15% se utiliza como una prueba completamente independiente de la generalización de la red.
(Ver “La división de los datos” para más discusión sobre el proceso de división de datos).
La red estándar que se utiliza para el montaje función es una red de alimentación directa de dos capas, con una función de
transferencia sigmoidal en la capa oculta y una función de transferencia lineal en la capa de salida. El número predeterminado
de neuronas ocultas se establece en 10. Es posible que desee aumentar este número después, si el rendimiento de la
formación de la red es deficiente.
1-14
Datos se ajustan con una red neuronal
1-15
1 Empezando
El entrenamiento continúa hasta que el error de validación no disminuyó durante seis iteraciones (parada de validación).
1-16
Datos se ajustan con una red neuronal
10 Debajo parcelas, hacer clic Regresión. Esto se utiliza para validar el rendimiento de la red.
Los siguientes gráficos de regresión muestran las salidas de la red con respecto a los objetivos para los conjuntos de
entrenamiento, validación y pruebas. Para un ajuste perfecto, los datos deben caer a lo largo de una línea de 45 grados,
donde las salidas de la red son iguales a los objetivos. Para este problema, el ajuste es razonablemente buena para todos los
conjuntos de datos, con valores de R en cada caso de 0,93 o superior. Si se requieren resultados aún más precisos, se
puede reciclar a la red haciendo clic reeducar en nftool. Esto va a cambiar los pesos iniciales y prejuicios de la red, y puede
producir una red mejorada después de la reconversión. Otras opciones se proporcionan en el siguiente panel.
1-17
1 Empezando
1 Ver el histograma de error para obtener una verificación adicional del rendimiento de la red.
Bajo la parcelas panel, haga clic Error de histograma.
1-18
Datos se ajustan con una red neuronal
Las barras azules representan los datos de entrenamiento, las barras verdes representan los datos de validación, y
las barras rojas representan los datos de prueba. El histograma le puede dar una indicación de los valores atípicos,
que son los puntos de datos, donde el ajuste es significativamente peor que la mayoría de los datos. En este caso, se
puede ver que mientras la mayoría de los errores se sitúan entre -5 y 5, hay un punto en el entrenamiento con un error
de 17 puntos y validación de errores de 12 y 13. Estos valores atípicos también son visibles en la trama pruebas de
regresión. El primero corresponde al punto con un objetivo de 50 y la salida alrededor de 33. Es una buena idea para
comprobar los valores extremos para determinar si los datos son malos, o si los puntos de datos son diferentes que el
resto del conjunto de datos. Si los valores extremos son puntos de datos válidos, pero no son como el resto de los
datos, entonces la red es la extrapolación de estos puntos.
2 Hacer clic Siguiente en la herramienta de montaje de redes neuronales para evaluar la red.
1-19
1 Empezando
Si no está satisfecho con el rendimiento de la red en los datos originales o nuevos, se puede hacer una de las
siguientes:
• Entrenar de nuevo.
Si el rendimiento en el conjunto de entrenamiento es bueno, pero el rendimiento de prueba es significativamente peor, lo que
podría indicar sobreajuste, a continuación, la reducción del número de neuronas puede mejorar sus resultados. Si el
rendimiento de la formación es pobre, entonces es posible que desee aumentar el número de neuronas.
4 Utilice este panel para generar una función de MATLAB o diagrama de Simulink para la simulación
la red neuronal. Usted puede utilizar el código generado o un diagrama para una mejor
1-20
Datos se ajustan con una red neuronal
entender cómo la red neuronal calcula salidas de las entradas, o desplegar la red con herramientas de MATLAB
Compiler ™ y otras herramientas de generación de código de MATLAB.
5 Utilice los botones de esta pantalla para generar secuencias de comandos o para guardar los resultados.
1-21
1 Empezando
• Puede hacer clic simple script o advanced script para crear código de MATLAB que se puede utilizar para reproducir
todos los pasos anteriores desde la línea de comandos. La creación de código de MATLAB puede ser útil si usted
desea aprender cómo utilizar la funcionalidad de línea de comandos de la caja de herramientas para personalizar el
proceso de formación. En “Uso de las funciones de línea de comandos” en la página 1-22, usted investigará los scripts
generados en más detalle.
• También puede hacer que la red guardada como red en el espacio de trabajo. Se pueden realizar pruebas adicionales sobre ella o
ponerla a trabajar en las nuevas entradas.
6 Cuando haya creado el código MATLAB y guardado los resultados, haga clic Terminar.
La forma más fácil de aprender a utilizar la funcionalidad de línea de comandos de la caja de herramientas es generar secuencias de comandos
desde las interfaces gráficas de usuario, y luego modificarlas para personalizar el entrenamiento de la red. A modo de ejemplo, se muestra el script
simple que fue creado en el paso 14 de la sección anterior.
1-22
Datos se ajustan con una red neuronal
% Entrenar a la red
[red, tr] = tren (neto, entradas, objetivos);
% Prueba de la red
salidas = netos (entradas);
errors = gsubtract (productos, objetivos); rendimiento = realizar (neto,
los objetivos, las salidas)
Ver la Red%
Ver (neto)
% Parcelas
% Descomentar estas líneas para permitir diferentes parcelas. % Figura,
plotperform (tr)% figura, plottrainstate (tr)% figura, plotfit (objetivos, salidas)%
figura, plotregression (objetivos, salidas)% figura, ploterrhist (errores)
Puede guardar el guión y, a continuación, ejecutarlo desde la línea de comandos para reproducir los resultados de la sesión de la GUI anterior.
También puede editar la secuencia de comandos para personalizar el proceso de formación. En este caso, siga cada paso en la secuencia de
comandos.
1 La secuencia de comandos supone que los vectores de entrada y vectores diana ya se cargan en
el espacio de trabajo. Si los datos no se cargan, puede cargar la siguiente manera:
1-23
1 Empezando
carga house_dataset
entradas = houseInputs; objetivos =
houseTargets;
Este conjunto de datos es uno de los conjuntos de datos de muestra que es parte de la caja de herramientas (consulte “Neural Network
Toolbox conjuntos de muestras de datos” en la página 1-96). Se puede ver una lista de todos los conjuntos de datos disponibles con el
comando ayudar a nndatasets. los carga
comando también le permite cargar las variables de cualquiera de estos conjuntos de datos utilizando sus propios nombres de
variables. Por ejemplo, el comando
se carga las entradas de vivienda en la matriz entradas y los objetivos de la vivienda en la matriz objetivos.
2 Crear una red. La red predeterminada para la función de ajuste (o regresión) problemas,
FITNET, es una red de alimentación directa con la función de transferencia tan-sigmoide defecto en la
función de transferencia de capa y lineal oculta en la capa de salida. Que asignó diez neuronas (un tanto
arbitrarias) a la capa oculta en el apartado anterior. La red tiene una neurona de salida, porque sólo hay un
valor de destino asociada a cada vector de entrada.
Nota Más neuronas requiere más cálculo, y tienen una tendencia a overfit los datos cuando el número es
demasiado alto, pero permitir que la red para resolver problemas más complicados. Más capas requieren más
cálculos, pero su uso puede resultar en la red para resolver problemas complejos de manera más eficiente. Para
utilizar más de una capa oculta, introduzca los tamaños de la capa oculta como elementos de una matriz en la FITNET
mando.
net.divideParam.trainRatio = 70/100;
net.divideParam.valRatio = 15/100; net.divideParam.testRatio
= 15/100;
Con estos ajustes, los vectores de entrada y vectores de impactos, se dividieron al azar, con un 70% utilizado para la
formación, el 15% para la validación y el 15% para la prueba. (Ver “La división de los datos” para más discusión sobre el
proceso de división de datos).
1-24
Datos se ajustan con una red neuronal
Durante el entrenamiento, se abre la siguiente ventana de entrenamiento. Esta ventana muestra el progreso de entrenamiento y le
permite interrumpir el entrenamiento en cualquier momento haciendo clic Formación parada.
1-25
1 Empezando
Esta formación se detuvo cuando el error de validación aumentó durante seis iteraciones, que se produjo en la iteración
23. Si hace clic Actuación en la ventana de formación, aparece un gráfico de los errores de entrenamiento, errores de
validación, y los errores de prueba, como se muestra en la siguiente figura. En este ejemplo, el resultado es razonable
debido a las siguientes consideraciones:
1-26
Datos se ajustan con una red neuronal
5 Prueba de la red. Después de que la red ha sido entrenado, que se puede utilizar para calcular
las salidas de la red. El siguiente código calcula las salidas de la red, los errores y el rendimiento general.
rendimiento =
6.0023
También es posible calcular el rendimiento de la red sólo en el equipo de prueba, mediante el uso de los índices de pruebas,
que se encuentran en el registro de instrucción. (Ver “Analizar red neuronal resultados tras el entrenamiento” para una
descripción completa del registro de entrenamiento.)
Tind = tr.testInd;
tstOutputs = netos (entradas (:, Tind));
1-27
1 Empezando
tstPerform =
9.8912
1-28
Datos se ajustan con una red neuronal
La salida de un seguimiento de los objetivos muy bien para la formación, pruebas y validación, y el valor R es más
de 0,95 para la respuesta total. Si se requieren resultados aún más precisos, podría intentar cualquiera de estos
enfoques:
• Cambiar los pesos iniciales de la red y los sesgos a los nuevos valores con en eso y formar de nuevo (ver
“Inicialización de pesos” (init)).
1-29
1 Empezando
• Pruebe con un algoritmo de entrenamiento diferente (ver “Algoritmos de entrenamiento”). En este caso, la respuesta de la red
es satisfactoria, y ahora se puede poner la red para utilizar en las nuevas entradas.
Ver (neto)
Para obtener más experiencia en las operaciones de línea de comandos, pruebe algunas de estas tareas:
• Durante el entrenamiento, abra una ventana de dibujo (como el gráfico de regresión), y ver que se animan.
• Terreno de la línea de comandos con funciones tales como plotfit, plotregression, plottrainstate y plotperform. ( Para
obtener más información sobre cómo utilizar estas funciones, consulte sus páginas de referencia.)
También, ver la secuencia de comandos avanzada para más opciones, cuando la formación de la línea de comandos. Cada vez que
se entrena una red neuronal, puede dar lugar a una solución diferente debido a los diferentes pesos y bias valores iniciales y diferentes
divisiones de datos en conjuntos de entrenamiento, validación y pruebas. Como resultado, las diferentes redes neuronales entrenadas
en el mismo problema pueden dar diferentes salidas para la misma entrada. Para asegurar que una red neuronal de una buena
Hay varias otras técnicas para mejorar en las soluciones iniciales si se desea una mayor precisión. Para obtener más
información, consulte “Mejora de Redes Neuronales Generalización y evitar Overfitting”.
1-30
Clasificar los patrones con una red neuronal
Además de función de ajuste, las redes neuronales también son buenos en el reconocimiento de patrones. Por ejemplo,
supongamos que desea clasificar un tumor como benigno o maligno, basada en la uniformidad de tamaño de celda, el espesor
de grupo, la mitosis, etc. Tienes 699 casos de ejemplo para los que tiene 9 artículos de los datos y la correcta clasificación
como benignos o malignos . Al igual que con la función de ajuste, hay dos maneras de resolver este problema:
• Utilizar el nprtool Interfaz gráfica de usuario, como se describe en “Uso de la herramienta Reconocimiento de Patrones de redes
• Use una solución de línea de comandos, como se describe en “Uso de las funciones de línea de comandos” en la página 1-45.
En general, es mejor empezar con la interfaz gráfica de usuario, y luego utilizar la GUI para generar automáticamente las secuencias de comandos de
línea de comandos. Antes de utilizar cualquiera de los métodos, el primer paso es definir el problema mediante la selección de un conjunto de datos. La
La definición de un problema
Para definir un problema de reconocimiento de patrones, disponer un conjunto de vectores de entrada Q como columnas en una matriz. A
continuación, organizar otro conjunto de vectores blanco Q de manera que indican las clases a las que se asignan los vectores de entrada
(véase “Estructuras de datos” para una descripción detallada de los datos de formato para los datos de series de tiempo y estáticos). Hay dos
enfoques para la creación de los vectores blanco.
Un enfoque se puede utilizar cuando hay sólo dos clases; configura cada valor objetivo escalar a 1 o 0, que indica
qué clase de la entrada correspondiente pertenece. Por ejemplo, se puede definir la clase de dos o-exclusiva
clasificación de problemas de la siguiente manera:
vectores blanco tienen elementos N, donde para cada vector objetivo, un elemento es 1 y los demás son 0. Esto define
un problema donde las entradas se clasifican en norte diferentes clases. Por ejemplo, las siguientes líneas muestran
cómo definir un problema de clasificación que divide las esquinas de un cubo 5-por-5-por-5 en tres clases:
• La esquina más alejada del origen (el último vector de entrada) en una segunda clase
1-31
1 Empezando
problemas de clasificación que involucran sólo dos clases pueden ser representados usando cualquier formato. Los objetivos pueden
consistir en cualquiera de escalares 1/0 elementos o vectores de dos elementos, con un solo elemento es 1 y siendo el otro elemento
0.
La siguiente sección muestra cómo entrenar una red para reconocer patrones, con la función de reconocimiento de patrones de redes
neuronales interfaz gráfica de usuario, nprtool. Este ejemplo utiliza el conjunto de datos de cáncer proporcionado con la caja de
herramientas. Este conjunto de datos se compone de 699 vectores de entrada de nueve elementos y vectores blanco de dos elementos.
Hay dos elementos en cada vector objetivo, porque hay dos categorías (benignos o malignos) asociados a cada vector de entrada.
1-32
Clasificar los patrones con una red neuronal
1 Si es necesario, abra la interfaz gráfica de usuario de inicio de red neuronal con este comando:
nnstart
2 Hacer clic Herramienta de reconocimiento de patrones para abrir el Reconocimiento de Patrones de Redes Neuronales
Herramienta. (También puede utilizar el comando nprtool).
1-33
1 Empezando
1-34
Clasificar los patrones con una red neuronal
4 Hacer clic Cargar ejemplo del conjunto de datos. La ventana de reconocimiento del conjunto de datos Selector Patrón
se abre.
1-35
1 Empezando
5 Seleccionar Cáncer de mama y haga clic Importar. Volverá a la ventana de selección de datos.
1-36
Clasificar los patrones con una red neuronal
conjuntos de datos de validación y de prueba se cada conjunto a 15% de los datos originales. Con estos ajustes, los vectores
de entrada y vectores diana se dividieron aleatoriamente en tres grupos como sigue:
• El 15% se utiliza para validar que la red está generalizando y que deje de entrenamiento antes de sobreajuste.
• El último 15% se utiliza como una prueba completamente independiente de la generalización de la red.
(Ver “La división de los datos” para más discusión sobre el proceso de división de datos).
La red estándar que se utiliza para el reconocimiento de patrones es una red de alimentación directa de dos capas, con
una función de transferencia sigmoidal en la capa oculta, y una función de transferencia softmax en la capa de salida. El
número predeterminado de neuronas ocultas se establece en 10. Es posible que desee volver y aumentar este número
si la red no funciona
1-37
1 Empezando
así como espera. El número de neuronas de salida se establece en 2, que es igual al número de elementos en
el vector objetivo (el número de categorías).
1-38
Clasificar los patrones con una red neuronal
1-39
1 Empezando
10 Bajo la parcelas panel, haga clic Confusión en el reconocimiento de patrones de redes neuronales
Herramienta.
La siguiente figura muestra las matrices de confusión para la formación, pruebas y validación, y los tres tipos de
datos combinados. Las salidas de la red son muy precisos, como se puede ver por el elevado número de respuestas
correctas en las plazas verdes y el bajo número de respuestas incorrectas en los cuadrados rojos. Los cuadrados
azules inferior derecha ilustran las precisiones generales.
1-40
Clasificar los patrones con una red neuronal
11 Trazar la curva característica de funcionamiento del receptor (ROC). Bajo la parcelas panel, haga clic
Característica de funcionamiento del receptor en el modelo de red neuronal de la herramienta de reconocimiento.
1-41
1 Empezando
Las líneas de color en cada eje representan las curvas ROC. los curva ROC es un gráfico de la tasa de positivos verdaderos
(sensibilidad) frente a la tasa de falsos positivos (1 - especificidad) como el umbral es variada. Una prueba perfecta
mostraría puntos en la esquina superior izquierda, con una sensibilidad del 100% y el 100% de especificidad. Para este
problema, la red funciona muy bien.
12 En el modelo de red neuronal de la herramienta de reconocimiento, haga clic Siguiente para evaluar la red.
1-42
Clasificar los patrones con una red neuronal
Si no está satisfecho con el rendimiento de la red en los datos originales o nuevos, se puede entrenar de nuevo, aumenta el
número de neuronas, o tal vez obtener un conjunto de datos de entrenamiento más grande. Si el rendimiento en el conjunto
de entrenamiento es bueno, pero el rendimiento de prueba es significativamente peor, lo que podría indicar sobreajuste, a
continuación, la reducción del número de neuronas puede mejorar sus resultados.
Utilice este panel para generar una función de MATLAB o diagrama de Simulink para la simulación de la red neuronal.
Usted puede utilizar el código generado o diagrama para comprender mejor cómo la red neuronal calcula salidas de las
entradas o desplegar la red con herramientas de MATLAB Compiler y otras herramientas de generación de código de
MATLAB.
1-43
1 Empezando
14 Hacer clic Siguiente. Utilice los botones de esta pantalla para guardar los resultados.
1-44
Clasificar los patrones con una red neuronal
• Puede hacer clic simple script o advanced script para crear código de MATLAB que se puede utilizar para reproducir
todos los pasos anteriores desde la línea de comandos. La creación de código de MATLAB puede ser útil si usted
desea aprender cómo utilizar la funcionalidad de línea de comandos de la caja de herramientas para personalizar el
proceso de formación. En “Uso de las funciones de línea de comandos” en la página 1-45, usted investigará los scripts
generados en más detalle.
• También puede guardar la red como red en el espacio de trabajo. Se pueden realizar pruebas adicionales sobre ella
o ponerla a trabajar en las nuevas entradas.
La forma más fácil de aprender a utilizar la funcionalidad de línea de comandos de la caja de herramientas es generar secuencias de
comandos desde las interfaces gráficas de usuario, y luego modificarlas para personalizar el entrenamiento de la red. Por ejemplo, mirar el
script sencillo que se creó en el paso 14 de la sección anterior.
% Resolver un Reconocimiento de Patrones problema con un script% red neuronal generada por
NPRTOOL
1-45
1 Empezando
%
Este script% asume estas variables se definen:%
% Entrenar a la red
[red, tr] = tren (neto, entradas, objetivos);
% Prueba de la red
salidas = netos (entradas);
errors = gsubtract (objetivos, salidas); rendimiento = realizar (neto, los
objetivos, las salidas)
Ver la Red%
Ver (neto)
% Parcelas
% Descomentar estas líneas para permitir diferentes parcelas. % Figura,
plotperform (tr)% figura, plottrainstate (tr)
Puede guardar el guión y, a continuación, ejecutarlo desde la línea de comandos para reproducir los resultados de la sesión de la GUI anterior.
También puede editar la secuencia de comandos para personalizar el proceso de formación. En este caso, siga cada paso en la secuencia de
comandos.
1 La secuencia de comandos supone que los vectores de entrada y vectores diana ya se cargan en
el espacio de trabajo. Si los datos no se cargan, puede cargar la siguiente manera:
1-46
Clasificar los patrones con una red neuronal
• La red tiene dos neuronas de salida, porque hay dos valores de objetivo (categorías) asociados
con cada vector de entrada.
hiddenLayerSize = 10;
neto = patternnet (hiddenLayerSize);
Nota La elección de la arquitectura de red para los problemas de reconocimiento de patrones sigue pautas
similares a funcionar problemas de ajuste. Más neuronas requiere más cálculo, y tienen una tendencia a overfit
los datos cuando el número es demasiado alto, pero permitir que la red para resolver problemas más
complicados. Más capas requieren más cálculos, pero su uso puede resultar en la red para resolver problemas
complejos de manera más eficiente. Para utilizar más de una capa oculta, introduzca los tamaños de la capa
oculta como elementos de una matriz en la patternnet mando.
net.divideParam.trainRatio = 70/100;
net.divideParam.valRatio = 15/100; net.divideParam.testRatio
= 15/100;
Con estos ajustes, los vectores de entrada y vectores de impactos, se dividieron al azar, con un 70% utilizado para la
formación, el 15% para la validación y el 15% para la prueba. (Ver “La división de los datos” para más discusión sobre el
1-47
1 Empezando
Durante el entrenamiento, al igual que en la función de ajuste, se abre la ventana de entrenamiento. Esta ventana muestra el progreso de
entrenamiento. Para interrumpir el entrenamiento en cualquier momento, haga clic Formación parada.
Esta formación se detuvo cuando el error de validación aumentó durante seis iteraciones, que se produjo en la iteración
24.
1-48
Clasificar los patrones con una red neuronal
5 Prueba de la red. Después de que la red ha sido entrenado, que se puede utilizar para calcular
las salidas de la red. El siguiente código calcula las salidas de la red, los errores y el rendimiento general.
rendimiento =
0,0419
También es posible calcular el rendimiento de la red sólo en el equipo de prueba, mediante el uso de los índices de pruebas,
que se encuentran en el registro de instrucción.
Tind = tr.testInd;
tstOutputs = netos (entradas (:, Tind));
tstPerform = Ejecutar (neto, objetivos (:, Tind), tstOutputs)
tstPerform =
0,0263
Ver (neto)
8 Utilizar el plotconfusion funcionar para trazar la matriz de confusión. Se muestra los diversos
tipos de errores que se produjeron para la red entrenada final.
1-50
Clasificar los patrones con una red neuronal
Las células diagonales muestran el número de casos que fueron clasificados correctamente, y las células fuera de la diagonal
muestran los casos mal clasificados. La célula azul en la parte inferior derecha muestra el porcentaje total de casos clasificados
correctamente (en verde) y el porcentaje total de casos mal clasificados (en rojo). Los resultados muestran muy buen
reconocimiento. Si necesitabas resultados aún más precisos, puede probar cualquiera de los siguientes enfoques:
1-51
1 Empezando
• Cambiar los pesos iniciales de la red y los sesgos a los nuevos valores con en eso y entrenar de nuevo.
• Pruebe con un algoritmo de entrenamiento diferente (ver “Algoritmos de entrenamiento”). En este caso, la respuesta de la red es
satisfactoria, y ahora se puede poner la red para utilizar en las nuevas entradas.
Para obtener más experiencia en las operaciones de línea de comandos, aquí hay algunas tareas que se pueden poner en práctica:
• Durante el entrenamiento, abra una ventana de dibujo (como la trama confusión), y ver que se animan.
También, ver la secuencia de comandos avanzada para más opciones, cuando la formación de la línea de comandos. Cada vez que
se entrena una red neuronal, puede dar lugar a una solución diferente debido a los diferentes pesos y bias valores iniciales y diferentes
divisiones de datos en conjuntos de entrenamiento, validación y pruebas. Como resultado, las diferentes redes neuronales entrenadas
en el mismo problema pueden dar diferentes salidas para la misma entrada. Para asegurar que una red neuronal de una buena
Hay varias otras técnicas para mejorar en las soluciones iniciales si se desea una mayor precisión. Para obtener más
información, consulte “Mejora de Redes Neuronales Generalización y evitar Overfitting”.
1-52
Datos de racimo con un auto-organizador Mapa
La agrupación de datos es otra excelente aplicación para redes neuronales. Este proceso consiste en datos de
agrupación por similitud. Por ejemplo, es posible llevar a cabo:
• La segmentación del mercado por la gente que agrupan de acuerdo a sus patrones de compra
• El análisis bioinformático mediante la agrupación de genes con patrones de expresión relacionados Supongamos que desea
agrupar tipos de flores de acuerdo con la longitud del pétalo, ancho de pétalo, sépalo longitud, y anchura sépalo. Tiene 150 casos
Al igual que con la función de ajuste y reconocimiento de patrones, hay dos maneras de resolver este problema:
• Utilizar el nctool Interfaz gráfica de usuario, como se describe en “Uso de la herramienta Clustering red neuronal” en la página 1-54.
• Use una solución de línea de comandos, como se describe en “Uso de las funciones de línea de comandos” en la página 1-63.
La definición de un problema
Para definir un problema clustering, simplemente organizar vectores de entrada Q a ser agrupadas como columnas en una matriz de entrada
(consulte “Estructuras de datos” para una descripción detallada de los datos de formato para los datos de series estáticas y de tiempo). Por
ejemplo, es posible que desee agrupar el conjunto de 10 vectores de dos elementos:
entradas = [7 0 6 2 6 5 6 1 0 1; 6 2 5 0 7 5 5 1 2 2]
La siguiente sección muestra cómo entrenar a una red mediante el nctool Interfaz gráfica de usuario.
1-53
1 Empezando
1 Si es necesario, abra la interfaz gráfica de usuario de inicio de red neuronal con este comando:
nnstart
2 Hacer clic Herramienta de clustering Para abrir la herramienta Clustering red neuronal. (Tú también puedes
utilizar el comando nctool).
1-54
Datos de racimo con un auto-organizador Mapa
4 Hacer clic Cargar ejemplo del conjunto de datos. Aparece la ventana de la agrupación de datos Conjunto Selector.
1-55
1 Empezando
5 En esta ventana, seleccione Los racimos simples, y haga clic Importar. Se vuelve a la Selección
ventana de datos.
6 Hacer clic Siguiente para pasar a la ventana de tamaño de la red, que se muestra en la siguiente figura.
Para los problemas de agrupamiento, el mapa de características de auto-organización (SOM) es la red más utilizada, ya
que después de la red ha sido entrenado, hay muchas herramientas de visualización que se pueden utilizar para analizar
las agrupaciones resultantes. Esta red tiene una capa, con las neuronas organizadas en una cuadrícula. (Para más
información sobre el SOM, consulte “Función de auto-organización Maps”.) Al crear la red, se debe especificar el número
de filas y columnas de la cuadrícula. En este caso, el número de filas y columnas se establece en 10. El número total de
neuronas es de 100. Puede cambiar este número en otra carrera si lo desea.
1-56
Datos de racimo con un auto-organizador Mapa
1-57
1 Empezando
9 Para el entrenamiento de SOM, el vector de pesos asociado a cada neurona se mueve para convertirse
el centro de un conjunto de vectores de entrada. Además, las neuronas que son adyacentes entre sí en la topología
también deben mueven cerca uno del otro en el espacio de entrada, por lo tanto es posible visualizar un espacio de
alta dimensional entradas en las dos dimensiones de la topología de red. Investigar algunas de las herramientas de
visualización para el SOM. Bajo la parcelas panel, haga clic SOM Muestra Hits.
1-58
Datos de racimo con un auto-organizador Mapa
La topología por defecto del SOM es hexagonal. Esta figura muestra las ubicaciones de las neuronas en la topología, e indica
cómo muchos de los datos de entrenamiento están asociados con cada una de las neuronas (centros de racimo). La topología
es una cuadrícula de 10 por 10, por lo que hay 100 neuronas. El número máximo de accesos asociados con cualquier
neurona es 22. Por lo tanto, hay 22 vectores de entrada en ese clúster.
10 También puede visualizar el SOM mediante la visualización de planos de peso (también conocida como
aviones componente). Hacer clic Aviones SOM Peso La agrupación en la herramienta de red neuronal.
1-59
1 Empezando
Esta figura muestra un plano de peso para cada elemento del vector de entrada (dos, en este caso). Son las
visualizaciones de los pesos que conectan cada entrada a cada una de las neuronas. (Los colores más oscuros
representan los pesos más grandes.) Si los patrones de conexión de dos entradas eran muy similares, se puede asumir
que las entradas están altamente correlacionados. En este caso, la entrada 1 tiene conexiones que son muy diferentes a
los de la entrada 2.
11 En la herramienta de clústeres de red neuronal, haga clic Siguiente para evaluar la red.
1-60
Datos de racimo con un auto-organizador Mapa
Si no está satisfecho con el rendimiento de la red en los datos originales o nuevos, puede aumentar el número de
neuronas, o tal vez obtener un conjunto de datos de entrenamiento más grande.
13 Utilice este panel para generar una función de MATLAB o diagrama de Simulink para la simulación
la red neuronal. Usted puede utilizar el código generado o diagrama para comprender mejor cómo la red
neuronal calcula salidas de las entradas o desplegar la red con herramientas de MATLAB Compiler y otras
herramientas de generación de código de MATLAB y Simulink.
1-61
1 Empezando
1-62
Datos de racimo con un auto-organizador Mapa
• Puede hacer clic simple script o advanced script para crear código de MATLAB que se puede utilizar para reproducir
todos los pasos anteriores desde la línea de comandos. La creación de código de MATLAB puede ser útil si usted
desea aprender cómo utilizar la funcionalidad de línea de comandos de la caja de herramientas para personalizar el
proceso de formación. En “Uso de las funciones de línea de comandos” en la página 1-63, usted investigará los scripts
generados en más detalle.
• También puede guardar la red como red en el espacio de trabajo. Se pueden realizar pruebas adicionales sobre ella
o ponerla a trabajar en las nuevas entradas.
15 Cuando haya generado guiones y guardado los resultados, haga clic Terminar.
La forma más fácil de aprender a utilizar la funcionalidad de línea de comandos de la caja de herramientas es generar secuencias de comandos
desde las interfaces gráficas de usuario, y luego modificarlas para personalizar el entrenamiento de la red. A modo de ejemplo, se muestra el script
simple que fue creado en el paso 14 de la sección anterior.
1-63
1 Empezando
entradas = simpleclusterInputs;
% Entrenar a la red
[red, tr] = tren (neto, entradas);
% Prueba de la red
salidas = netos (entradas);
Ver la Red%
Ver (neto)
% Parcelas
% Descomentar estas líneas para permitir diferentes parcelas. % Figura,
plotsomtop (neto)% figura, plotsomnc (neto)% figura, plotsomnd (neto)% figura,
plotsomplanes (neto)% figura, plotsomhits (neto, entradas)% figura, plotsompos
(neto, entradas)
Puede guardar el guión y, a continuación, ejecutarlo desde la línea de comandos para reproducir los resultados de la sesión de la GUI anterior. También
puede editar la secuencia de comandos para personalizar el proceso de formación. En este caso, vamos a seguir cada uno de los pasos en la
secuencia de comandos.
1 La secuencia de comandos supone que los vectores de entrada ya se cargan en el espacio de trabajo.
Para mostrar las operaciones de línea de comandos, puede utilizar un conjunto de datos diferente a la que utilizó para la operación de interfaz
gráfica de usuario. Utilizar los datos determinada de la flor como un ejemplo. El conjunto de datos del iris consta de 150 vectores de entrada de
cuatro elementos.
carga iris_dataset
entradas = irisInputs;
2 Crear una red. Para este ejemplo, se utiliza un mapa autoorganizado (SOM). Esta
red tiene una capa, con las neuronas organizados en una cuadrícula. (Para más información,
1-64
Datos de racimo con un auto-organizador Mapa
Dimension1 = 10;
Dimension2 = 10;
neto = selforgmap ([Dimension1 Dimension2]);
3 Entrenar la red. La red SOM utiliza el algoritmo predeterminado por lotes de SOM
formación.
1-65
1 Empezando
5 Prueba de la red. Después de que la red ha sido entrenado, que se puede utilizar para calcular la
salidas de la red.
Ver (neto)
7 Para el entrenamiento de SOM, el vector de pesos asociado a cada neurona se mueve para convertirse
el centro de un conjunto de vectores de entrada. Además, las neuronas que son adyacentes entre sí en la topología
también deben mueven cerca uno del otro en el espacio de entrada, por lo tanto es posible visualizar un espacio de alta
dimensional entradas en las dos dimensiones de la topología de red. La topología SOM predeterminado es hexagonal;
para visualizarla, introduzca los siguientes comandos.
1-66
Datos de racimo con un auto-organizador Mapa
En esta figura, cada uno de los hexágonos representa una neurona. La rejilla es de 10 por 10, por lo que hay un total de 100
neuronas en esta red. Hay cuatro elementos de cada vector de entrada, por lo que el espacio de entrada es de cuatro
dimensiones. Los vectores de ponderación (centros de racimo) caen dentro de este espacio.
Debido a que este SOM tiene una topología de dos dimensiones, se puede visualizar en dos dimensiones de las
relaciones entre los centros de los conglomerados de cuatro dimensiones. Una herramienta de visualización para el
SOM es la matriz de distancia peso ( también llamado matriz U).
8 Para ver el T-matriz, haga clic SOM Distancias Vecino en la ventana de entrenamiento.
1-67
1 Empezando
En esta figura, los hexágonos azules representan las neuronas. Las líneas rojas conectan las neuronas vecinas. Los
colores de las regiones que contienen las líneas rojas indican las distancias entre las neuronas. Los colores más oscuros
representan las distancias más grandes, y los colores más claros representan las distancias más pequeñas. Una banda
de segmentos oscuros cruza desde la región inferior central a la región superior derecha. La red SOM parece haber
agrupado las flores en dos grupos distintos.
Para obtener más experiencia en las operaciones de línea de comandos, pruebe algunas de estas tareas:
• Durante el entrenamiento, abra una ventana de dibujo (como la trama SOM posición de peso) y ver que animar.
• Terreno de la línea de comandos con funciones tales como plotsomhits, plotsomnc, plotsomnd, plotsomplanes, plotsompos,
y plotsomtop. ( Para obtener más información sobre cómo utilizar estas funciones, consulte sus páginas de referencia.)
También, ver la secuencia de comandos avanzada para más opciones, cuando la formación de la línea de comandos.
1-68
Predicción de series temporales de redes neuronales y Modelado
Supongamos, por ejemplo, que tiene datos de un proceso de neutralización de pH. Desea diseñar una red que puede
predecir el pH de una solución en un depósito de valores pasados de que el pH y los valores pasados de la tasa de flujo de
ácido y base en el tanque. Tiene un total de 2001 intervalos de tiempo para los que tiene esas series. Puede resolver este
problema de dos maneras:
• Utilizar una interfaz gráfica de usuario, ntstool, como se describe en “Uso de la herramienta de series temporales de redes neuronales” en la
página 1-70.
• Utilice las funciones de línea de comandos, como se describe en “Uso de las funciones de línea de comandos” en la página 1-82.
En general, es mejor empezar con la interfaz gráfica de usuario, y luego utilizar la GUI para generar automáticamente las secuencias de comandos de línea
de comandos. Antes de utilizar cualquiera de los métodos, el primer paso es definir el problema mediante la selección de un conjunto de datos. Cada
interfaz gráfica de usuario tiene acceso a muchos conjuntos de datos de ejemplo que puede utilizar para experimentar con la caja de herramientas. Si
usted tiene un problema específico que se quiere resolver, puede cargar sus propios datos en el espacio de trabajo. La siguiente sección describe el
formato de los datos.
La definición de un problema
Para definir un problema de series de tiempo para la caja de herramientas, disponer un conjunto de vectores de entrada TS como columnas en una
matriz de células. Entonces, organizar otro conjunto de vectores blanco TS (los vectores de salida correctos para cada uno de los vectores de
entrada) en un segundo conjunto de células (ver “Estructuras de datos” para una descripción detallada de los datos de formato para los datos de
series estáticas y de tiempo). Sin embargo, hay casos en los que sólo es necesario tener un conjunto de datos de destino. Por ejemplo, se puede
definir el siguiente problema de series de tiempo, en el que desea utilizar los valores anteriores de una serie de predecir el siguiente valor:
objetivos = {1 2 3 4 5};
La siguiente sección muestra cómo entrenar una red para adaptarse a un conjunto de datos de series de tiempo, con la función de series de tiempo de
redes neuronales interfaz gráfica de usuario, ntstool. Este ejemplo utiliza el conjunto de datos de neutralización pH provisto de la caja de herramientas.
1-69
1 Empezando
1 Si es necesario, abra la interfaz gráfica de usuario de inicio de red neuronal con este comando:
nnstart
2 Hacer clic Herramienta de series temporales Para abrir la herramienta de series temporales de redes neuronales. (Tú también puedes
utilizar el comando ntstool).
1-70
Predicción de series temporales de redes neuronales y Modelado
Tenga en cuenta que este panel de apertura es diferente al de los cristales de apertura de las otras interfaces gráficas de usuario. Esto es
porque ntstool se puede utilizar para resolver tres tipos diferentes de problemas de series de tiempo.
• En el primer tipo de problema de series de tiempo, que le gustaría para predecir valores futuros de una serie temporal y (t) a
partir de los valores anteriores de que las series temporales y los valores pasados de una segunda serie de registros x (t). Esta
forma de predicción se denomina autorregresivo no lineal con exógena de entrada (externa), o NARX (véase “NARX red”
(narxnet, closeloop)), y se puede escribir como sigue:
Este modelo podría ser usado para predecir valores futuros de una población o enlace, en función de variables tales
económicas como tasas de desempleo, PIB, etc. También podría ser utilizado para identificación de sistemas, en los que se
desarrollan modelos para representar sistemas dinámicos, como productos químicos procesos, sistemas de fabricación,
robótica, vehículos aeroespaciales, etc.
• En el segundo tipo de problema de series de tiempo, sólo hay una serie involucrados. Los valores futuros de una
serie temporal y (t) Se predice sólo de los valores pasados de esa serie. Esta forma de predicción se denomina
autorregresivo no lineal, o NAR, y se puede escribir como sigue:
Este modelo también podría ser utilizado para predecir los instrumentos financieros, pero sin el uso de una serie de
compañía.
• El tercer problema de series de tiempo es similar al primer tipo, en que las dos series están involucrados, una serie de
entrada x (t) y un / series objetivo de salida y (t). Aquí quiere predecir los valores de y (t) a partir de los valores
anteriores x (t), pero sin el conocimiento de los valores anteriores de y (t). Este modelo de entrada / salida se puede
escribir como sigue:
y (t) = f (x (t - 1), ..., x (t - re))
El modelo NARX proporcionará mejores predicciones que este modelo de entrada-salida, debido a que
utiliza la información adicional contenida en los valores anteriores de
y (t). Sin embargo, puede haber algunas aplicaciones en las que los valores anteriores de y (t)
no estaría disponible. Esos son los únicos casos en los que se desea utilizar el modelo de entrada-salida
en lugar del modelo NARX.
3 Para este ejemplo, seleccione el modelo y haga clic en NARX Siguiente para proceder.
1-71
1 Empezando
4 Hacer clic Cargar ejemplo del conjunto de datos en la ventana de selección de datos. La series temporales de datos
Establecer abre la ventana Selector.
Nota Utilizar el entradas y objetivos opciones en la ventana de selección de datos cuando se necesitan para cargar datos desde el
espacio de trabajo de MATLAB.
1-72
Predicción de series temporales de redes neuronales y Modelado
6 Hacer clic Siguiente para abrir la ventana de validación y prueba de datos, que se muestra en la siguiente
figura.
Los conjuntos de datos de validación y de prueba se cada conjunto a 15% de los datos originales.
1-73
1 Empezando
Con estos ajustes, los vectores de entrada y vectores diana se dividieron aleatoriamente en tres grupos como
sigue:
• 15% se utiliza para validar que la red está generalizando y que deje de entrenamiento antes de sobreajuste.
• El último 15% se utiliza como una prueba completamente independiente de la generalización de la red.
(Ver “La división de los datos” para más discusión sobre el proceso de división de datos).
1-74
Predicción de series temporales de redes neuronales y Modelado
La red NARX estándar es una red de alimentación directa de dos capas, con una función de transferencia sigmoidal en
la capa oculta y una función de transferencia lineal en la capa de salida. Esta red también utiliza líneas de retardo para
almacenar los valores anteriores de la x (t)
y y (t) secuencias. Tenga en cuenta que la salida de la red NARX, y (t), se alimenta de nuevo a la entrada de la red (a
través de los retrasos), ya y (t) es una función de y (t - 1), y (t - 2), ...,
y (t - d). Sin embargo, para la formación eficiente se puede abrir este ciclo de retroalimentación. Debido a que la
verdadera salida está disponible durante el entrenamiento de la red, puede utilizar la arquitectura de bucle abierto se
muestra más arriba, en el que se utiliza la salida verdadera en lugar de retroalimentar la producción estimada. Esto
tiene dos ventajas. La primera es que la entrada a la red de alimentación directa es más preciso. La segunda es que la
red resultante tiene una arquitectura puramente feedforward, y por lo tanto un algoritmo más eficiente se puede utilizar
para la formación. Esta red se analiza con más detalle en “NARX Red” (narxnet, closeloop).
1-75
1 Empezando
El entrenamiento continúa hasta que el error de validación no disminuyó durante seis iteraciones (parada de validación).
1-76
Predicción de series temporales de redes neuronales y Modelado
10 Debajo parcelas, hacer clic Autocorrelación error. Esto se utiliza para validar la red
actuación.
El siguiente diagrama muestra la función de autocorrelación de error. En él se describe cómo los errores de predicción
se relacionan en el tiempo. Para un modelo de predicción perfecta, sólo debe haber un valor distinto de cero de la
función de autocorrelación, y debe ocurrir en el intervalo cero. (Este es el error cuadrático medio.) Esto significaría que
los errores de predicción eran completamente no correlacionados entre sí (ruido blanco). Si hubo una correlación
significativa en los errores de predicción, entonces debería ser posible mejorar la predicción - tal vez al aumentar el
número de retrasos en las líneas de retardo derivadas. En este caso, las correlaciones, a excepción de la que está en
retraso cero, caen aproximadamente dentro de los límites de confianza del 95% alrededor de cero, por lo que el modelo
parece ser adecuada. Si se requieren resultados aún más precisos, se puede reciclar a la red haciendo clic
reeducar en ntstool. Esto va a cambiar los pesos iniciales y prejuicios de la red, y puede producir una red
mejorada después de la reconversión.
1-77
1 Empezando
11 Ver la función de entrada-error correlación cruzada para obtener una verificación adicional de
rendimiento de la red. Bajo la parcelas panel, haga clic Entrada-Error La correlación cruzada.
Esta función de correlación cruzada de entrada-error ilustra cómo los errores se correlacionan con la secuencia de
entrada x (t). Para un modelo de predicción perfecta, todas las correlaciones debe ser cero. Si la entrada está
correlacionada con el error, entonces debería ser posible
1-78
Predicción de series temporales de redes neuronales y Modelado
mejorar la predicción, tal vez al aumentar el número de retrasos en las líneas de retardo derivadas. En este caso, todas
las correlaciones se encuentran dentro de los límites de confianza alrededor de cero.
12 Debajo parcelas, hacer clic Tiempo de respuesta de la serie. Esto muestra las entradas, objetivos y
errores en función del tiempo. También indica que se han seleccionado los puntos de tiempo para la formación, pruebas y
validación.
13 Hacer clic Siguiente en la herramienta de series temporales de redes neuronales para evaluar la red.
1-79
1 Empezando
Si no está satisfecho con el rendimiento de la red en los datos originales o nuevos, puede realizar cualquiera de
las siguientes:
• Entrenar de nuevo.
Si el rendimiento en el conjunto de entrenamiento es bueno, pero el rendimiento de prueba es significativamente peor, lo que
podría indicar sobreajuste, a continuación, la reducción del número de neuronas puede mejorar sus resultados.
15 Utilice este panel para generar una función de MATLAB o diagrama de Simulink para la simulación
la red neuronal. Usted puede utilizar el código generado o diagrama para comprender mejor cómo la red
neuronal calcula salidas de las entradas, o desplegar el
1-80
Predicción de series temporales de redes neuronales y Modelado
la red con herramientas de MATLAB Compiler y otras herramientas de generación de código de MATLAB y Simulink.
dieciséis Utilice los botones de esta pantalla para generar secuencias de comandos o para guardar los resultados.
1-81
1 Empezando
• Puede hacer clic simple script o advanced script para crear código de MATLAB que se puede utilizar para reproducir
todos los pasos anteriores desde la línea de comandos. La creación de código de MATLAB puede ser útil si usted
desea aprender cómo utilizar la funcionalidad de línea de comandos de la caja de herramientas para personalizar el
proceso de formación. En “Uso de las funciones de línea de comandos” en la página 1-82, usted investigará los scripts
generados en más detalle.
• También puede hacer que la red guardada como red en el espacio de trabajo. Se pueden realizar pruebas adicionales sobre ella o
ponerla a trabajar en las nuevas entradas.
17 Después de crear el código MATLAB y guardar los resultados, haga clic Terminar.
La forma más fácil de aprender a utilizar la funcionalidad de línea de comandos de la caja de herramientas es generar secuencias de comandos
desde las interfaces gráficas de usuario, y luego modificarlas para personalizar el entrenamiento de la red. A modo de ejemplo, se muestra el script
simple que fue creado en el paso 15 de la sección anterior.
1-82
Predicción de series temporales de redes neuronales y Modelado
% Preparar los datos para entrenamiento y simulación% Los PREPARETS función prepara los
datos de series de tiempo% para una red en particular, cambiando el tiempo por la cantidad
mínima% para llenar estados de entrada y estados de capa. Usando% PREPARETS le permite
mantener sus datos de series temporales% originales sin cambios, mientras que fácilmente
personalización% para redes con un número de diferentes retrasos, con lazo abierto% o modos de
realimentación en bucle cerrado.
% Entrenar a la red
[netas, TR] = tren (neto, entradas, objetivos, inputStates, layerStates);
% Prueba de la red
salidas = netos (entradas, inputStates, layerStates); errors = gsubtract
(objetivos, salidas); rendimiento = realizar (neto, los objetivos, las salidas)
Ver la Red%
Ver (neto)
1-83
1 Empezando
% Parcelas
% Descomentar estas líneas para permitir diferentes parcelas. % Figura,
plotperform (tr)% figura, plottrainstate (tr)
[Xc, XIC, AIC, tc] = preparets (netc, inputSeries, {}, targetSeries); yc = netc (xc, XIC, AIC);
% Para algunas aplicaciones, tales como la toma de decisiones, sería% ayuda a predecir y (t + 1) una
vez y (t) está disponible, pero ocurre% antes de la y real (t + 1).
% La red se puede hacer volver su salida un paso de tiempo temprano% mediante la eliminación de uno de
retardo de manera que su retraso mínimo del grifo es ahora% 0 en lugar de 1. La nueva red devuelve las
mismas salidas como% de la red original, pero las salidas se desplaza a la izquierda un paso de tiempo.
redes = removedelay (neto); nets.name = [net.name '- Predecir un paso por delante' ];
Ver (redes)
[Xs, xis, AIS, ts] = preparets (redes, inputSeries, {}, targetSeries); ys = redes (XS, xis, AIS);
Puede guardar el guión y, a continuación, ejecutarlo desde la línea de comandos para reproducir los resultados de la sesión de la GUI anterior.
También puede editar la secuencia de comandos para personalizar el proceso de formación. En este caso, siga cada uno de los pasos en la
secuencia de comandos.
1-84
Predicción de series temporales de redes neuronales y Modelado
1 La secuencia de comandos supone que los vectores de entrada y vectores diana ya se cargan en
el espacio de trabajo. Si los datos no se cargan, puede cargar la siguiente manera:
carga ph_dataset
inputSeries = phInputs; targetSeries =
phTargets;
2 Crear una red. La red NARX, narxnet, es una red de alimentación directa con el
defecto de la función de transferencia tan-sigmoide en la función de transferencia de capa y lineal oculta en la capa de
salida. Esta red tiene dos entradas. Una de ellas es una entrada externa, y la otra es una conexión de realimentación desde
la salida de red. (Después de la red ha sido entrenado, esta conexión de retroalimentación puede ser cerrado, como se verá
en un paso posterior.) Para cada una de estas entradas, hay una línea de retardo con tomas para almacenar los valores
anteriores. Para asignar la arquitectura de red para una red NARX, debe seleccionar los retrasos asociados a cada línea de
retardo, y también el número de neuronas de la capa oculta. En los pasos siguientes, se asignan los retardos de entrada y
los retardos de realimentación en un rango de 1 a 4 y el número de neuronas ocultas a ser 10.
inputDelays = 1: 4; feedbackDelays
= 1: 4; hiddenLayerSize = 10;
Nota El aumento del número de neuronas y el número de retrasos requiere más cálculo, y esto tiene una
tendencia a overfit los datos cuando los números son demasiado altos, pero permite la red para resolver
problemas más complicados. Más capas requieren más cálculos, pero su uso puede resultar en la red para
resolver problemas complejos de manera más eficiente. Para utilizar más de una capa oculta, introduzca los
tamaños de la capa oculta como elementos de una matriz en la FITNET mando.
3 Preparar los datos para el entrenamiento. Cuando la formación de una red que contiene de retardo con tomas
líneas, es necesario para llenar los retrasos con valores iniciales de las entradas y salidas de la red. Hay un
comando de caja de herramientas que facilita este proceso - preparets.
Esta función tiene tres argumentos de entrada: la red, la secuencia de entrada y la secuencia diana. La función
devuelve las condiciones iniciales que son necesarios para llenar las líneas de retardo derivadas de la red, y modificar
secuencias de entrada y de destino, donde se han eliminado las condiciones iniciales. Puede llamar a la función de la
siguiente manera:
1-85
1 Empezando
net.divideParam.trainRatio = 70/100;
net.divideParam.valRatio = 15/100; net.divideParam.testRatio
= 15/100;
Con estos ajustes, los vectores de entrada y vectores de impactos, se dividieron al azar, con un 70% utilizado para la
formación, el 15% para la validación y el 15% para la prueba.
Durante el entrenamiento, se abre la siguiente ventana de entrenamiento. Esta ventana muestra el progreso de entrenamiento y le
permite interrumpir el entrenamiento en cualquier momento haciendo clic Formación parada.
1-86
Predicción de series temporales de redes neuronales y Modelado
Esta formación se detuvo cuando el error de validación aumentó durante seis iteraciones, que se produjo en la iteración
70.
6 Prueba de la red. Después de que la red ha sido entrenado, que se puede utilizar para calcular
las salidas de la red. El siguiente código calcula las salidas de la red, los errores y el rendimiento general. Tenga en
cuenta que para simular una red de líneas de retardo derivadas, es necesario asignar los valores iniciales para
estas señales retardadas. Esto se hace con
inputStates y layerStates proporcionado por preparets en una etapa anterior.
1-87
1 Empezando
rendimiento =
0,0042
Ver (neto)
1-88
Predicción de series temporales de redes neuronales y Modelado
Esta figura muestra que el entrenamiento, validación y pruebas de todos los errores disminuyeron hasta iteración
64. No parece que se haya producido ningún sobreajuste, porque ni prueba de error de validación ni aumentó antes
de la iteración 64.
Toda la formación se realiza en lazo abierto (también llamado arquitectura serie-paralelo), que incluye las etapas de validación
y pruebas. El flujo de trabajo típico es crear completamente la red en bucle abierto, y sólo cuando se ha entrenado (que incluye
validación y pruebas pasos) se transformó a bucle cerrado para la predicción de múltiples etapas de la ventaja. Asimismo, el R valores
en la interfaz gráfica de usuario se calculan sobre la base de los resultados de la formación de bucle abierto.
1-89
1 Empezando
9 Cerrar el bucle en la red NARX. Cuando el bucle de realimentación está abierto en el NARX
red, se está llevando a cabo una predicción de un solo paso de la ventaja. Se predice que el siguiente valor de y (t) a partir de los valores
anteriores y (t) y x (t). Con el bucle de realimentación cerrado, que puede ser utilizado para realizar predicciones de varios pasos de la
ventaja. Esto se debe a que las predicciones de y (t) serán utilizados en lugar de los valores reales de los futuros y (t). Las siguientes
instrucciones se pueden utilizar para cerrar el bucle y calcular el rendimiento en bucle cerrado
[Xc, XIC, AIC, tc] = preparets (netc, inputSeries, {}, targetSeries); yc = netc (xc, XIC, AIC); perfc = realizar
(netc, tc, yc)
perfc =
2.8744
10 Retirar un retardo de la red, para obtener la predicción de un paso de tiempo antes de tiempo.
redes = removedelay (neto); nets.name = [net.name '- Predecir un paso por delante' ];
Ver (redes)
[Xs, xis, AIS, ts] = preparets (redes, inputSeries, {}, targetSeries); ys = redes (XS, xis, AIS);
1-90
Predicción de series temporales de redes neuronales y Modelado
earlyPredictPerformance =
0,0042
A partir de esta figura, se puede ver que la red es idéntica a la red de bucle abierto anterior, excepto que una
demora ha sido retirado de cada una de las líneas de retardo derivadas. La salida de la red es entonces y (t + 1)
en lugar de y (t). A veces esto puede ser útil cuando una red se despliega para ciertas aplicaciones. Si el
rendimiento de la red no es satisfactoria, podría intentar cualquiera de estos enfoques:
• Cambiar los pesos iniciales de la red y los sesgos a los nuevos valores con en eso y formar de nuevo (ver “Inicialización de
pesos” (init)).
• Pruebe con un algoritmo de entrenamiento diferente (ver “Algoritmos de entrenamiento”). Para obtener más experiencia en las
• Durante el entrenamiento, abra una ventana de dibujo (como la gráfica de correlación de error), y ver que se animan.
1-91
1 Empezando
También, ver la secuencia de comandos avanzada para más opciones, cuando la formación de la línea de comandos. Cada vez que
se entrena una red neuronal, puede dar lugar a una solución diferente debido a los diferentes pesos y bias valores iniciales y diferentes
divisiones de datos en conjuntos de entrenamiento, validación y pruebas. Como resultado, las diferentes redes neuronales entrenadas
en el mismo problema pueden dar diferentes salidas para la misma entrada. Para asegurar que una red neuronal de una buena
Hay varias otras técnicas para mejorar en las soluciones iniciales si se desea una mayor precisión. Para obtener más
información, consulte “Mejora de Redes Neuronales Generalización y evitar Overfitting”.
1-92
Computación Paralela en CPU y GPU
En esta sección...
1-94
“Cluster Computing con MATLAB Distributed Computing Server” en la página 1-95 “equilibrio de carga,
formación de redes neuronales y la simulación implica muchos cálculos paralelos. Multicore CPUs, unidades de
procesamiento de gráficos (GPU), y grupos de ordenadores con varias CPUs y GPUs todos pueden tomar ventaja de
los cálculos paralelos.
Juntos, Neural Network Toolbox y Parallel Computing Toolbox permiten a los múltiples núcleos de CPU y GPU de una
sola computadora para acelerar la formación y simulación de grandes problemas.
La siguiente es una sesión estándar de un solo subproceso de entrenamiento y simulación. (Si bien los beneficios de paralelismo son
más visibles para los grandes problemas, este ejemplo utiliza un pequeño conjunto de datos que se incluye con Neural Network
Toolbox.)
Intel ® procesadores nave con hasta ocho núcleos. Estaciones de trabajo con dos procesadores pueden tener hasta 16
núcleos, con aún más posible en el futuro. El uso de múltiples núcleos de la CPU en paralelo puede acelerar
dramáticamente cálculos.
Piscina = GCP;
1-93
1 Empezando
pool.NumWorkers
Se produce un error si no tiene una licencia para Parallel Computing Toolbox. Cuando un grupo paralelo es
GPU Computing
GPU puede tener hasta 3.072 núcleos en una sola tarjeta, y posiblemente más en el futuro. Estas tarjetas son muy
eficientes en algoritmos paralelos como las redes neuronales. Utilizar gpuDeviceCount para comprobar si una tarjeta GPU
compatible está disponible en su sistema. Utilice la función gpuDevice para revisar la información GPU actualmente
seleccionado o para seleccionar una GPU diferente.
Una “Función no definida o variable” error aparece si usted no tiene una licencia para Parallel Computing Toolbox.
Cuando haya seleccionado el dispositivo GPU, establecer el tren o sim La función de ' useGPU'
opción de ' sí' para llevar a cabo el entrenamiento y simulación en ella.
Puede utilizar varias GPU para los niveles más altos de paralelismo. Después de la apertura de una piscina en paralelo,
establezca ' useParallel' y ' useGPU' a ' sí' para aprovechar todas las GPU y los núcleos de CPU en un solo equipo. Cada
trabajador asociado con una GPU única usa esa GPU. El resto de los trabajadores realizar cálculos en su núcleo de la CPU.
1-94
Computación Paralela en CPU y GPU
Para algunos problemas, el uso de GPU y CPU juntos pueden dar lugar a la más alta velocidad de computación. Para otros
problemas, la CPU podría no mantenerse al día con las GPU, y así usando sólo las GPU es más rápido. set ' useGPU' a ' solamente',
para restringir la computación paralela a los trabajadores con las GPU única.
net2 = tren (NET1, x, t, 'UseParallel' , 'sí' , 'UseGPU' , 'solamente' ); y = net2 (x, 'UseParallel' , 'sí' , 'UseGPU' , 'solamente'
);
MATLAB Distributed Computing Server ™ le permite aprovechar todas las CPU y GPU en un clúster a la red de
ordenadores. Para aprovechar las ventajas de un clúster, abra una piscina paralelo con un perfil de clúster. Utilizar el
MATLAB Casa lengüeta Ambiente zona Paralela menú para gestionar y seleccionar perfiles.
Después de la apertura de una piscina en paralelo, entrenar a la red llamando tren con el
'UseParallel' y ' useGPU' Opciones.
net2 = tren (NET1, x, t, 'UseParallel' , 'sí' , 'UseGPU' , 'solamente' ); y = net2 (x, 'UseParallel' , 'sí' , 'UseGPU' , 'solamente'
);
Para obtener más información acerca de la computación en paralelo con Neural Network Toolbox, consulte “Redes Neuronales con Computación
Paralela y la GPU”, que introduce otros temas, tales como la forma de distribuir manualmente los conjuntos de datos a través de los trabajadores
de la CPU y la GPU para sacar el mejor provecho de las diferencias en la velocidad de la máquina y memoria.
La distribución de datos de forma manual también permite que los datos de los trabajadores para cargar secuencialmente, de modo que los conjuntos
de datos son de tamaño limitado sólo por la RAM total de un grupo en lugar de la memoria RAM de un solo ordenador. Esto le permite aplicar las redes
1-95
1 Empezando
El software de red neuronal de la caja de herramientas contiene una serie de datos de ejemplo establece que se puede utilizar para experimentar
con la funcionalidad de la caja de herramientas. Para ver los conjuntos de datos que están disponibles, utilice el siguiente comando:
ayuda nndatasets
apropiado Función es el proceso de entrenamiento de una red neuronal en un conjunto de entradas con el fin
de producir un conjunto asociado de salidas de destino. Una vez que la red neuronal tiene ajustarse a los
datos, se forma una generalización de la relación de entrada-salida y puede ser utilizado para generar salidas
para las entradas que no estaba capacitado en.
- - - - - - - - - -
El reconocimiento de patrones es el proceso de entrenamiento de una red neuronal para asignar las clases
de objetivos correctos para un conjunto de patrones de entrada. Una vez entrenada la red se puede utilizar
para clasificar los patrones no ha visto antes.
1-96
Neural Network Toolbox conjuntos de muestras de datos
- - - - - - - - - -
La agrupación es el proceso de entrenamiento de una red neuronal en los patrones de modo que la
red viene con sus propias clasificaciones de acuerdo con la similitud de patrones y topología relativa.
Esto es útil para hacerse una idea de los datos, o simplificar antes de su procesamiento posterior.
Las entradas de ajuste o el patrón de conjuntos de datos de reconocimiento pueden también agrupado.
- - - - - - - - - -
Entrada-salida problemas de series temporales consisten en predecir el siguiente valor de una serie de
tiempo dado otra serie de tiempo. los valores anteriores de ambas series (para mayor precisión), o sólo
una de la serie (para un sistema más sencillo) pueden ser utilizados para predecir la serie objetivo.
- - - - - - - - - -
Solo el tiempo de predicción de la serie, Pronosticar, el modelado dinámico, auto regresión no lineal, de
identificación del sistema, y Filtrado
Única predicción de series de tiempo consiste en predecir el siguiente valor de una serie de tiempo
determinado sus valores pasados.
1-97
1 Empezando
Observe que todos los conjuntos de datos tienen nombres de archivo de la forma name_dataset. Dentro de estos archivos serán las
matrices nameInputs y nameTargets. Se puede cargar un conjunto de datos en el espacio de trabajo con un comando como
carga simplefit_dataset
Esto cargará simplefitInputs y simplefitTargets en el espacio de trabajo. Si desea cargar las matrices de entrada y
de destino en diferentes nombres, se puede utilizar un comando como
[X, t] = simplefit_dataset;
Esto cargará las entradas y las metas en las matrices X y t. Usted puede obtener una descripción de un conjunto de datos con un
comando como
ayuda maglev_dataset
1-98
Glosario
filtro adaptativo De red que contiene los retrasos y cuyos pesos son ajustados después de que se
presenta cada nuevo vector de entrada. La red se adapta a los cambios en las
propiedades de la señal de entrada si dicha ocurrir. Este tipo de filtro se utiliza en las
líneas telefónicas de larga distancia para cancelar ecos.
tasa de aprendizaje adaptativo tasa de aprendizaje que se ajusta de acuerdo a un algoritmo durante el entrenamiento
para minimizar el tiempo de formación.
arquitectura Descripción del número de las capas en una red neuronal, la función de
cada capa de transferencia, el número de neuronas por capa, y las
conexiones entre capas.
regla de aprendizaje de retropropagación Aprender regla en la que los pesos y sesgos se ajustan por vectores
(delta) de derivada de error backpropagated través de la red.
Retropropagación se aplica comúnmente a prealimentar redes
multicapa. A veces, esta regla se llama la regla delta generalizada.
Búsqueda retroceso Linear rutina de búsqueda que comienza con un multiplicador de paso de 1 y
luego retrocede hasta que se obtiene una reducción aceptable en el rendimiento.
procesamiento por lotes Proceso de presentar un conjunto de vectores de entrada para el cálculo
simultáneo de una matriz de vectores de salida y / o nuevos pesos y sesgos.
marco bayesiano Asume que los pesos y sesgos de la red son variables aleatorias con
distribuciones especificados.
Glosario-1
Glosario
parcialidad parámetro neurona que se suma con entradas ponderadas de las neuronas y se
pasa a través de la función de transferencia de la neurona para generar la salida de
la neurona.
vector sesgo vector columna de valores de sesgo para una capa de neuronas.
Búsqueda de Brent La búsqueda lineal que es un híbrido de la búsqueda de oro y una sección de
interpolación cuadrática.
la red en cascada hacia adelante de red por capas en la que cada capa sólo se recibe entradas de capas
anteriores.
Búsqueda Charalambous' Búsqueda línea híbrida que utiliza una interpolación cúbica junto con un
tipo de seccionamiento.
capa competitiva Capa de neuronas en el que sólo la neurona con la entrada neta máxima tiene una
potencia de 1 y todas las otras neuronas tiene una potencia de 0. Las neuronas
compiten entre sí por el derecho a responder a un vector de entrada dada.
aprendizaje competitivo entrenamiento no supervisado de una capa competitivo con la regla o norma instar
Kohonen. Las neuronas individuales aprenden a convertirse en detectores de
características. Después del entrenamiento, la capa categoriza vectores de entrada
entre sus neuronas.
función de transferencia competitiva Acepta una vector de entrada neta para una capa y devuelve salidas de la neurona de
0 para todas las neuronas excepto para el ganador, la neurona asociado con el
elemento más positivo de la entrada neta norte.
vectores de entrada simultáneas Nombre dado a una matriz de vectores de entrada que han de ser presentado a una
red de forma simultánea. Todos los vectores en la matriz se utilizan en la fabricación
de un solo conjunto de cambios en los pesos y sesgos.
Glosario-2
Glosario
algoritmo de gradiente conjugado En los algoritmos de gradiente conjugado, se realiza una búsqueda a lo largo de
direcciones conjugadas, que produce la convergencia generalmente más rápido que
una búsqueda a lo largo de las direcciones de descenso más empinadas.
fuerza de la conexión La fuerza de una conexión entre dos neuronas en una red. La fuerza, a
menudo llamado peso, determina el efecto de que una neurona tiene en
otro.
neurona muerta neurona capa competitiva que nunca ha ganado ninguna competición durante el entrenamiento y
por lo tanto no se ha convertido en un detector de características útiles. neuronas muertas no
responden a ninguno de los vectores de entrenamiento.
frontera de decisión Line, determinado por el peso y sesgo vectores, para la cual la entrada
neta norte es cero.
vector delta El vector de delta para una capa es la derivada de error de salida de una red con
respecto al vector de entrada neta de esa capa.
distancia Distancia entre neuronas, calculado a partir de sus posiciones con una función
de distancia.
a principios de parada Técnica basa en dividir los datos en tres subconjuntos. El primer subconjunto es
el conjunto de entrenamiento, que se utiliza para calcular el gradiente y la
actualización de los pesos y sesgos de la red. El segundo subconjunto es el
conjunto de validación. Cuando el error de validación aumenta para un número
especificado de iteraciones, la formación se detuvo, y se devuelven los pesos y
sesgos en el mínimo del error de validación. El tercer subgrupo es el conjunto de
prueba. Se utiliza para verificar el diseño de la red.
Glosario-3
Glosario
salto de error aumento repentino de error de la suma al cuadrado de una red durante el entrenamiento. Esto es a
vector de error Diferencia entre el vector de salida de una red en respuesta a un vector de
entrada y un vector de salida de destino asociado.
red de realimentación Red con conexiones de salida de una capa a la entrada de esa capa. La
conexión de realimentación puede ser directa o pasar a través de varias
capas.
la red de alimentación directa de red por capas en la que cada capa sólo se recibe entradas de capas
anteriores.
actualización de Fletcher-Reeves Método para el cálculo de un conjunto de direcciones conjugadas. Estas direcciones se utilizan
como direcciones de búsqueda como parte de un procedimiento de optimización del gradiente
conjugado.
aproximación de funciones Tarea realizada por una red entrenada para responder a las entradas con una
aproximación de una función deseada.
generalización Atributo de una red cuya salida para un nuevo vector de entrada tiende a estar
cerca de salidas para vectores de entrada similares en su conjunto de
entrenamiento.
la red de regresión Se aproxima a una función continua con una precisión arbitraria, dado un
generalizada número suficiente de neuronas ocultas.
mínimo global Valor más bajo de una función en toda la gama de sus parámetros de entrada.
métodos de descenso de gradiente ajustar los pesos y sesgos con el fin de
encontrar el mínimo global de error para una red.
Glosario-4
Glosario
descenso de gradiente Proceso de hacer cambios en los pesos y sesgos, donde los cambios son
proporcionales a las derivadas de error de la red con respecto a los pesos y
sesgos. Esto se hace para minimizar el error en la red.
función de transferencia de hard-límite Función de transferencia que mapea las entradas mayor que o igual a 0 a 1, y todos
los demás valores a 0.
regla de aprendizaje de Hebb Históricamente la primera regla de aprendizaje propuesto para las neuronas.
Los pesos se ajustan proporcional al producto de las salidas de las neuronas
pre y postweight.
capa oculta Capa de una red que no está conectada a la salida de red (por ejemplo, la
primera capa de una red de alimentación directa de dos capas).
bisección cúbicos híbrido de búsqueda Búsqueda línea que combina la bisección y la interpolación
cúbica.
capa de entrada Capa de neuronas que reciben entradas directamente desde fuera de la red.
entrada de vector de pesos vector fila de pesos que van a una neurona.
matriz jacobiana Contiene los primeros derivados de los errores de la red con respecto a
los pesos y sesgos.
regla de aprendizaje de Kohonen Aprender regla de que los trenes de vectores de peso de una neurona seleccionadas
para asumir los valores del vector de entrada actual.
Glosario-5
Glosario
capa Grupo de neuronas que tienen conexiones con las mismas entradas y
salidas envían a los mismos destinos.
diagrama de capas Red arquitectura figura que muestra las capas y las matrices de peso que los
conectan. función de transferencia de cada capa se indica con un símbolo. se
muestran los tamaños de entrada, salida, el sesgo, y matrices de peso. Las
neuronas individuales y las conexiones no se muestran. (Véase Objetos de red,
datos y Estilos de formación en el Guía del usuario de red neuronal de la caja de
herramientas.)
los pesos de capa Pesos de conexión capas a otras capas. Tales pesos necesita tener retardos
distintos de cero si forman una conexión recurrente (es decir, un bucle).
aprendizaje Proceso por el cual los pesos y sesgos se ajustan para conseguir un
comportamiento de red deseada.
tasa de aprendizaje parámetros de entrenamiento que controla el tamaño de peso y cambios de polarización
durante el aprendizaje.
regla de aprendizaje Método de obtención de los próximos cambios que podrían hacerse en una red o un
procedimiento para la modificación de los pesos y sesgos de una red.
Levenberg-Marquardt Algoritmo que entrena una red neuronal 10 a 100 veces más rápido que el método
de descenso de gradiente de propagación hacia atrás de costumbre. Siempre
calcula la matriz de Hesse aproximada, que tiene dimensiones norte- por- norte.
función de búsqueda de línea Procedimiento de búsqueda a lo largo de una determinada dirección de búsqueda (línea)
para localizar el mínimo del rendimiento de la red.
función de transferencia lineal Función de transferencia que produce su entrada como su salida.
distancia del enlace Número de enlaces, o pasos, que debe ser tomado para llegar a la neurona en
consideración.
Glosario-6
Glosario
función de transferencia log-sigmoidea Aplastamiento función de la forma mostrada a continuación que se asigna la entrada al
intervalo (0,1). (La función de caja de herramientas es
logsig).
1
fn() =
-
1+ mi norte
aumento máximo cantidad máxima por la que se permite que el rendimiento aumente en una
rendimiento iteración del algoritmo de entrenamiento del ritmo de aprendizaje variable.
tamaño de paso máximo tamaño de paso máximo permitido durante una búsqueda lineal. No se permite la
magnitud del vector de peso para aumentar en más de este tamaño máximo de
paso en una iteración de un algoritmo de entrenamiento.
significaría función de error cuadrado función de rendimiento que calcula el error cuadrático medio entre las
salidas de la red un y las salidas de destino t.
impulso Técnica utiliza a menudo para hacer que sea menos probable para una red de
retropropagación quedar atrapado en un mínimo de poca profundidad.
barrio Grupo de las neuronas dentro de una distancia especificada de una neurona particular. El
barrio está especificado por los índices para todas las neuronas que se encuentran dentro
de un radio de re de la neurona ganadora i *: Ni (d) = {j, d ij ≤ re}
vector de entrada neta Combinación, en una capa, de todos los vectores de entrada ponderados de la capa con
su sesgo.
Glosario-7
Glosario
neurona elemento de procesamiento básico de una red neuronal. Incluye pesos y sesgos,
una unión sumadora, y una función de transferencia de salida. neuronas artificiales,
tales como las simuladas y entrenado con esta caja de herramientas, son
abstracciones de las neuronas biológicas.
diagrama de neurona Arquitectura de red de figura que muestra las neuronas y los pesos que los
conectan. función de transferencia de cada neurona se indica con un símbolo.
fase de ordenamiento Período de formación durante el cual se espera que los pesos de las neuronas a la orden
sí mismos en el espacio de entrada coherente con las posiciones de las neuronas
asociadas.
vector de salida Salida de una red neuronal. Cada elemento del vector de salida es la
salida de una neurona.
vector de ponderación de salida vector columna de pesos procedentes de una neurona o de entrada. (Ver también outstar
regla de aprendizaje.)
outstar regla de aprendizaje Aprendizaje de reglas que entrena (o de entrada) vector de ponderación de salida de
una neurona para asumir los valores del vector de corriente de salida de la capa
postweight. Los cambios en los pesos son proporcionales a la salida de la neurona.
pasar Cada recorrer a través de todos los vectores de entrada y objetivo de entrenamiento.
patrón Un vector.
asociación patrón Tarea realizada por una red entrenada para responder con el vector de salida
correcta para cada vector de entrada presentada.
reconocimiento de patrones Tarea realizada por una red entrenada para responder cuando se presenta un
vector de entrada cerca de un vector aprendido.
Glosario-8
Glosario
perceptrón red de una sola capa con una función de transferencia duro-límite. Esta red a
menudo se entrenó con la regla de aprendizaje del perceptrón.
regla de aprendizaje del perceptrón Regla de aprendizaje para la formación de redes de difícil límite de una sola capa.
Está garantizado para dar lugar a una red que funcione perfectamente en un tiempo
finito, ya que la red es capaz de hacerlo.
función de rendimiento Comúnmente el error cuadrático medio de las salidas de la red. Sin
embargo, la caja de herramientas también considera otras funciones de
interpretación. Tipo nnets y busque en funciones de interpretación.
actualización Polak-Ribiere Método para el cálculo de un conjunto de direcciones conjugadas. Estas direcciones se utilizan
como direcciones de búsqueda como parte de un procedimiento de optimización del gradiente
conjugado.
función de transferencia lineal Función de transferencia que produce una salida de cero para entradas
positiva negativas y una salida igual a la entrada para las entradas positivas.
Postprocesamiento Convierte señales de salida normalizadas de nuevo en las mismas unidades que se
utilizaron para los objetivos originales.
reinicia Powell-Beale Método para el cálculo de un conjunto de direcciones conjugadas. Estas direcciones se
utilizan como direcciones de búsqueda como parte de un procedimiento de optimización del
gradiente conjugado. Este procedimiento también se restablece periódicamente la dirección
de búsqueda a la negativa de la pendiente.
análisis de componentes principales Ortogonalizar los componentes de los vectores de entrada de red. Este procedimiento
también puede reducir la dimensión de los vectores de entrada mediante la eliminación de
componentes redundantes.
Glosario-9
Glosario
redes de base radial red neuronal que puede ser diseñado directamente por los elementos de
respuesta de ajuste especial donde van a hacer el mayor bien.
función de transferencia de base radial La función de transferencia para una neurona de base radial es
2
-
ne radbas()norte
=
regularización La modificación de la función de rendimiento, que normalmente se elige para que sea la
suma de cuadrados de los errores de red en el conjunto de entrenamiento, mediante la
adición de alguna fracción de los cuadrados de los pesos de la red.
retropropagación elástica algoritmo de entrenamiento que elimina el efecto perjudicial de tener una pequeña
pendiente en los extremos de las funciones de transferencia sigmoide aplastando.
saturando función de transferencia Función que es lineal en el intervalo (-1, + 1) y se satura fuera de este
lineal intervalo a -1 o +1. (La función de caja de herramientas es Satlin).
algoritmo de gradiente conjugado Evita la búsqueda de línea que consume tiempo del algoritmo de gradiente
escalado conjugado estándar.
vectores de entrada secuenciales Conjunto de vectores que van a ser presentado a una red, una tras otra.
Los pesos y sesgos de red se ajustan en la presentación de cada vector
de entrada.
sigmoideo función que mapea los números en el intervalo (-∞, ∞) a un intervalo finito tal
como (-1, + 1) o (0,1) monotónica en forma de S.
Glosario-10
Glosario
difundir constante Distancia un vector de entrada debe ser de vector de peso de una neurona para
producir una salida de 0,5.
regla de aprendizaje estrellas Regla de aprendizaje que capacita vector de pesos de una neurona a asumir los
valores del vector de entrada actual. Los cambios en los pesos son proporcionales a
la salida de la neurona.
Error de suma-cuadrado Suma de las diferencias al cuadrado entre los objetivos de red y salidas reales
de un vector de entrada dado o conjunto de vectores.
aprendizaje supervisado El proceso de aprendizaje en el cual los cambios en los pesos de una red y sesgos se
deben a la intervención de cualquier maestro externo. El maestro proporciona típicamente
los objetivos de producción.
función de transferencia de hard-límite Transferencia de que los mapas de entradas mayor que o igual a 0 a
simétrico + 1, y todos los demás valores en -1.
simétrica saturar función de Produce la entrada como su salida, siempre y cuando la entrada está en el rango
transferencia lineal de -1 a 1. Fuera de ese intervalo, la salida es -1 y
+ 1, respectivamente.
función de transferencia tan-sigmoide Aplastamiento función de la forma mostrada a continuación que se asigna la entrada al
intervalo (-1,1). (La función de caja de herramientas es
tansig).
1
fn() =
-
1+ mi norte
línea de retardo con tomas conjunto secuencial de los retrasos en las salidas disponibles en cada salida del retardo.
vectores de prueba Conjunto de vectores de entrada (no se utiliza directamente en la formación) que se utiliza para
probar la red entrenada.
funciones de topología Maneras de organizar las neuronas en una cuadrícula, caja, hexagonal, o topología
aleatoria.
Glosario-11
Glosario
formación Procedimiento mediante el cual se ajusta una red para hacer un trabajo en particular. Comúnmente
visto como un trabajo fuera de línea, en contraposición a un ajuste realizado durante cada intervalo
de tiempo, como se hace en el entrenamiento de adaptación.
vector de la formación De entrada y / o vector de destino utilizado para entrenar a una red.
función de transferencia Función que mapea (o de capa) la producción neta de una neurona norte a su producción
real.
fase de puesta a punto Período de formación SOFM durante el cual se espera que los pesos de difundir de
forma relativamente uniforme sobre el espacio de entrada, conservando su orden
topológico encontrado durante la fase de pedido.
sistema de underdetermined Sistema que tiene más variables que las restricciones.
aprendizaje sin supervisión El proceso de aprendizaje en el cual los cambios en los pesos de una red y los
prejuicios no se deben a la intervención de cualquier maestro externo. Comúnmente
cambios son una función de los vectores de corriente de entrada a la red, vectores de
salida, y los pesos y sesgos anteriores.
vectores de validación Conjunto de vectores de entrada (no se utiliza directamente en la formación) que se utiliza
para monitorear el progreso de formación con el fin de mantener la red de sobreajuste.
función de peso funciones de ponderación se aplican pesos a una entrada para obtener entradas
ponderadas, según lo especificado por una función particular.
matriz de peso Matriz que contiene las fuerzas de conexión de las entradas de una capa a sus
neuronas. El elemento w i, j de una matriz de pesos
W se refiere a la fuerza de la conexión de entrada j a las neuronas
yo.
vector de entrada ponderada Resultado de la aplicación de un peso a la entrada de una capa, si es una
entrada de la red o la salida de otra capa.
Glosario-12
Glosario
regla de aprendizaje Widrow-Hoff Aprender regla utilizada para entrenar las redes lineales de una sola capa. Esta
regla es el predecesor de la regla de propagación hacia atrás y, a veces se
conoce como la regla delta.
Glosario-13