Vous êtes sur la page 1sur 120

Caja de herramientas de redes neuronales ™

Guía de introducción

Mark Hudson Beale


Martin T. Hagan Howard
B. Demuth

R 2016 un
Cómo contactar MathWorks

Últimas noticias: www.mathworks.com

Ventas y servicios: www.mathworks.com/sales_and_services

comunidad de usuarios: www.mathworks.com/matlabcentral

Soporte técnico: www.mathworks.com/support/contact_us

Teléfono: 508-647-7000

The MathWorks, Inc. 3 de Apple


Hill Drive Natick, MA 01760 a
2.098

Caja de herramientas de redes neuronales ™ Guía de introducción

COPYRIGHT © 1992-2016 por The MathWorks, Inc.


El software descrito en este documento se suministra bajo un acuerdo de licencia. El software puede utilizarse o copiarse en los términos del contrato
de licencia. Ninguna parte de este manual puede ser fotocopiada o reproducida en cualquier forma sin el consentimiento previo por escrito de The
MathWorks, Inc. FEDERAL DE ADQUISICIÓN: Esta disposición se aplica a todas las adquisiciones del Programa y Documentación, por, oa través
del gobierno federal de los Estados Unidos . Al aceptar la entrega del Programa o Documentación, el gobierno acepta que este software o
documentación califica como software informático comercial o documentación de software comercial, como tales términos se utilizan o se definen en
12.212, DFARS Parte 227.72, y DFARS 252.227-7014. En consecuencia, los términos y condiciones de este Acuerdo y únicamente con los derechos
especificados en el presente Acuerdo, corresponderá a y gobernar el uso, modificación, reproducción, publicación, ejecución, exhibición y divulgación
del Programa y Documentación por el gobierno federal (u otra entidad adquirente para o por el gobierno federal) y sustituirán a los términos
contractuales en conflicto o condiciones . Si esta licencia no cumple con las necesidades del gobierno o es inconsistente con cualquier aspecto de la
ley federal de adquisiciones, el gobierno se compromete a devolver el Programa y Documentación, sin uso, de The MathWorks, Inc.

Marcas comerciales

MATLAB y Simulink son marcas registradas de The MathWorks, Inc. Ver


www.mathworks.com/trademarks para obtener una lista de las marcas comerciales. Otros nombres de productos o marcas pueden ser marcas

comerciales o marcas comerciales registradas de sus respectivos propietarios.

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

de junio de de 1992 primera edición,


de abril de de 1993 segunda edición
de enero de de 1997 tercera edición
de julio de de 1997 cuarta edición
de enero de de 1998 quinta edición Revisado para la Versión 3 (Release 11)
Septiembre 2000 impresión Sexta Revisado para la Versión 4 (Release 12)
de junio de de 2001 séptima impresión Las revisiones menores (Release 12.1)
de julio de de 2002 solo online Las revisiones menores (Release 13)
de enero de de 2003 solo online Las revisiones menores (Release 13SP1)
de junio de de 2004 solo online Revisado para la Versión 4.0.3 (Release 14)
de octubre de de 2004 solo online Revisado para la Versión 4.0.4 (Release 14SP1)
de octubre de de 2004 octava impresión Revisado para la versión 4.0.4
de marzo de de 2005 solo online Revisado para la Versión 4.0.5 (Release 14SP2)
de marzo de de 2006 solo online Revisado para la Versión 5.0 (2006a Release)
Nueve de septiembre de impresión 2006 Las revisiones menores (2006b Release)
de marzo de de 2007 solo online Las revisiones menores (2007a Release)
Sólo de septiembre de 2007 Online Revisado para la Versión 5.1 (2007b Release)
de marzo de 2008 solo online Revisado para la Versión 6.0 (2008a Release)
de octubre de 2008 solo online Revisado para la Versión 6.0.1 (2008b Release)
de marzo de 2009 solo online Revisado para la Versión 6.0.2 (2009a Release)
Sólo de septiembre de 2009 Online Revisado para la Versión 6.0.3 (2009b Release)
de marzo de 2010 solo online Revisado para la Versión 6.0.4 (2010a Release)
De septiembre de 2010 la impresión Décima Revisado para la Versión 7.0 (2010b Release)
de abril de 2011 solo online Revisado para la Versión 7.0.1 (2011a Release)
Sólo de septiembre de 2011 Online Revisado para la Versión 7.0.2 (2011b Release)
de marzo de 2012 solo online Revisado para la Versión 7.0.3 (2012a Release)
Sólo de septiembre de 2012 Online Revisado para la Versión 8.0 (2012b Release)
de marzo de 2013 solo online Revisado para la Versión 8.0.1 (2013A Release)
Sólo de septiembre de 2013 Online Revisado para la Versión 8.1 (2013b Release)
Marzo del 2014 solo online Revisado para la Versión 8.2 (2014A Release)
de octubre de 2014 solo online Revisado para la Versión 8.2.1 (2014b Release)
de marzo de el año 2015 solo online Revisado para la Versión 8.3 (2015A Release)
Sólo el año 2015 de septiembre de línea Revisado para la Versión 8.4 (2015b Release)
de marzo de el año 2016 solo online Revisado para la Versión 9.0 (2016A Release)
Contenido

Expresiones de gratitud

Agradecimientos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii

Empezando
1
Descripción del producto Caja de herramientas de redes neuronales. . . . . . . . . . . 1-2
Características destacadas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2

Redes Neuronales general. . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3

El uso de redes neuronales de la caja de herramientas. . . . . . . . . . . . . . . . . . . . . . . . 1-5


Generación de secuencias de comandos automática. . . . . . . . . . . . . . . . . . . . . . . . . 1-5

Aplicaciones de Redes Neuronales caja de herramientas. . . . . . . . . . . . . . . . . . 1-7

Diseño de Redes Neuronales pasos. . . . . . . . . . . . . . . . . . . . . . . . . 1-9

Datos apta con una red neuronal. . . . . . . . . . . . . . . . . . . . . . 1-10


La definición de un problema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-10
Uso de la herramienta de montaje de redes neuronales. . . . . . . . . . . . . . . . 1-11
Uso de las funciones de línea de comandos. . . . . . . . . . . . . . . . . . . . . 1-22

Clasificar los patrones con una red neuronal. . . . . . . . . . . . . . . 1-31


La definición de un problema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-31
Usando el modelo de red neuronal de la herramienta de reconocimiento. . . . . . 1-33
Uso de las funciones de línea de comandos. . . . . . . . . . . . . . . . . . . . . 1-45

Datos de racimo con un mapa de organización propia. . . . . . . . . . . . . . . 1-53


La definición de un problema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-53

v
Uso de la herramienta Clustering red neuronal. . . . . . . . . . . . . 1-54
Uso de las funciones de línea de comandos. . . . . . . . . . . . . . . . . . . . . 1-63

Predicción de series temporales de redes neuronales y Modelado. . . 1-69


La definición de un problema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-69
Uso de la herramienta de series temporales de redes neuronales. . . . . . . . . . . . 1-70
Uso de las funciones de línea de comandos. . . . . . . . . . . . . . . . . . . . . 1-82

Computación Paralela en CPU y GPU. . . . . . . . . . . . . . . . 1-93


Parallel Computing Toolbox. . . . . . . . . . . . . . . . . . . . . . . . 1-93
Los trabajadores de la CPU paralelas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-93
GPU Computing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-94
Múltiples GPU Computing / CPU. . . . . . . . . . . . . . . . . . . . . . 1-94
Cluster Computing Computing con MATLAB Distributed
Servidor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-95
Equilibrio de carga, grandes problemas, y más allá. . . . . . . . . . . 1-95

Neural Network Toolbox conjuntos de datos de ejemplo. . . . . . . . . . . . . 1-96

Glosario

vi Contenido
Expresiones de gratitud

vii
Expresiones de gratitud

Expresiones de gratitud

Los autores desean agradecer a las siguientes personas:

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.

Alan LaFleur de MathWorks para facilitar nuestro trabajo de documentación.

Stephen Vanreusel de MathWorks para ayudar con las pruebas.

Dan Doherty de MathWorks para apoyo a la comercialización y las ideas.

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

• “Descripción del producto Neural Network Toolbox” en la página 1-2

• “Redes Neuronales Descripción general” en la página 1-3

• “El uso de redes neuronales de la caja de herramientas” en la página 1-5

• “Aplicaciones de red neuronal de la caja de herramientas” en la página 1-7

• “Diseño de Redes Neuronales pasos” en la página 1-9

• “Fit de datos con una red neuronal” en la página 1-10

• “Clasificación de patrones con una red neuronal” en la página 1-31

• “Datos del clúster con una auto-organización mapa” en la página 1-53

• “Predicción de series temporales de redes neuronales y Modelado” en la página 1-69

• “Computación Paralela en la CPU y GPU” en la página 1-93

• “Neural Network Toolbox datos de ejemplo” en la página 1-96


1 Empezando

Caja de herramientas de redes neuronales Descripción del producto


Crear, entrenar, y simular redes neuronales

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

• El aprendizaje profundo, incluidas las redes neuronales convolucionales y autoencoders

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

• algoritmos de aprendizaje no supervisado, incluyendo mapas de auto-organización y capas competitivos

• Aplicaciones para el ajuste de datos, reconocimiento de patrones, y la agrupación

• Pre-procesamiento, post-procesamiento y visualización de la red para mejorar la eficacia de la formación y la


evaluación de rendimiento de la red

• 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

Redes Neuronales general


Las redes neuronales están compuestas de elementos simples que operan en paralelo. Estos elementos se inspiran en los
sistemas nerviosos biológicos. Como en la naturaleza, las conexiones entre elementos determinan en gran medida la función de
red. Usted puede entrenar una red neuronal para realizar una función particular, mediante el ajuste de los valores de las
conexiones (pesos) entre los elementos.

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:

• “Fit de datos con una red neuronal” en la página 1-10

• “Clasificación de patrones con una red neuronal” en la página 1-31

1-3
1 Empezando

• “Datos del clúster con una auto-organización mapa” en la página 1-53

• “Predicción de series temporales de redes neuronales y Modelado” en la página 1-69

1-4
El uso de redes neuronales de la caja de herramientas

El uso de redes neuronales de la caja de herramientas

Hay cuatro maneras de utilizar el software de red neuronal 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:

• • apropiado de funciones ( nftool)

• Reconocimiento de patrones ( nprtool)

• agrupamiento de datos ( nctool)

• Análisis de series temporales ( ntstool)

• 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.

Generación automática de secuencias de comandos

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

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.

Industria Aplicaciones de negocios

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

Automotor El análisis del automóvil sistema de guiado automático, y la actividad de


garantía

Bancario Comprobar y otra evaluación de lectura de documentos y la solicitud de crédito

Defensa de dirección de armas, seguimiento de objetivos, la discriminación de objetos, reconocimiento


facial, nuevos tipos de sensores, sonar, de radar y de procesamiento de señal de imagen
incluida la compresión de datos, extracción de características y de supresión de ruido, y la
señal de identificación / imagen

Electrónica Código de predicción de secuencia, el diseño integrado chip de circuito, control de


procesos, el análisis de fallos de chip, visión de la máquina, la síntesis de voz, y el
modelado no lineal

Entretenimiento Animación, efectos especiales, y la previsión de mercado

Financiero evaluación de bienes raíces, préstamos de asesoramiento, la detección de la hipoteca, calificación

de los bonos corporativos, análisis de uso de línea de crédito, tarjeta de crédito y seguimiento de

actividad, programa de comercio de cartera, análisis financiero corporativa, y la moneda predicción

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

Seguro Evaluación aplicación de políticas y la optimización del producto

Fabricación La fabricación de control de proceso, diseño y análisis de productos, procesos y


diagnóstico de la máquina, de partículas en tiempo real

1-7
1 Empezando

Industria Aplicaciones de negocios

identificación, los sistemas visuales de inspección de calidad, pruebas de la cerveza, el análisis de


calidad de la soldadura, predicción de la calidad del papel, el análisis por ordenador calidad de las
astillas, el análisis de las operaciones de rectificado, análisis de diseño de producto químico, análisis de
mantenimiento de la máquina, la licitación del proyecto, la planificación y la gestión, y el modelado
dinámico de producto químico sistema de proceso

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

Petróleo y gas Exploración

robótica sistemas de control de trayectoria, robot carretilla elevadora, los controladores del manipulador, y de visión

Valores análisis de mercado, de calificación de bonos automática, y el comercio de acciones sistemas de

asesoramiento

Habla El reconocimiento de voz, compresión de voz, la clasificación vocal y de texto a


voz de síntesis

Telecomunicaciones Imagen y compresión de datos, servicios automatizados de información,


traducción en tiempo real de la lengua oral y de pago del cliente sistemas de
procesamiento

Transporte sistemas de freno de camiones diagnóstico, programación de vehículos y sistemas de


enrutamiento

1-8
Neural Network Diseño Pasos

Neural Network Diseño Pasos


En las secciones restantes de este tema, usted siga los pasos estándar para el diseño de redes neuronales para resolver problemas
en cuatro áreas de aplicación: función de ajuste, el reconocimiento de patrones, agrupamiento y análisis de series temporales. El
flujo de trabajo para cualquiera de estos problemas tiene siete pasos principales. (La recogida de datos en el paso 1, aunque
importante, generalmente se produce fuera del entorno MATLAB.)

1 Recolectar datos

2 Crear la red

3 Configurar la red

4 Inicializar los pesos y sesgos

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:

• “Fit de datos con una red neuronal” en la página 1-10

• “Clasificación de patrones con una red neuronal” en la página 1-31

• “Datos del clúster con una auto-organización mapa” en la página 1-53

• “Predicción de series temporales de redes neuronales y Modelado” en la página 1-69

1-9
1 Empezando

Datos se ajustan con una red neuronal

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:

entradas = [0 1 0 1; 0 0 1 1]; Objetivos = [0 0 0


1];

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

Uso de la herramienta de montaje de redes neuronales

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

3 Hacer clic Siguiente para proceder.

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:

• 70% se utilizará para la formación.

• 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).

7 Hacer clic Siguiente.

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

8 Hacer clic Siguiente.

1-15
1 Empezando

9 Seleccionar un algoritmo de entrenamiento, a continuación, haga clic Tren.. Levenberg-Marquardt ( trainlm) es


recomendada para la mayoría de los problemas, pero para algunos problemas de ruido y pequeñas bayesiano de
regularización ( trainbr) puede tomar más tiempo, pero obtener una mejor solución. Para los grandes problemas, sin embargo,
Scaled gradiente conjugado ( trainscg) se recomienda ya que utiliza cálculos de gradiente que son más eficiente de la memoria
de los cálculos jacobianas utilizan los otros dos algoritmos. En este ejemplo se utiliza el valor por defecto de
Levenberg-Marquardt.

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

En este punto, se puede probar la red contra los nuevos datos.

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.

• Aumentar el número de neuronas.

• 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. Si el
rendimiento de la formación es pobre, entonces es posible que desee aumentar el número de neuronas.

3 Si no está satisfecho con el rendimiento de la red, haga clic Siguiente.

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.

Uso de las funciones de línea de comandos

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.

% Resolver un problema de montaje de entrada-salida con una red neuronal

1-22
Datos se ajustan con una red neuronal

% De secuencias de comandos generado por NFTOOL%

Este script% asume estas variables se definen:%

% houseInputs - datos de entrada. % houseTargets -


datos de destino.

entradas = houseInputs; objetivos =


houseTargets;

% Crear una Red de montaje


hiddenLayerSize = 10; neto = FITNET
(hiddenLayerSize);

Configurar% División de datos para el entrenamiento, validación, pruebas


net.divideParam.trainRatio = 70/100;
net.divideParam.valRatio = 15/100; net.divideParam.testRatio
= 15/100;

% 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

[Entradas, objetivos] = house_dataset;

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.

hiddenLayerSize = 10; neto = FITNET


(hiddenLayerSize);

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.

3 Configurar la división de los datos.

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

4 Entrenar la red. La red utiliza el algoritmo de Levenberg-Marquardt por defecto


( trainlm) para entrenamiento. En caso de problemas en el que Levenberg-Marquardt no produce resultados tan precisos como
se desee, o para grandes problemas de datos, considere la posibilidad de ajustar la función de entrenamiento de la red
bayesiana para la Regularización ( trainbr) o Escalado gradiente conjugado ( trainscg), respectivamente, ya sea con

net.trainFcn = 'trainbr'; net.trainFcn =


'trainscg';

Para entrenar la red, introduzca:

[red, tr] = tren (neto, entradas, objetivos);

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:

• El error cuadrático medio final es pequeña.

• El error de prueba y el error de validación establecidos tienen características similares.

• No sobreajuste significativo ha ocurrido por iteración 17 (donde se produce el mejor rendimiento de


validación).

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.

salidas = netos (entradas);


errors = gsubtract (objetivos, salidas); rendimiento = realizar (neto, los
objetivos, las salidas)

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 = realizar (neto, objetivos (Tind), tstOutputs)

tstPerform =

9.8912

6 Realizar un análisis de la respuesta de la red. Si hace clic Regresión en el


ventana de formación, puede realizar una regresión lineal entre las salidas de la red y los objetivos

correspondientes. La siguiente figura muestra los resultados.

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

• Aumentar el número de neuronas ocultas.

• Aumentar el número de vectores de entrenamiento.

• Aumentar el número de valores de entrada, si la información más relevante está disponible.

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.

7 Ver el diagrama de red.

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

precisión se ha encontrado, reciclar varias veces.

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

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

neuronales” en la página 1-33.

• 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

siguiente sección describe el formato de los datos.

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:

entradas = [0 1 0 1; 0 0 1 1]; Objetivos = [0 1 0 1;


1 0 1 0];

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:

• El origen (el primer vector de entrada) en una clase

• La esquina más alejada del origen (el último vector de entrada) en una segunda clase

1-31
1 Empezando

• Todos los otros puntos en una tercera clase

entradas = [0 0 0 0 5 5 5 5; 0 0 5 5 0 0 5 5; 0 5 0 5 0 5 0 5]; Objetivos = [1 0 0 0 0 0 0 0; 0 1 1 1 1 1 1 0; 0


0 0 0 0 0 0 1];

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

Usando el modelo de red neuronal Herramienta de reconocimiento de

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

3 Hacer clic Siguiente para proceder. Se abre la ventana de selección de datos.

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.

6 Hacer clic Siguiente para pasar a la ventana de validación y de datos de prueba.

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:

• 70% se utiliza para la formación.

• 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).

7 Hacer clic Siguiente.

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

8 Hacer clic Siguiente.

1-38
Clasificar los patrones con una red neuronal

9 Hacer clic Tren.

1-39
1 Empezando

La formación continúa durante 55 iteraciones.

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

En este punto, se puede probar la red contra los nuevos datos.

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.

13 Cuando esté satisfecho con el rendimiento de la red, haga clic Siguiente.

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.

15 Cuando haya guardado los resultados, haga clic Terminar.

Uso de las funciones de línea de comandos

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:%

% cancerInputs - datos de entrada. % cancerTargets -


datos de destino.

entradas = cancerInputs; objetivos =


cancerTargets;

% Crear una Red de Reconocimiento de Patrones


hiddenLayerSize = 10;
neto = patternnet (hiddenLayerSize);

Configurar% División de datos para el entrenamiento, validación, pruebas


net.divideParam.trainRatio = 70/100;
net.divideParam.valRatio = 15/100; net.divideParam.testRatio
= 15/100;

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

% Figura, plotconfusion (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-46
Clasificar los patrones con una red neuronal

[Entradas, objetivos] = cancer_dataset;

2 Crear la red. La red predeterminada para la función de ajuste (o la regresión)


problemas, patternnet, es una red de alimentación directa con la función predeterminada tan-sigmoide
transferencia en la capa oculta, y una función de transferencia softmax en la capa de salida. Que asignó diez
neuronas (un tanto arbitrarias) a la capa oculta en el apartado anterior.

• La red tiene dos neuronas de salida, porque hay dos valores de objetivo (categorías) asociados
con cada vector de entrada.

• Cada neurona de salida representa una categoría.

• Cuando un vector de entrada de la categoría apropiada se aplica a la red, la neurona correspondiente


debe producir un 1, y las otras neuronas debe ser la salida una
0.

Para crear la red, introduzca los siguientes comandos:

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.

3 Configurar la división de los datos.

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-47
1 Empezando

4 Entrenar la red. La red de reconocimiento de patrones utiliza el valor predeterminado Scaled


Gradiente conjugado ( trainscg) algoritmo para la formación. Para entrenar la red, introduzca este comando:

[red, tr] = tren (neto, entradas, objetivos);

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.

salidas = netos (entradas);


errors = gsubtract (objetivos, salidas); rendimiento = realizar (neto, los
objetivos, las salidas)

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

6 Ver el diagrama de red.

Ver (neto)

7 Trazar el entrenamiento, validación y realización de la prueba.

figura, plotperform (tr)


1-49
1 Empezando

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.

figura, plotconfusion (objetivos, salidas)

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.

• Aumentar el número de neuronas ocultas.

• Aumentar el número de vectores de entrenamiento.

• Aumentar el número de valores de entrada, si la información más relevante está disponible.

• 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.

• Terreno de la línea de comandos con funciones tales como plotroc y plottrainstate.

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

precisión se ha encontrado, reciclar varias veces.

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

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

• La minería de datos de partición de datos en subconjuntos relacionados

• 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

de ejemplo para los que tiene estas cuatro mediciones.

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

Uso de la herramienta de red neuronal Clustering

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

3 Hacer clic Siguiente. Aparece la ventana de selección de datos.

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.

7 Hacer clic Siguiente. Aparecerá la ventana del tren de la red.

1-56
Datos de racimo con un auto-organizador Mapa

8 Hacer clic Tren.

1-57
1 Empezando

La formación corre para el número máximo de épocas, que es de 200.

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

En este punto se puede probar la red frente a los nuevos datos.

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.

12 Cuando esté satisfecho con el rendimiento de la red, haga clic Siguiente.

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

14 Utilice los botones de esta pantalla para guardar los resultados.

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.

Uso de las funciones de línea de comandos

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.

% Resolver un problema de clústeres con una auto-organización mapa

1-63
1 Empezando

% De secuencias de comandos generado por NCTOOL%

Este script% asume estas variables se definen:%

% simpleclusterInputs - datos de entrada.

entradas = simpleclusterInputs;

% Crear un mapa auto-organización


Dimension1 = 10;
Dimension2 = 10;
neto = selforgmap ([Dimension1 Dimension2]);

% 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

ver “auto organizan Característica Maps”.) Al crear la red con selforgmap,


se especifica el número de filas y columnas de la cuadrícula:

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.

[red, tr] = tren (neto, entradas);

4 Durante el entrenamiento, la ventana de entrenamiento se abre y muestra el progreso del entrenamiento. A


interrumpir el entrenamiento en cualquier momento, haga clic Formación parada.

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.

salidas = netos (entradas);

6 Ver el diagrama de 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.

figura, plotsomtop (neto)

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

Predicción de series temporales de redes neuronales y Modelado

redes neuronales dinámicas son buenos en la predicción de series de tiempo.

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

Uso de la herramienta de red neuronal de series temporales

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:

y (t) = f (y (t - 1), ..., y (t - d), x (t - 1), ..., ( t - re))

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:

y (t) = f (y (t - 1), ..., y (t - re))

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

5 Seleccionar Proceso de neutralización de pH, y haga clic Importar. Esto le devuelve a la


Seleccione la ventana de datos.

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:

• 70% se utilizará para la formación.

• 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).

7 Hacer clic Siguiente.

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

El número predeterminado de neuronas ocultas se establece en 10. El número predeterminado de retrasos es


2. Cambie este valor a 4. Es posible que desee ajustar estos números si el rendimiento de la formación de la red es
deficiente.

1-75
1 Empezando

8 Hacer clic Siguiente.

9 Seleccionar un algoritmo de entrenamiento, a continuación, haga clic Tren.. Levenberg-Marquardt ( trainlm) es


recomendada para la mayoría de los problemas, pero para algunos problemas de ruido y pequeñas bayesiano de
regularización ( trainbr) puede tomar más tiempo, pero obtener una mejor solución. Para los grandes problemas, sin embargo,
Scaled gradiente conjugado ( trainscg) se recomienda ya que utiliza cálculos de gradiente que son más eficiente de la memoria
de los cálculos jacobianas utilizan los otros dos algoritmos. En este ejemplo se utiliza el valor por defecto de
Levenberg-Marquardt.

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

En este punto, se puede probar la red contra los nuevos datos.

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.

• Aumentar el número de neuronas y / o el número de retrasos.

• 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.

14 Si no está satisfecho con el rendimiento de la red, haga clic Siguiente.

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.

Uso de las funciones de línea de comandos

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.

% Resolver un problema con Autorregresión externa

1-82
Predicción de series temporales de redes neuronales y Modelado

Entrada% con una secuencia de comandos% NARX red


neuronal generada por NTSTOOL%

Este script% asume las variables a la derecha de estas igualdades% se definen:%

% phInputs - series de tiempo de entrada. phTargets% -


Comentarios de series de tiempo.

inputSeries = phInputs; targetSeries =


phTargets;

% Crear una Red autorregresivo lineal con entrada externa


inputDelays = 1: 4; feedbackDelays
= 1: 4; hiddenLayerSize = 10;

netas = narxnet (inputDelays, feedbackDelays, hiddenLayerSize);

% 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.

[entradas, inputStates, layerStates, objetivos] = ...


preparets (neto, inputSeries, {}, targetSeries);

Configurar% División de datos para el entrenamiento, validación, pruebas


net.divideParam.trainRatio = 70/100;
net.divideParam.valRatio = 15/100; net.divideParam.testRatio
= 15/100;

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

% Figura, plotregression (objetivos, salidas)% figura, plotresponse


(objetivos, salidas)% figura, ploterrcorr (errores)% figura, plotinerrcorr
(entradas, errores)

% De la red de circuito cerrado


% Utilice esta red para hacer la predicción de múltiples pasos.
% El CLOSELOOP función sustituye la entrada de realimentación con una conexión directa% a partir de la capa
de salida.
netc = closeloop (neto); netc.name = [net.name ' - Bucle cerrado' ];
Ver (netc)

[Xc, XIC, AIC, tc] = preparets (netc, inputSeries, {}, targetSeries); yc = netc (xc, XIC, AIC);

closedLoopPerformance = realizar (netc, tc, yc)

% Red de predicción temprana


% Para algunas aplicaciones, ayuda a conseguir la predicción un paso de tiempo% temprana.

% Los rendimientos de red original predijeron y (t + 1) al mismo tiempo% se da y (t + 1).

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

earlyPredictPerformance = realizar (redes, ts, ys)

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;

netas = narxnet (inputDelays, feedbackDelays, hiddenLayerSize);

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:

[entradas, inputStates, layerStates, objetivos] = ...


preparets (neto, inputSeries, {}, targetSeries);

4 Configurar la división de los datos.

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.

5 Entrenar la red. La red utiliza el algoritmo de Levenberg-Marquardt por defecto


( trainlm) para entrenamiento. En caso de problemas en el que Levenberg-Marquardt no produce resultados tan precisos como
se desee, o para grandes problemas de datos, considere la posibilidad de ajustar la función de entrenamiento de la red
bayesiana para la Regularización ( trainbr) o Escalado gradiente conjugado ( trainscg), respectivamente, ya sea con

net.trainFcn = 'trainbr'; net.trainFcn =


'trainscg';

Para entrenar la red, introduzca:

[netas, TR] = tren (neto, entradas, objetivos, inputStates, layerStates);

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

salidas = netos (entradas, inputStates, layerStates); errors = gsubtract


(objetivos, salidas); rendimiento = realizar (neto, los objetivos, las salidas)

rendimiento =

0,0042

7 Ver el diagrama de red.

Ver (neto)

8 Trazar el registro de entrenamiento de rendimiento para comprobar si hay sobreajuste potencial.

figura, plotperform (tr)

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

netc = closeloop (neto); netc.name = [net.name ' - Bucle cerrado' ];


Ver (netc)

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

earlyPredictPerformance = realizar (redes, ts, ys)

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

• Aumentar el número de neuronas ocultas o el número de retrasos.

• Aumentar el número de vectores de entrenamiento.

• Aumentar el número de valores de entrada, si la información más relevante está disponible.

• Pruebe con un algoritmo de entrenamiento diferente (ver “Algoritmos de entrenamiento”). 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 gráfica de correlación de error), y ver que se animan.

1-91
1 Empezando

• Terreno de la línea de comandos con funciones tales como plotresponse, ploterrcorr


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

precisión se ha encontrado, reciclar varias veces.

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

Computación Paralela en CPU y GPU

En esta sección...

“Parallel Computing Toolbox” en la página 1-93 “Trabajadores de la

CPU en paralelo” en la página 1-93 “GPU Computing” en la página

1-94

“Múltiple GPU Computing / CPU” en la página 1-94

“Cluster Computing con MATLAB Distributed Computing Server” en la página 1-95 “equilibrio de carga,

grandes problemas, y más allá” en la página 1-95

Parallel Computing Toolbox

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

[X, t] = house_dataset; NET1 =


feedforwardnet (10); net2 = tren (NET1, x, t);
y = net2 (x);

Los trabajadores de la CPU paralelas

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.

Iniciar o conseguir la piscina paralelo actual y ver el número de trabajadores en la piscina.

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

abierto, fijar el tren La función de ' useParallel' opción de ' sí'


para especificar que el entrenamiento y simulación pueden realizar a través de la piscina.

net2 = tren (NET1, x, t, 'UseParallel' , 'sí' ); y = net2 (x, 'UseParallel' , 'sí' );

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.

gpuDeviceCount gpuDevice gpuDevice (2) % Seleccionar dispositivo 2, si


está disponible

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.

net2 = tren (NET1, x, t, 'UseGPU' , 'sí' ); y = net2 (x, 'UseGPU' , 'sí' );

GPU múltiple / Informática CPU

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.

net2 = tren (NET1, x, t, 'UseParallel' , 'sí' , 'UseGPU' , 'sí' );

1-94
Computación Paralela en CPU y GPU

y = net2 (x, 'UseParallel' , 'sí' , 'UseGPU' , 'sí' );

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

Cluster Computing con MATLAB Distributed Computing Server

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í' ); y = net2 (x, 'UseParallel' , 'sí' );

net2 = tren (NET1, x, t, 'UseParallel' , 'sí' ); y = net2 (x, 'UseParallel' , 'sí' );

net2 = tren (NET1, x, t, 'UseParallel' , 'sí' , 'UseGPU' , 'solamente' ); y = net2 (x, 'UseParallel' , 'sí' , 'UseGPU' , 'solamente'
);

Equilibrio de carga, grandes problemas, y más allá

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

neuronales a problemas muy grandes.

1-95
1 Empezando

Neural Network Toolbox conjuntos de muestras de datos

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

Conjuntos de datos de red neural


- - - - - - - - - - - - - - - - - - - - - - -

Función de ajuste, la aproximación de funciones y ajuste de curvas.

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.

simplefit_dataset - conjunto de datos apropiado simple.


abalone_dataset - anillos de concha de abulón conjunto de datos.
bodyfat_dataset - porcentaje de grasa corporal conjunto de datos.
building_dataset - La construcción de conjunto de datos de energía.
chemical_dataset - conjunto de datos de sensor químico.
cho_dataset - conjunto de datos colesterol.
engine_dataset - conjunto de datos de comportamiento del motor.
house_dataset - Casa valor conjunto de datos

- - - - - - - - - -

Reconocimiento de Patrones y Clasificación

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.

simpleclass_dataset - Simple conjunto de datos de reconocimiento de patrones.


cancer_dataset - El cáncer de mama conjunto de datos.
crab_dataset - conjunto de datos de género de cangrejo.
glass_dataset - Glass conjunto de datos de productos químicos.

iris_dataset - Iris conjunto de datos flor.


thyroid_dataset - la función tiroidea conjunto de datos.
wine_dataset - vinos conjunto de datos italiana.

1-96
Neural Network Toolbox conjuntos de muestras de datos

- - - - - - - - - -

La agrupación, extracción de características y reducción de la dimensión 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.

simplecluster_dataset - simple agrupación de datos.

Las entradas de ajuste o el patrón de conjuntos de datos de reconocimiento pueden también agrupado.

- - - - - - - - - -

Predicción de entrada-salida de series de tiempo, Pronosticar, el modelado dinámico, auto


regresión no lineal, de identificación del sistema y Filtrado

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.

simpleseries_dataset - Simple de series de tiempo de predicción de conjunto de datos.


simplenarx_dataset - Sencilla de series temporales de datos de predicción.
exchanger_dataset - Heat conjunto de datos intercambiador.
maglev_dataset - conjunto de datos de levitación magnética.
ph_dataset - Solución conjunto de datos PH.
pollution_dataset - conjunto de datos de mortalidad de la contaminación.

valve_dataset - Válvula de conjunto de datos de flujo de fluido.

- - - - - - - - - -

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

simplenar_dataset - Sencilla único conjunto de datos de predicción de series.


chickenpox_dataset - Mensual casos de varicela conjunto de datos.
ice_dataset - Gobal conjunto de datos de volumen de hielo.

laser_dataset - Caótico conjunto de datos láser en el infrarrojo lejano.


oil_dataset - conjunto de datos mensuales del precio del petróleo.
river_dataset - conjunto de datos del caudal del río.
solar_dataset - la actividad de las manchas solares conjunto de datos

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

ADALINE Acrónimo de una neurona lineal: Elemento lineal adaptativo.

adaptación método de entrenamiento que procede a través de la secuencia especificada de las


entradas, el cálculo de la salida, el error, y el ajuste de red para cada vector de
entrada en la secuencia como se presentan las entradas.

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.

lote Matriz de entrada (o de destino) vectores aplica a la red de forma simultánea.


Los cambios en los pesos y sesgos de red se hacen sólo una vez para todo el
conjunto de vectores en la matriz de entrada. (El termino lote está siendo
sustituida por la expresión más descriptiva “vectores concurrentes.”)

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

BFGS cuasi-Newton Variación del algoritmo de optimización de Newton, en el que se obtiene


algoritmo una aproximación de la matriz de Hesse de gradientes calculados en cada
iteración del algoritmo.

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.

clasificación Asociación de un vector de entrada con un vector de destino particular.

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.

conexión enlace unidireccional entre las neuronas en una red.

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.

ciclo presentación individual de un vector de entrada, cálculo de la producción, y


los nuevos pesos y sesgos.

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.

regla delta Ver Widrow-Hoff regla de aprendizaje.

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.

función de la distancia forma particular de calcular la distancia, tal como la distancia


euclidiana entre dos vectores.

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

época Presentación del conjunto de entrenamiento (de entrada y / o de destino) Vectores a


una red y el cálculo de los nuevos pesos y sesgos. Tenga en cuenta que los vectores
de entrenamiento pueden ser presentados uno a la vez o todos juntos en un lote.

salto de error aumento repentino de error de la suma al cuadrado de una red durante el entrenamiento. Esto es a

menudo debido a demasiado grande una tasa de aprendizaje.

Tasa de errores parámetro de entrenamiento utilizado con tasa de aprendizaje adaptativo y la


formación impulso de las redes de retropropagación.

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.

Búsqueda sección de oro La búsqueda lineal que no requiere el cálculo de la pendiente. El


intervalo que contiene el mínimo de la

Glosario-4
Glosario

el rendimiento se subdivide en cada iteración de la búsqueda, y una


subdivisión se eliminará en cada iteración.

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

neurona casa Neurona en el centro de un barrio.

bisección cúbicos híbrido de búsqueda Búsqueda línea que combina la bisección y la interpolación
cúbica.

inicialización Proceso de configuración de los pesos y sesgos de red a sus valores


originales.

capa de entrada Capa de neuronas que reciben entradas directamente desde fuera de la red.

espacio de entrada Rango de todos los posibles vectores de entrada.

vector de entrada Vector presentó a la red.

entrada de vector de pesos vector fila de pesos que van a una neurona.

los pesos de entrada Pesos de conexión entradas de red a las capas.

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.

mínimo local Mínimo de una función en un intervalo limitado de valores de entrada.


Un mínimo local podría no ser el mínimo global.

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

la distancia Manhattan La distancia Manhattan entre dos vectores X y y se calcula como

D = suma (abs (xy))

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.

constante impulso Entrenamiento parámetro que controla la cantidad de movimiento se utiliza.

parámetro mu Valor inicial para la μ escalar.

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.

capa de salida Capa cuya salida se pasa al mundo fuera de la red.

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.

sobreajuste Caso en el que el error en el conjunto de entrenamiento es conducido a un valor


muy pequeño, pero cuando los nuevos datos se presenta a la red, el error es
grande.

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

La red “reconoce” la entrada como uno de los vectores diana originales.

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.

actuación Comportamiento de una red.

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.

preprocesamiento La transformación de los datos de entrada o de destino antes de ser


presentado a la red neural.

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

algoritmo de quasi-Newton Clase de algoritmo de optimización basado en el método de Newton. Una


matriz de Hesse aproximada se calcula en cada iteración del algoritmo
basado en los gradientes.

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.

parámetro sigma Determina el cambio en el peso para el cálculo de la matriz de Hesse


aproximada en el algoritmo de gradiente conjugado escalado.

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.

simulación Toma la entrada de red pag, y el objeto de red red,


y devuelve las salidas de la red a.

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.

función aplastando Monotónicamente función que toma valores de entrada entre -∞ y + ∞ y


devuelve los valores en un intervalo finito en aumento.

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.

vector objetivo vector de salida deseado para un vector de entrada dada.

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.

actualizar Hacer un cambio en pesos y sesgos. La actualización se puede producir después de la


presentación de un único vector de entrada o después de la acumulación de cambios a lo
largo de varios vectores de entrada.

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

Vous aimerez peut-être aussi