Guía para el uso de NeuralTools Programa auxiliar de redes neuronales para Microsoft Excel ® Versión 6 March, 2013 Palisade Corporation 798 Cascadilla St. Ithaca, NY 14850 EE.UU. +1-607-277-8000 +1-607-277-8001 (fax) http://www.palisade.com (World Wide Web) sales@palisade.com (correo electrónico) Copyright Copyright © 2013, Palisade Corporation. Reconocimiento de marcas comerciales Microsoft, Excel y Windows son marcas comerciales registradas de Microsoft Corporation. IBM es una marca comercial registrada de International Business Machines, Inc. Palisade, TopRank, BestFit y RISKview son marcas comerciales registradas de Palisade Corporation. Bienvenidos a NeuralTools para Excel Bienvenidos NeuralTools ofrece a Microsoft Excel –el programa de modelación y análisis de datos estándar de la industria- un nuevo y eficaz grupo de herramientas de modelación. NeuralTools es un programa auxiliar de redes neuronales para Microsoft Excel que permite analizar datos en las hojas de cálculo de Excel y trabajar en el entorno familiar de Microsoft Office. Combinando un eficaz administrador de datos y los más modernos algoritmos de redes neuronales, NeuralTools ofrece lo mejor de dos mundos: la facilidad de uso y los informes de Microsoft Office, y las predicciones sólidas y precisas de las redes neuronales. Trabaje con la mayor comodidad Si sabe cómo usar Excel, sabrá usar NeuralTools. NeuralTools funciona como lo hace Excel, con barras de herramientas, menús y funciones personalizadas de hojas de trabajo, y todo ello dentro de Excel. A diferencia de los programas de redes neuronales de funcionamiento independiente, con NeuralTools no hay una pronunciada curva de aprendizaje ni costos iniciales de formación, porque se trabaja como usted trabaja en Excel. Los datos y variables están en hojas de cálculo de Excel. Puede usar fórmulas estándar de Excel para hacer cálculos así como tablas de pivote y ordenación de Excel. Los informes y gráficas de los análisis se ofrecen en el formato estándar de Excel y pueden utilizar todas las funciones de formato incorporadas de Excel. Bienvenidos a NeuralTools para Excel i Análisis de NeuralTools Las redes neuronales son capaces de aprender complejas relaciones de datos. Al imitar las funciones de un cerebro, pueden diferenciar patrones de datos y luego extrapolar predicciones cuando se introducen nuevos datos. Los problemas en los que se usan redes neuronales se pueden dividir en dos grupos generales: Problemas de clasificación: Problemas en los que se trata de determinar el tipo de categoría al que pertenece un elemento desconocido. Como ejemplo están los diagnósticos médicos o las predicciones de capacidad de pago de un crédito. Problemas numéricos: Situaciones en las que debe predecir un resultado numérico específico. Como ejemplo están la previsión del precio de acciones o la predicción del nivel de ventas durante un periodo de tiempo futuro. Las redes neuronales se usan en una amplia variedad de aplicaciones, que incluyen: predicciones en el mercado de valores, asignación de riesgo en créditos y préstamos, detección de fraude crediticio, previsiones de ventas, previsiones comerciales en general, riesgo en inversiones, diagnósticos médicos, investigación científica y sistemas de control. NeuralTools incorpora los más modernos algoritmos de redes neuronales para hacer las mejores predicciones tanto en problemas de clasificación (denominados predicción de categoría en NeuralTools) como en problemas numéricos. ii Bienvenidos Administración de datos en NeuralTools NeuralTools proporciona un completo administrador de conjuntos de datos y variables que funciona dentro de Excel, similar al que proporciona StatTools, el programa auxiliar estadístico para Excel creado por Palisade. Se puede definir un número ilimitado de conjuntos de datos, cada uno con las variables que desea analizar, directamente en los datos de Excel. NeuralTools evalúa inteligentemente los bloques de datos, sugiriendo nombres y tipos de variables así como ubicaciones de datos. Los conjuntos de datos y variables pueden residir en diferentes libros de trabajo y hojas de cálculo, permitiéndole organizar los datos como mejor le convenga. Luego, puede entrenar las redes neuronales que hacen referencia a las variables, en lugar de tener que seleccionar de nuevo los datos una y otra vez en Excel. Y las variables de NeuralTools no están limitadas en su tamaño a una sola columna de datos de una hoja de cálculo de Excel; puede usar la misma columna a lo largo de hasta 255 hojas de cálculo para una sola variable. Informes de NeuralTools Excel es ideal para informes y gráficos, y NeuralTools lo aprovecha al máximo. NeuralTools usa gráficos con formato de Excel, que se pueden personalizar fácilmente con nuevos colores, fuentes y texto. Los títulos de los informes, formato de los números y texto se puede cambiar como en cualquier hoja de cálculo estándar de Excel. Arrastre y coloque tablas y gráficas de los informes de NeuralTools directamente a sus propios documentos de otras aplicaciones. NeuralTools Industrial también incluye predicción en vivo, que permite calcular los valores de predicción cuando se introducen nuevos datos en la hoja de cálculo de Excel. Estos cálculos en vivo se producen automáticamente, como los demás recálculos de Excel. Bienvenidos a NeuralTools para Excel iii Acceso y distribución de datos Excel tiene excelentes funciones de importación de datos, por lo que incorporar datos existentes a NeuralTools es muy fácil. Use las funciones estándar de Excel para importar datos de Microsoft SQL Server, Oracle, Microsoft Access o cualquier otra base de datos que respalde ODBC. Cargue datos de archivos de texto o de otras aplicaciones; si lo puede introducir en Excel, lo puede usar en NeuralTools. NeuralTools almacena todos los resultados y datos en libros de trabajo de Excel. Como con cualquier otro archivo de Excel, podrá enviar resultados y redes de NeuralTools a sus colegas. Compartir datos no puede ser más fácil. Las versiones Profesional e Industrial de NeuralTools NeuralTools se ofrece en dos versiones: Profesional e Industrial. Las diferencias son las siguientes: iv Los conjuntos de datos en NeuralTools Profesional están limitados a 1000 casos, mientras NeuralTools Industrial respalda conjuntos de datos de hasta 16,777,216 casos. La predicción en vivo, que permite calcular los valores de predicción cuando se introducen nuevos datos en la hoja de cálculo de Excel, sólo se ofrece en NeuralTools Industrial. Estos cálculos en vivo se producen automáticamente, como los demás recálculos de Excel. Bienvenidos Índice Capítulo 1: Introducción 1 Introducción ........................................................................................3 Información sobre esta versión .............................................................3 Las versiones Profesional e Industrial de NeuralTools ....................3 El sistema operativo.................................................................................3 Cómo obtener ayuda................................................................................4 Requisitos del sistema de NeuralTools ...............................................6 Instrucciones para la instalación......................................................7 Instrucciones generales de instalación.................................................7 Configuración de los iconos y de los accesos directos de NeuralTools...............................................................................................7 Los programas de DecisionTools Suite................................................7 Activación del software...........................................................................8 Capítulo 2: Introducción a NeuralTools 9 Introducción ......................................................................................11 ¿Para qué sirven las redes neuronales? ..............................................11 NeuralTools y las redes neuronales....................................................12 El menú y la barra de herramientas de NeuralTools .......................13 Conjuntos de datos y el Administrador de conjunto de datos ......14 Entrenamiento de una red neuronal ...................................................16 Prueba de una red ..................................................................................21 Predicción ................................................................................................23 Informes y gráficas de NeuralTools ...................................................25 Utilidades de NeuralTools ...................................................................26 Uso de NeuralTools con StatTools, Solver y Evolver......................26 Capítulo 3: Guía de referencia de NeuralTools 29 Introducción ......................................................................................31 Referencia: Iconos de NeuralTools 33 La barra de herramientas de NeuralTools......................................33 Índice v Referencia: Comandos del menú de NeuralTools 35 Introducción...................................................................................... 35 Iconos de los cuadros de diálogo........................................................ 36 Referencia de comandos................................................................. 37 Comando Administrador de conjunto de datos .............................. 37 Comando Entrenar ................................................................................ 44 Comando Probar.................................................................................... 58 Comando Predecir................................................................................. 65 Utilidades .......................................................................................... 71 Comando Configuraciones de aplicación ......................................... 71 Comando Administrador de red neuronal ....................................... 75 Comando Utilidades de reemplazo de datos.................................... 77 Comando Sensibilidad de prueba...................................................... 80 Información adicional sobre redes neuronales 83 Fundamentos de las redes neuronales.......................................... 83 Redes neuronales y métodos estadísticos......................................... 84 La estructura de una red neuronal...................................................... 84 Predicción numérica y de categorías.................................................. 85 Entrenamiento de una red ................................................................... 85 Procesamiento en computadora de las redes neuronales............... 86 Tipos de redes neuronales ................................................................... 86 Redes multinivel siempre hacia adelante...................................... 87 La arquitectura MLF ............................................................................. 87 Entrenamiento de una red MLF.......................................................... 89 Redes neuronales de regresión generalizada y redes neuronales probabilísticas .......................................................... 93 Redes neuronales de regresión generalizada ................................... 93 Redes neuronales probabilísticas....................................................... 96 Comparación de redes MLF y redes PN/GRN ............................... 99 Transformación de valores de entrada ........................................ 101 Obras recomendadas..................................................................... 103 Índice vi 105 Capítulo 1: Introducción Introducción ........................................................................................3 Información sobre esta versión .............................................................3 Las versiones Profesional e Industrial de NeuralTools ....................3 El sistema operativo.................................................................................3 Cómo obtener ayuda................................................................................4 Requisitos del sistema de NeuralTools ...............................................6 Instrucciones para la instalación......................................................7 Instrucciones generales de instalación.................................................7 Configuración de los iconos y de los accesos directos de NeuralTools...............................................................................................7 Los programas de DecisionTools Suite................................................7 Activación del software...........................................................................8 @RISK 4.5 Help System Palisade Corporation, 1999 Capítulo 1: Introducción 1 2 Introducción Esta introducción describe los contenidos del paquete de NeuralTools y explica cómo instalar NeuralTools e incorporarlo a su copia de Microsoft Excel 2003 o posterior. Información sobre esta versión Esta versión de NeuralTools se puede instalar con Microsoft Excel 2003 o posterior. Las versiones Profesional e Industrial de NeuralTools NeuralTools se ofrece en dos versiones: Profesional e Industrial. Las diferencias son las siguientes: Los grupos de datos en NeuralTools Professional tienen un límite de 1000 casos, mientras que en NeuralTools Industrial su tamaño sólo está limitado por la cantidad de memoria disponible. La Predicción en Vivo, que permite calcular los valores de predicción cuando se introducen nuevos datos en la hoja de cálculo de Excel, sólo se ofrece en NeuralTools Industrial. Estos cálculos en vivo se producen automáticamente, como los demás recálculos de Excel. El sistema operativo Esta guía para el uso del programa está diseñada para usuarios que tienen un conocimiento general del sistema operativo Windows y de Excel. En particular, el usuario debe: Estar familiarizado con el uso del PC y del ratón. Estar familiarizado con términos como iconos, hacer clic, hacer doble clic, menú, ventana, comando y objeto. Comprender los conceptos básicos de estructura de directorios y archivos. Capítulo 1: Introducción 3 Cómo obtener ayuda Se ofrece asistencia técnica gratuita a todos los usuarios registrados de NeuralTools con un plan actual de mantenimiento, o también se ofrece por un precio por incidente. Para asegurar que usted es un usuario registrado de NeuralTools, regístrese electrónicamente en http://www.palisade.com/support/register.asp. Si se pone en contacto con nosotros por teléfono, tenga a mano el número de serie y la Guía para el Uso del programa. Le podremos asistir mejor si se encuentra delante del PC en el momento de llamar. Antes de llamar 4 Antes de ponerse en contacto con el servicio de asistencia técnica, repase la siguiente lista: ¿Ha consultado la ayuda electrónica? ¿Ha consultado esta Guía de Uso y revisado el tutorial multimedia electrónico? ¿Ha leído el archivo LEAME.WRI? Este archivo contiene información actual referente a NeuralTools que puede no estar en la guía del programa. ¿Puede reproducir el problema consistentemente? ¿Puede reproducir el problema en otro PC o con otro modelo? ¿Ha visitado nuestra página de World Wide Web? La dirección es http://www.palisade.com. En nuestra página Web también podrá encontrar las preguntas más frecuentes (una base de datos de preguntas y respuestas sobre temas técnicos) y una serie de archivos de reparación de NeuralTools en la sección de Asistencia Técnica. Recomendamos que visite nuestra página Web con regularidad para obtener información actualizada sobre NeuralTools y sobre otros programas de Palisade. Introducción Cómo ponerse en contacto con Palisade Palisade Corporation está abierto a sus preguntas, comentarios y sugerencias referentes a NeuralTools. Póngase en contacto con nuestro personal de asistencia técnica siguiendo uno de estos métodos: Envíe un correo electrónico a support@palisade.com. Llame al teléfono +1-607-277-8000 los días laborables de 9:00 a.m. a 5:00 p.m., hora estándar del este de Estados Unidos. Para acceder al servicio de asistencia técnica siga las indicaciones del sistema. Envíe un fax al +1-607-277-8001 Envíe una carta postal a: Asistencia Técnica Palisade Corporation 798 Cascadilla St. Ithaca, NY 14850 EE.UU. Si quiere ponerse en contacto con Palisade en Europa. Envíe correo electrónico a support@palisade-europe.com. Llame al teléfono +44 1895 425050 (Reino Unido). Envíe un fax al +44 1895 425051 (Reino Unido). Envíe una carta postal a: Palisade Europe 31 The Green West Drayton Middlesex UB7 7PN Reino Unido Si quiere ponerse en contacto con Palisade en Asia-Pacífico. Envíe correo electrónico a support@palisade.com.au. Llame al teléfono +61 2 9252 5922 (Australia). Envíe un fax al +61 2 9252 2820 (Australia). Envíe una carta postal a: Palisade Asia-Pacific Pty Limited Suite 404, Level 4 20 Loftus Street Sydney NSW 2000 Australia Capítulo 1: Introducción 5 Independientemente del método de contacto, mencione siempre el nombre del producto, la versión y el número de serie. La versión exacta se encuentra seleccionando el comando Acerca de … de la Ayuda del menú de NeuralTools en Excel. Versión para estudiantes La versión para estudiantes de NeuralTools no incluye asistencia técnica por teléfono. Si necesita ayuda, recomendamos las siguientes alternativas: Consulte con su profesor o asistente. Vaya a http://www.palisade.com y busque entre las respuestas a las preguntas más frecuentes. Póngase en contacto con nuestro departamento de asistencia técnica enviando un fax o mensajes de correo electrónico. Requisitos del sistema de NeuralTools Los requisitos del sistema de NeuralTools 6 para Microsoft Excel para Windows son los siguientes: 6 Microsoft Windows XP o superior. Microsoft Excel 2003 o posterior. Introducción Instrucciones para la instalación Instrucciones generales de instalación El programa de instalación copia los archivos del sistema de NeuralTools en el directorio seleccionado del disco duro. Para ejecutar el programa de instalación en Windows XP o posterior: 1) Haga doble clic en NeuralTools Setup.exe, en el archivo descargado o en el CD de instalación, y siga las instrucciones de la pantalla Si tiene algún problema instalando NeuralTools, compruebe que hay espacio suficiente en el disco en el que va a instalar el programa. Si falta espacio, libere el espacio de disco que sea necesario e intente instalar el programa de nuevo. Cómo quitar NeuralTools de su PC Si quiere quitar NeuralTools de su PC, use la utilidad Agregar/Quitar Programas del Panel de Control y seleccione NeuralTools. Configuración de los iconos y de los accesos directos de NeuralTools Creación de los accesos directos en la barra de tareas de Windows En Windows, el programa de instalación crea automáticamente un comando de NeuralTools en el menú Programas\Palisade DecisionTools de la barra de herramientas. Pero si tiene algún problema durante la instalación, o si desea hacerlo manualmente en otro momento, siga estas instrucciones: Recuerde que las instrucciones que se dan a continuación son para Windows XP Professional. Las instrucciones para otros sistemas operativos pueden ser diferentes. 1) Haga clic en el botón Inicio y luego en Configuración. 2) Haga clic en Barra de Tareas y Menú Inicio, y luego haga clic en la pestaña Menú Inicio. 3) Haga clic en Personalizar, haga clic en Añadir y luego en Examinar. 4) Localice el archivo NeuralTools.EXE, haga clic en el archivo y luego haga clic en Aceptar. 5) Haga clic en Siguiente y luego doble clic en el menú en el que quiere que aparezca el programa. 6) Escriba el nombre “NeuralTools” y luego haga clic en Terminar. 7) Haga clic en Aceptar en todos los cuadros de diálogo. Los programas de DecisionTools Suite Capítulo 1: Introducción 7 NeuralTools forma parte de DecisionTools Suite, un juego de productos de análisis de riesgo y decisión que ofrece Palisade Corporation. El procedimiento de instalación predeterminado de NeuralTools coloca NeuralTools en un subdirectorio del directorio principal “Archivos de programas\Palisade”. Algo similar ocurre con Excel, que normalmente se instala como un subdirectorio del directorio “Microsoft Office”. Uno de los subdirectorios del directorio Archivos de programas\Palisade será el directorio de NeuralTools (denominado de forma predeterminada NeuralTools6). Este directorio contiene el archivo del programa de complemento NeuralTools (NEURALTOOLS.XLA) además de modelos de ejemplo y otros archivos necesarios para el funcionamiento de NeuralTools. Otro de los subdirectorios de Archivos de programas\Palisade es el directorio SYSTEM, que contiene archivos necesarios para todos los programas de DecisionTools Suite, incluyendo archivos comunes de ayuda y librerías de programas. Activación del software La activación es un proceso que se realiza una sola vez para verificar la licencia y es necesario para que el software de Palisade funcione como un producto con licencia completa. En la factura impresa o enviada por correo electrónico se encuentra una ID de activación, que es una secuencia separada por guiones similar a esta: "DNA-6438907651282-CDM". Si introduce la ID de Activación durante la instalación, el software se activa al final del proceso de instalación y no será necesaria acción adicional alguna. Si desea activar el software después de la instalación, seleccione el comando Administrador de licencias del menú Ayuda. El Administrador de Licencias se puede usar para activar, desactivar y mover licencias de software. También se usa para administrar licencias en las instalaciones de red. Siga las instrucciones de los cuadros de diálogo del Administrador de Licencias para realizar las operaciones que desee con las licencias. 8 Instrucciones para la instalación Capítulo 2: Introducción a NeuralTools Introducción 11 ¿Para qué sirven las redes neuronales? ..............................................11 NeuralTools y las redes neuronales....................................................12 El menú y la barra de herramientas de NeuralTools .......................13 Conjuntos de datos y el Administrador de conjunto de datos ......14 Tipos de variables.....................................................................15 Datos multi-rango.....................................................................15 Entrenamiento de una red neuronal ...................................................16 Combinación de entrenamiento, prueba y predicción ......16 Configuración de red ...............................................................17 Previsualización de entrenamiento .......................................18 Proceso de entrenamiento .......................................................19 Informes de entrenamiento ....................................................20 Prueba de una red ..................................................................................21 Informes de prueba ..................................................................22 Predicción ................................................................................................23 Resultados de la predicción....................................................24 Predicción en vivo ....................................................................24 Informes y gráficas de NeuralTools ...................................................25 Utilidades de NeuralTools ...................................................................26 Uso de NeuralTools con StatTools, Solver y Evolver......................26 Capítulo 2: Introducción a NeuralTools 9 10 Introducción NeuralTools proporciona excelente capacidad para redes neuronales en el entorno familiar de Microsoft Excel. Los procedimientos de NeuralTools –como la definición de conjuntos de datos, el entrenamiento y las pruebas de redes neuronales y la predicción de valores usando redes entrenadas– se pueden ejecutar sobre los datos en Excel, y los informes y gráficos de los análisis se crean en Excel. ¿Para qué sirven las redes neuronales? Las redes neuronales son capaces de aprender complejas relaciones de datos. Al imitar las funciones de un cerebro, pueden diferenciar patrones de datos y luego extrapolar predicciones cuando se introducen nuevos datos. Los problemas en los que se usan redes neuronales se pueden dividir en dos grupos generales: Problemas de clasificación: Problemas en los que se trata de determinar el tipo de categoría al que pertenece un elemento desconocido. Como ejemplo están los diagnósticos médicos o las predicciones de capacidad de pago de un crédito. Problema numéricos: Situaciones en las que debe predecir un resultado numérico específico. Como ejemplo están la previsión del precio de acciones o la predicción del nivel de ventas durante un periodo de tiempo futuro. NeuralTools incluye ejemplos que muestran como aplicar redes neuronales a diferentes problemas de predicción. La carpeta NeuralTools\Examples\Spanish contiene los ejemplos en formato de libro de trabajo de Excel. Capítulo 2: Introducción a NeuralTools 11 NeuralTools y las redes neuronales Cuando se usa NeuralTools, las redes neuronales se desarrollan y utilizan en cuatro pasos: Preparación de datos – Los datos que se usan en NeuralTools se definen en conjuntos de datos. El Administrador de conjunto de datos se usa para configurar los conjuntos de datos para que se puedan utilizar una y otra vez con las redes neuronales. Entrenamiento – Con el entrenamiento se genera una red neuronal a partir de un conjunto de datos compuesto de casos con valores de salida conocidos. Estos datos son frecuentemente casos históricos de los cuales se conocen los valores de salida / variable dependiente. Prueba – Con las pruebas se comprueba la red neuronal para ver cómo realiza la predicción de los valores de salida conocidos. Los datos usados para las pruebas son normalmente un subconjunto de los datos históricos. Este subconjunto no se utilizan para el entrenamiento de la red. Después de la prueba, se mide el funcionamiento de la red mediante estadísticas como el porcentaje de respuesta conocidas cuya predicción ha sido correcta. Predicción – Se usa una red neuronal entrenada para predecir valores de salida desconocidos. Una vez entrenada y probada, la red se puede usar para predecir salidas de datos de casos nuevos. El entrenamiento y las pruebas son un proceso interactivo que a veces consume gran cantidad de tiempo. Normalmente se hace el entrenamiento varias veces con diferentes configuraciones para generar una red neuronal que obtenga los mejores resultados en la prueba. Cuando tenga la “mejor red” podrá usarla rápidamente para predecir. Ahora vamos a ver cómo funciona NeuralTools en Excel y como se definen conjuntos de datos y se entrenan y prueban redes neuronales usando esos conjuntos de datos. Luego, haremos predicciones valores de salida desconocidos usando redes entrenadas. 12 Introducción El menú y la barra de herramientas de NeuralTools Una vez instalado NeuralTools, su menú y comandos se incluyen en la barra de menús de Excel en Excel 2003 o anteriores versiones. También aparecerá una barra de herramientas de NeuralTools. El menú muestra los comandos para 1) definir datos en conjuntos de datos, 2) entrenar y probar redes neuronales y 3) hacer predicciones de valores usando las redes neuronales entrenadas. En Excel 2007, todos los comandos están disponibles a través de la cinta de NeuralTools. Capítulo 2: Introducción a NeuralTools 13 Conjuntos de datos y el Administrador de conjunto de datos Los datos en NeuralTools se estructuran en casos y variables. Se trabaja con un conjunto de datos, o un conjunto de variables estadísticas, que se encuentran en columnas contiguas con los nombres de las variables en la primera fila del conjunto de datos. Cada fila del conjunto de datos es un caso. Cada caso tiene un conjunto de valores de variable independiente y un valor conocido o que falta para la variable de salida dependiente. El trabajo de NeuralTools consiste en predecir los valores de variable de salida de los casos en los que no son conocidas. El Administrador de conjunto de datos de NeuralTools permite definir los conjuntos de datos y las variables. Luego podrá usar estas variables predefinidas para entrenar y probar redes neuronales, sin tener que seleccionar una y otra vez los datos que desea analizar. Puede colocar todos los casos históricos conocidos en un conjunto de datos y los casos para los que desea predecir los resultados en otro conjunto de datos diferente. También puede combinar todos los datos –los datos históricos conocidos y los datos que desea predecir– en un solo conjunto de datos. 14 Introducción Cada variable del conjunto de datos tiene asociado un nombre y un rango de celdas de Excel. Cada columna del rango contiene datos de una variable diferente. Un conjunto de datos puede incluir múltiples bloques de celdas, lo cual permite poner los datos en diferentes hojas de un mismo libro de trabajo. Cuando se definen conjuntos de datos, NeuralTools trata de identificar las variables en el bloque de celdas que rodean a la selección actual de Excel. Esto facilita la configuración del conjunto de datos con nombres de variable en la fila superior y las variables distribuidas en columnas. Tipos de variables En NeuralTools, las variables pueden ser independientes o dependientes, y numéricas o de categoría (por ejemplo Sí o No, o Rojo, Verde o Azul). El Administrador de conjunto de datos trata de identificar el tipo de cada variable del conjunto de datos, pero puede sustituir los tipos por sus propias selecciones. Datos multi-rango En una sola columna de una hoja de cálculo de Excel 2003 o anterior caben hasta 65,536 puntos de datos para una variable. Si las variables tienen más valores y no quiere actualizar el programa a Excel 2007, NeuralTools permite asignar múltiples rangos de celdas a un solo conjunto de datos. Es decir, puede “repetir” un conjunto de datos ocupando múltiples hojas, asignando las mismas columnas a diferentes hojas de cálculo para que quepan todos los valores del conjunto de datos. Capítulo 2: Introducción a NeuralTools 15 Entrenamiento de una red neuronal Después de definir el conjunto de datos que contiene los casos con valores históricos conocidos, puede entrenar una red neuronal usando esos datos. Hay diferentes opciones que determinan el tipo de red que generará NeuralTools. Dependiendo de la naturaleza de los datos, las diferentes opciones de red pueden generar redes entrenadas de mejor funcionamiento (es decir, redes que predicen respuestas mejor). El proceso de prueba –que se realiza después del entrenamiento– ofrece una medida precisa del funcionamiento de la red entrenada a la hora de predecir valores de salida. El entrenamiento de una red neuronal, así como la prueba y predicción, requiere la especificación de un conjunto de datos que contenga los datos que se van a usar durante el entrenamiento. NeuralTools puede guardar la red entrenada directamente en el libro de trabajo o en un archivo. Combinación de entrenamiento, prueba y predicción 16 Si todos los datos se encuentran en un solo conjunto de datos (e incluyen los datos históricos conocidos y los nuevos datos de los que no conoce los valores de salida), NeuralTools permite entrenar y probar la red y luego predecir los valores de salida, todo en un solo paso. Se conserva un cierto porcentaje de los datos históricos para la prueba (20% es lo que se muestra en la página anterior) y luego se selecciona predecir automáticamente los valores de salida de los casos a los que le faltan los valores dependientes. Así puede obtener rápidamente las respuestas que necesita con una sola operación. Introducción Configuración de red NeuralTools respalda diferentes configuraciones de red neuronal para obtener las mejores predicciones posibles. Para la predicción de clasificaciones /categorías (en las que la variable dependiente es de tipo categoría), se ofrecen dos tipos de redes: Redes neuronales probabilísticas (PN) y Redes multinivel siempre hacia adelante (MLF). La predicción numérica se puede realizar usando redes MLF, así como Redes neuronales de regresión generalizada (GRN), que están estrechamente relacionadas con las redes PN. NeuralTools facilita la selección de una configuración de red al ofrecer una búsqueda de mejor red. Cuando se selecciona, NeuralTools entrena y prueba una serie de configuraciones de red neuronal para generar la que realiza mejores predicciones de los datos. La mejor configuración se determina basándose en los datos de prueba, por lo tanto debe seleccionarse la opción “Probar automáticamente” en la pestaña Entrenamiento de la búsqueda de Mejor red. Capítulo 2: Introducción a NeuralTools 17 Previsualización de entrenamiento 18 Una vez seleccionadas las opciones de entrenamiento y configuración de red, NeuralTools previsualiza lo que hará durante el entrenamiento de la red. Como el entrenamiento es el proceso que requiere más tiempo en la modelación de redes neuronales, conviene revisar la configuración de entrenamiento antes de proceder. NeuralTools tratará de identificar cualquier problema que encuentre en los datos para que pueda corregirlo antes de que se realice el entrenamiento. Introducción Proceso de entrenamiento Cuando NeuralTools procede con el entrenamiento de la red neuronal con los datos, informa de funcionamiento del proceso. Normalmente, la red mejora cada vez más según evoluciona el entrenamiento, ya que NeuralTools genera redes que hacen mejores predicciones de los datos con menos errores. Los gráficos se actualizan para mostrar el progreso de NeuralTools durante el entrenamiento. El entrenamiento se detiene cuando se alcanza cualquiera de las condiciones de parada establecidas, como puede ser el tiempo máximo de entrenamiento. Si ha seleccionado probar automáticamente la red o predecir los valores de salida que faltan en el conjunto de datos, esta operación se realizará después del entrenamiento. Capítulo 2: Introducción a NeuralTools 19 Informes de entrenamiento 20 Los informes de entrenamiento muestran el buen funcionamiento de la red entrenada. Estadísticas como % de predicciones incorrectas muestran el número de casos del conjunto de entrenamiento para los que la red hizo una predicción de un valor de salida que no coincide con el valor conocido. Introducción Prueba de una red Durante la prueba se comprueba la red neuronal entrenada para ver cómo realiza la predicción de los valores de salida conocidos. Los datos de prueba son normalmente un subconjunto de los datos históricos con valores de salida conocidos. Este subconjunto no se utilizan para el entrenamiento de la red. Cuando los datos de prueba están en un conjunto de datos separado, NeuralTools empareja las variables del conjunto de datos de prueba con los datos de entrenamiento. Como sucede con el entrenamiento, NeuralTools previsualiza la configuración de la prueba antes de realizarla. Capítulo 2: Introducción a NeuralTools 21 Informes de prueba 22 La prueba (así como las predicciones) se ejecutan mucho más rápido que el entrenamiento. NeuralTools informa del funcionamiento de la predicción de las respuestas conocidas de los datos de prueba. Esto ayuda a ver si la red tendrá un buen funcionamiento haciendo predicciones cuando se aplique a casos con valores de salida desconocidos. Introducción Predicción El utilidad final de una red neuronal es la predicción. La red entrenada se aplica a los nuevos casos de los que no se conocen los valores de salida, pero se quieren predecir. NeuralTools ofrece dos métodos de predicción: 1) un método por comando para la predicción de valores de los casos de un conjunto de datos, y 2) predicción en vivo (sólo en la versión Industrial), en el que los valores de las variables independientes de un caso de la hoja de cálculo se pueden entrenar y NeuralTools calcula automáticamente el valor de salida de la predicción. Cuando se predicen valores para un grupo de casos de un conjunto de datos, el cuadro de diálogo Predicción sirve para configurar el proceso de predicción. Puede hacer la predicción sólo para los casos a los que le faltan valores de salida y activar la predicción en vivo para hacer modificaciones en los datos para ver cómo afectan a las predicciones. Se pueden usar diferentes redes entrenadas para ver la diferencia entre los valores de la predicción. Como sucede con el entrenamiento y la prueba, NeuralTools primero previsualiza los datos y la configuración que se usarán en la predicción. Luego, las predicciones se envían a la hoja de cálculo de Excel. Capítulo 2: Introducción a NeuralTools 23 Resultados de la predicción Los valores de salida de la predicción se muestran junto a los casos para los que se realiza la predicción. En esta pantalla, los valores de la predicción están en color morado. Predicción en vivo Cuando se activa la predicción en vivo, NeuralTools añade automáticamente una fórmula de Excel a la celda en la que se muestra el valor de la predicción. Esta fórmula genera el valor de predicción; por lo tanto, si cambia los valores de la variable independiente de un caso, el valor de la predicción se recalcula automáticamente. Usando la predicción en vivo puede simplemente escribir los datos de los nuevos casos directamente en Excel y generar automáticamente una nueva predicción, sin tener que pasar por el cuadro de diálogo de Predicción. Por ejemplo, si los valores de la variable independiente de un caso de la fila 7 de la hoja de cálculo anterior se cambian como se muestra, el valor de la predicción se actualiza automáticamente. Como sucede con cualquier celda de una hoja de cálculo, puede hacer referencia a una celda de predicción en vivo en una fórmula de Excel. (Nota: La predicción en vivo sólo está disponible en la versión Industrial). 24 Introducción Informes y gráficas de NeuralTools NeuralTools crea informes de resumen y detallados del entrenamiento, la prueba y la predicción. Los informes de resumen se muestran en sus propias hojas de cálculo y contienen información general sobre la prueba o el entrenamiento. El informe detallado ofrece información caso por caso y se muestra junto a los datos para los que se genera el informe. Además, la mayoría de la información del informe de resumen se pueden encontrar en el Informe detallado como un comentario añadido a la celda de título; esa versión del informe de resumen se conoce como resumen rápido. Cada vez que NeuralTools crea una o más gráficas, las coloca con los informes. Las gráficas se crean en formato de Excel y se pueden personalizar usando comandos de gráficos estándar de Excel. Capítulo 2: Introducción a NeuralTools 25 Utilidades de NeuralTools Se proporcionan tres utilidades para administrar la modelación con redes neuronales en NeuralTools. El Administrador de Red Neuronal permite copiar o mover redes neuronales entrenadas entre libros de trabajo o archivos. La utilidad de Datos que Faltan sirve para identificar y corregir casos de los conjuntos de datos a los que le faltan datos. Los análisis de Sensibilidad de prueba determinan si los resultados de la prueba son estables bajo diferentes selecciones aleatorias de casos de prueba. Uso de NeuralTools con StatTools, Solver y Evolver NeuralTools ha sido diseñado para su uso con StatTools, el programa auxiliar estadístico para Excel de Palisade. Ambos productos comparten el mismo Administrador de conjunto de datos; los conjuntos de datos definidos en NeuralTools se pueden analizar en StatTools y viceversa. Con StatTools se pueden calcular estadísticas de las variables de los conjuntos de datos definidos en NeuralTools junto con las estadísticas de las predicciones generadas por NeuralTools. Los informes detallados generados en NeuralTools están disponibles inmediatamente para su análisis en StatTools; de hecho, aparecen automáticamente en la lista de conjuntos de datos del Administrador de conjunto de datos de StatTools. Esto facilita el uso de StatTools para obtener resultados estadísticos adicionales a los que contienen los informes de resumen de NeuralTools. Por ejemplo, un informe de resumen de una prueba incluye un histograma de residuales (definido como las diferencias entre los valores reales y los de predicción). Basándose en el histograma, los residuales pueden aparecer como aproximadamente distribuidos normalmente. Para probar la hipótesis de una distribución normal, se puede aplicar una de las pruebas de normalidad de StatTools a la variable Residuales del Informe detallado. Se ofrece un ejemplo en el archivo “Predicción de edad de molusco con análisis de StatTools.xls”. La función de predicción en vivo de NeuralTools facilita la visualización de el efecto de los cambios de los valores independientes sobre la predicción. Con la predicción en vivo, se pueden usar otras funciones disponibles en Excel para explorar la relación entre las variables independientes y la dependiente. 26 Introducción Solver – El programa optimizador incorporado de Excel se puede usar con la función de predicción en vivo de NeuralTools para calcular los valores de la decisión óptima para las predicciones hechas con NeuralTools. El archivo “Préstamos para autos con Solver.xls” incluye un ejemplo. En este ejemplo, se usa una red neuronal para predecir si el solicitante de un préstamo hará sus pagos a tiempo. Sin embargo, es posible que la red sólo tenga un nivel de confianza del 60% en la respuesta. El Solver de Excel se puede usar para determinar una cantidad de préstamo para la que la red tenga una seguridad del 90% de que el individuo hará sus pagos a tiempo. En este caso, el programa optimizador prueba diferentes cantidades de préstamo mientras NeuralTools actualiza automáticamente el valor de probabilidad. Evolver, el programa optimizador basado en algoritmo genético de Palisade, se puede usar en lugar del Solver para encontrar la respuesta. A diferencia del Solver, Evolver puede procesar problemas de optimización en los que hay más de un valor óptimo local. Capítulo 2: Introducción a NeuralTools 27 28 Capítulo 3: Guía de referencia de NeuralTools Introducción 31 Referencia: Iconos de NeuralTools 33 La barra de herramientas de NeuralTools......................................33 Referencia: Comandos del menú de NeuralTools 35 Introducción ......................................................................................35 Iconos de los cuadros de diálogo.........................................................36 Referencia de comandos .................................................................37 Comando Administrador de conjunto de datos ...............................37 Comando Entrenar .................................................................................44 Comando Probar.....................................................................................58 Comando Predecir..................................................................................65 Utilidades...........................................................................................71 Comando Configuraciones de aplicación..........................................71 Comando Administrador de red neuronal ........................................75 Comando Utilidades de reemplazo de datos ....................................77 Comando Sensibilidad de prueba ......................................................80 Información adicional sobre redes neuronales Capítulo 3: Guía de referencia de NeuralTools 83 29 30 Introducción El capítulo Guía de referencia de NeuralTools describe los iconos, comandos y funciones estadísticas que utiliza NeuralTools. Este capítulo está dividido en dos secciones: 1) Referencia: Iconos de NeuralTools 2) Referencia: Comandos del menú de NeuralTools Capítulo 3: Guía de referencia de NeuralTools 31 32 Referencia: Iconos de NeuralTools La barra de herramientas de NeuralTools Los iconos de NeuralTools se usan para definir conjuntos de datos con los casos y variables para luego crear y usar redes neuronales sobre esos datos. Los iconos de NeuralTools aparecen en la barra de herramientas de Excel (como barra de herramientas personalizada de Excel) en Excel 2003 y en una cinta en Excel 2007. Esta sección describe brevemente cada icono, explicando las funciones que realizan y los comandos de menú equivalentes. En Excel 2007, todos los comandos están disponibles a través de la cinta de NeuralTools. Los siguientes iconos aparecen en la barra de herramientas de NeuralTools en Excel 2003 y/o en los cuadros de diálogo de NeuralTools. Icono Función y comando equivalente Define un conjunto de datos y variables, o edita y elimina conjuntos de datos o variables existentes Comando equivalente: Comando Administrador de conjunto de datos Entrena una red neuronal Comando equivalente: Comando Entrenar Prueba una red neuronal Comando equivalente: Comando Probar Predice valores usando una red entrenada Comando equivalente: Comando Predecir Ejecuta las utilidades para redes neuronales Comando equivalente: Comando Utilidades Muestra el archivo de ayuda de NeuralTools Comando equivalente: Comando Ayuda Referencia: Iconos de NeuralTools 33 Los siguientes iconos aparecen en la cinta de NeuralTools en Excel 2007. Icono Función y comando equivalente Define un conjunto de datos y variables, o edita y elimina conjuntos de datos o variables existentes Comando equivalente: Comando Administrador de conjunto de datos Entrena una red neuronal Comando equivalente: Comando Entrenar Prueba una red neuronal Comando equivalente: Comando Probar Predice valores usando una red entrenada Comando equivalente: Comando Predecir Ejecuta las utilidades para redes neuronales Comando equivalente: Comando Utilidades Muestra el archivo de ayuda de NeuralTools Comando equivalente: Comando Ayuda 34 Referencia: Comandos del menú de NeuralTools Introducción En esta sección de la Guía de referencia de se describen con detalle los comandos de NeuralTools disponibles tal y como aparecen en el menú o la cinta de NeuralTools de Excel. Los comandos se describen en el orden en que aparecen en el menú, comenzando con el comando Administrador de conjunto de datos y siguiendo hacia abajo en el menú. Los iconos de NeuralTools se pueden utilizar para ejecutar muchos de los comandos del programa. En la sección Referencia: Iconos de NeuralTools de este capítulo se indican los comandos equivalentes a los iconos de NeuralTools. Referencia: Comandos del menú de NeuralTools 35 Iconos de los cuadros de diálogo Pueden aparecer hasta dos iconos –el icono Ayuda y el icono Configuraciones de aplicación– en los cuadros de diálogo de NeuralTools. El icono Ayuda permite acceder rápidamente al tema de ayuda del cuadro de diálogo correspondiente. El icono Configuraciones de aplicación abre el cuadro de diálogo Configuraciones de aplicación en el que podrá introducir o editar las configuraciones de los informes de NeuralTools, así como las configuraciones predeterminadas de Entrenamiento, Predicción y Tiempo de ejecución. 36 Introducción Referencia de comandos Comando Administrador de conjunto de datos Define conjuntos de datos y variables de NeuralTools, o edita y elimina conjuntos de datos o variables existentes El Administrador de conjunto de datos permite definir los conjuntos de datos con los casos y variables. Una vez definidos los conjuntos de datos, se pueden usar para entrenar, probar y hacer predicciones con las redes neuronales. El cuadro de diálogo Administrador de conjunto de datos permite añadir o quitar conjuntos de datos, poner nombre a un conjunto de datos, especificar el diseño de las variables de un conjunto de datos y poner nombre a las variables de un conjunto de datos. ¿Qué son conjuntos de datos y variables? NeuralTools se estructura en casos y variables. Se trabaja con un conjunto de datos, o un conjunto de variables estadísticas, que se encuentran en columnas contiguas de una hoja de cálculo de Excel con los nombres de las variables en la primera fila del conjunto de datos. Cada fila del conjunto de datos es un caso. Cada caso tiene un conjunto de valores de variable independiente y un valor conocido o que falta para la variable de salida dependiente. Cada variable del conjunto de datos tiene asociado un nombre y un rango de celdas de Excel. Un conjunto de datos puede incluir múltiples bloques de celdas, lo cual permite poner los datos en diferentes hojas de un mismo libro de trabajo. Cuando se definen conjuntos de datos, NeuralTools trata de identificar las variables en el bloque de celdas que rodean a la selección actual de Excel. Esto puede facilitar la configuración del conjunto de datos con nombres de variable en la fila superior y las variables distribuidas en columnas. Referencia: Comandos del menú de NeuralTools 37 El cuadro de diálogo Administrador de conjunto de datos Las opciones de Conjunto de datos del cuadro de diálogo Administrador de conjunto de datos son: 38 Nuevo, Eliminar – Añade un nuevo conjunto de datos o elimina uno existente. Nombre – Especifica el nombre del conjunto de datos. Rango de Excel – Especifica el Rango de Excel asociado con el conjunto de datos. Si se han asignado múltiples rangos de celda al conjunto de datos, esta opción va precedida de la palabra Múltiple. Aplicar formato de celda – Añade una cuadrícula y colores que identifican los conjuntos de datos. Múltiple – Haga clic en el botón Múltiple en el cuadro de diálogo Administrador de conjunto de datos para abrir el cuadro de diálogo Selector de múltiples rangos. Este cuadro de diálogo permite la introducción de los rangos de celda individuales que componen el conjunto de datos de múltiples rangos de celda. Referencia de comandos Conjuntos de datos de rangos múltiples Importar – Permite copiar tipos de variables a este conjunto de datos desde otro conjunto de datos o red neuronal entrenada. El cuadro de diálogo Importar tipos de variables permite seleccionar la ubicación y la red a usar para las definiciones de variables. NeuralTools permite asignar múltiples rangos de celda de diferentes hojas de cálculo a un solo conjunto de datos. Se puede usar un conjunto de datos de múltiples rangos cuando: 1) Cada variable del conjunto de datos tiene más de 65,536 puntos de datos en Excel 2003 o versiones anteriores, lo cual requiere que el conjunto de datos se extienda a múltiples hojas de cálculo de un mismo libro de trabajo, 2) Los datos de una variable se encuentran en múltiples bloques dispersos por las hojas de cálculo del libro de trabajo. Nota: Un conjunto de datos de múltiples rangos no se puede definir dentro de una sola hoja de cálculo. Se pueden definir en múltiples hojas de cálculo dentro de un mismo libro de trabajo. Referencia: Comandos del menú de NeuralTools 39 Las opciones del cuadro de diálogo Definición de conjunto de datos de rango múltiple son: 40 Borra todo – Borra todos los rangos introducidos. Llenar auto – Aplica el primer rango introducido (en la fila 1) a todas las hojas de cálculo visibles del libro de trabajo activo, e introduce estas referencias de NombreDeHoja!RangoDeCeldas en la cuadrícula Seleccionar – Muestra un selector para destacar el bloque de celdas que se usará como Rango del Conjunto de datos. Los rangos secundarios tienen nombres de variables en la primera columna (fila) – Los conjuntos de datos de múltiples rangos pueden tener nombres de variables identificando cada columna de cada rango incluido en el cuadro de diálogo, o nombres de variables identificando las columnas sólo en el primer rango seleccionado. El primer rango seleccionado es el rango introducido en la fila 1 del cuadro de diálogo Definición de conjunto de datos de rango múltiple. Referencia de comandos Opciones de variables Cada fila de la cuadrícula del cuadro de diálogo Administrador de conjunto de datos incluye las variables del conjunto de datos, incluyendo el Rango de datos de Excel que contiene los puntos de datos de una variable, el Nombre de variable y el Tipo de variable. Las opciones de Tipo de variable son: Categoría dependiente – Variable dependiente o de salida cuyos valores posibles se toman de un conjunto de posibles categorías; por ejemplo Sí o No, o Rojo, Verde o Azul. Numérica dependiente – Variable dependiente o de salida cuyos posibles valores son numéricos. Categoría independiente – Variable independiente cuyos valores posibles se toman de un conjunto de posibles categorías; por ejemplo Sí o No, o Rojo, Verde o Azul. Numérica independiente – Variable independiente cuyos posibles valores son numéricos. Etiqueta – Una variable cuyos posibles valores son “entrenar”, “probar” o “predecir”. Este tipo de variable se usa para identificar casos de un conjunto de datos que se usarán para entrenamiento, prueba o predicción. Sin usar – Una variable de un conjunto de datos que no se usará en la red neuronal. Referencia: Comandos del menú de NeuralTools 41 Información adicional sobre las variables de Etiqueta Las variables de Etiqueta son un tipo especial de variables de la base de datos de NeuralTools que se usan para marcar los casos de un conjunto de datos que se usarán para entrenamiento, prueba o predicción. Son especialmente útiles si quiere incluir todos los datos (que se usarán en el entrenamiento, prueba y predicción de una red) sean de un solo conjunto de datos. Cuando hay una variable de etiqueta, NeuralTools selecciona los casos que se van a usar para entrenamiento, prueba o predicción, según el valor de la variable de etiqueta. Al cambiar los valores de la variable de etiqueta se puede entrenar de nuevo una red usando diferentes casos y ver cómo cambia el funcionamiento de una red. También puede añadir nuevos casos con valores de variable dependiente desconocidos a un conjunto de datos y asignar su predicción con la etiqueta “Predecir”. La variable de Etiqueta sólo puede tomar tres valores diferentes: Entrenar – Especifica que el caso se usará para entrenamiento Probar – Especifica que el caso se usará para probar Predecir – Especifica que el caso se usará para predecir Nota: Si tiene una variable de etiqueta en el conjunto de datos, cambiarán las opciones del cuadro de diálogo Entrenar. Para obtener más información, consulte el comando Entrenar. 42 Referencia de comandos Capacidad de conjuntos de datos y variables En una sola sesión, NeuralTools permite usar: Hasta 256 conjuntos de datos, ubicados en un solo libro de trabajo. Hasta 16384 variables por conjunto de datos en Excel 2007 (256 variables en versiones anteriores de Excel). Todos los datos de un solo conjunto de datos deben estar en el mismo libro de trabajo. El número de puntos de datos por variable y de casos por conjunto de datos sólo está limitado por la memoria disponible en Excel 2007 (16,777,216 puntos de datos en versiones anteriores de Excel). Las capacidades reales de datos pueden ser menores que las indicadas dependiendo de la configuración del sistema y de la versión de Excel que utilice. La capacidad de datos también se puede ver afectada por las limitaciones de memoria del propio Excel. Nota: El cuadro de diálogo Administrador de conjunto de datos indica todos los conjuntos de datos y variables del libro de trabajo activo (es decir, del libro de trabajo que se indica en el nombre del cuadro de diálogo Administrador de conjunto de datos). Para ver conjuntos de datos de otros libros de trabajo, active el libro de trabajo deseado en Excel y abra el cuadro de diálogo Administrador de conjunto de datos. Referencia: Comandos del menú de NeuralTools 43 Comando Entrenar Especifica las configuraciones para el entrenamiento de una red neuronal y ejecuta el entrenamiento El comando Entrenar permite 1) especificar las configuraciones que se van a usar para el entrenamiento de una red neuronal en NeuralTools y 2) inicia el entrenamiento de una red. La pestaña Entrenar 44 La pestaña Entrenar del cuadro de diálogo Entrenamiento especifica las opciones generales de entrenamiento de una red neuronal. Esto incluye lo siguiente: Conjunto de datos – Muestra el conjunto de datos que se va a usar para entrenar la red neuronal. Este conjunto de datos debe definirse usando el Administrador de conjunto de datos y debe estar presente en la hoja activa. Guardar red como – Especifica el nombre y la ubicación de las redes neuronales entrenadas. Las redes neuronales se pueden guardar en un libro de trabajo de Excel o en un archivo del disco. Haga clic en Buscar… para cambiar el nombre o la ubicación. Referencia de comandos También puede introducir un nombre y una descripción para la red neuronal guardada. Las opciones Cuando el entrenamiento se complete permiten probar y predecir automáticamente usando la red entrenada después del entrenamiento. Esto se puede hacer cuando los datos de la prueba y predicción se encuentran en el mismo conjunto de datos que los datos de entrenamiento. Probar automáticamente – Especifica que: 1) un % de casos del conjunto de datos que se “apartarán” automáticamente del entrenamiento para su posterior uso en la prueba 2) los casos en los que la variable Etiqueta = “probar” se usarán para la prueba. Las variables de Etiqueta son un tipo de variable especificado en el Administrador de conjunto de datos. Seleccionar los mismos casos siempre que este número sea el mismo, especifica que se deben usar los mismos casos para las pruebas cuando los entrenamientos se hacen múltiples veces. Esto puede ser útil al comparar diferentes tipos de redes neuronales, para eliminar la variabilidad relacionada con las diferentes selecciones de casos de prueba. Si se selecciona la casilla de verificación, se puede introducir un número, y un número fijo implica una selección fija de casos de prueba (el número es un "generador de número aleatorio"). Recuerde que la Búsqueda de la mejor red usa una selección fija de casos de prueba para comparar múltiples redes, independientemente de la selección de esta casilla de verificación. Referencia: Comandos del menú de NeuralTools 45 ¿Qué es un análisis de impacto de una variable? 46 Predecir automáticamente los valores dependientes que faltan – Especifica que la red entrenada se usará para predecir valores de variable dependiente de: 1) casos en los que falta el valor de la variable dependiente, o 2) casos en los que la variable Etiqueta = “predecir”. Las variables de Etiqueta son un tipo de variable especificado en el Administrador de conjunto de datos. Activar predicción en vivo – Especifica que NeuralTools colocará fórmulas en las celdas en las que aparecen los valores de la predicción de la variable dependiente para calcular los valores de la predicción. Para obtener más información sobre la predicción en vivo, consulte el comando Predecir en este mismo capítulo. Calcular impactos de variable – Especifica que NeuralTools calcule el impacto relativo de cada variable independiente del conjunto de datos de entrenamiento al determinar las predicciones calculadas por la red. El propósito de un análisis de Impacto de variable es medir la sensibilidad de las predicciones de la red al cambio de las variables independientes. Este análisis sólo se hace en los datos de entrenamiento. Como resultado del análisis, se asigna a cada variable independiente un valor “Impacto relativo de variable”; es decir, valores porcentuales que suman el 100%. Cuanto más bajo sea el valor del porcentaje, menos efecto tendrá la variable sobre las predicciones. Los resultados del análisis pueden ayudar a seleccionar un nuevo conjunto de variables independientes que haga predicciones más exactas. Por ejemplo, una variable con un valor de impacto bajo se puede sustituir por alguna otra nueva variable. Sin embargo, debe recordarse que los resultados del Análisis de impacto son relativos a una red determinada. El hecho de que una red haya “aprendido” a descartar una variable determinada hace más probable que otra red también “aprenda” a descartarla, si bien otra sesión de entrenamiento con un tipo diferente de red podría “descubrir” que la variable puede contribuir significativamente a la exactitud de las predicciones. En los conjuntos de datos con números reducidos de casos y /o números elevados de variables, las diferencias del impacto relativo de las variables entre redes entrenadas pueden ser más pronunciadas. Referencia de comandos Además, es importante recordar que estos valores son “relativos”. Supongamos que con dos variables independientes, a una se le asigna un 99% y a otra un 1%. Esto significa que la segunda es mucho menos importante que la primera, pero no quiere decir que no sea importante, especialmente si se desea un alto nivel de precisión de las predicciones. Los siguientes son cuestiones adicionales que conviene recordar sobre el Análisis de impacto de variable: 1) Sólo se incluye en el análisis el conjunto de datos de entrenamiento. (Si se usa Auto-Prueba o Auto-Predicción, esos casos no se incluyen. La motivo es que pueden tener valores numéricos fuera del rango de entrenamiento, lo cual puede generar resultados de análisis más impredecibles). 2) En el caso de variables independientes de categoría, el análisis procesa todas las categorías válidas de esa variable en cada caso, y mide el cambio en el valor de predicción. (En las predicciones de categoría no hay valores numéricos de predicción, pero hay salidas numéricas de red en las que se basa la predicción de categoría; el análisis usa esas salidas numéricas). 3) En el caso de una variable independiente numérica, el análisis procesa en cada caso el rango del valor de entrenamiento del mínimo al máximo, midiendo el cambio del valor de predicción (o, en el caso de una predicción de categoría, el cambio de las salidas numéricas). El propósito del Análisis de impacto de variable no es el respaldo de conclusiones firmes, como la afirmación con un alto nivel de confianza de que una variable es irrelevante. Más bien sirve para ayudar a buscar el mejor conjunto de variables independientes: los resultados del análisis pueden indicar que una variable determinada parece suficientemente irrelevante como para que valga la pena intentar entrenar una red sin esta variable. Referencia: Comandos del menú de NeuralTools 47 Los resultados del Análisis de impacto de variable se muestran en el informe Resumen de entrenamiento: 48 Referencia de comandos La pestaña Configuración de red La pestaña Configuración de red del cuadro de diálogo Entrenamiento permite seleccionar el tipo de red neuronal que se entrenará con los datos. Puede seleccionar una configuración de red específica o seleccionar una búsqueda de Mejor red en la que NeuralTools probará diferentes configuraciones posibles para identificar la que mejor funcionamiento tenga. NeuralTools respalda diferentes configuraciones de red neuronal para obtener las mejores predicciones posibles. Par la predicción de clasificación /categoría, hay disponibles dos tipos de redes: Redes neuronales probabilísticas (PN) y Redes multinivel siempre hacia adelante (MLF). La predicción numérica se puede realizar usando redes MLF, así como Redes neuronales de regresión generalizada (GRN), que están estrechamente relacionadas con las redes PN. Para obtener más información sobre los aspectos técnicos de las configuraciones de red disponibles, consulte la sección Información adicional sobre redes neuronales. Referencia: Comandos del menú de NeuralTools 49 La pestaña Configuración de red incluye lo siguiente: Tipo de red – Selecciona el tipo de red que se usará en el entrenamiento o la búsqueda de la Mejor red. Las Opciones de la pestaña Configuración de red cambian dependiendo del tipo de red seleccionado. Los tipos de redes disponibles son: 50 1) Búsqueda de mejor red. En la Búsqueda de mejor red, NeuralTools prueba todas las configuraciones de red marcadas, incluyendo las redes PN/GRN y MLF con cuentas de nodos dentro del rango mínimo-máximo introducido. La configuración que tenga mejor funcionamiento para los datos se identifica basándose en el error obtenido en los datos de la prueba. Si selecciona Almacenar todas las redes de prueba en un libro de trabajo nuevo, podrá cargar individualmente cada una de las redes probadas (independientemente de si fue la red con mejor funcionamiento) del libro de trabajo y usarla para hacer una predicción después de completar el entrenamiento; también hay disponible un Informe de resumen completo para cada red. 2) Red PN/GRN. Estos tipos de redes no requieren la selección de opciones adicionales para el entrenamiento; por esta razón esta configuración es la predeterminada cuando se instala NeuralTools. Si los datos tienen valores de salida numéricos, se entrenará una red GRN, y si los datos tienen valores de salida de categoría se entrenará una red PN. Referencia de comandos 3) Red MLF. Las Redes multinivel siempre hacia adelante (MLF) tienen uno o dos niveles de nodos ocultos. Si selecciona cero nodos para el segundo nivel, éste se eliminará. La forma más fiable de encontrar la mejor configuración de una red MLF es usar la opción Búsqueda de mejor red en lugar de la opción de entrenar una sola red MLF. Si no hay tiempo suficiente para una Búsqueda de mejor Red, se recomienda que los valores “Número de nodos” se dejen en “Automático”. La pestaña Tiempo de ejecución La pestaña Tiempo de ejecución del cuadro de diálogo Entrenamiento permite introducir condiciones de parada del entrenamiento. Si no selecciona ninguna condición de parada, el entrenamiento acabará deteniéndose; el periodo de tiempo será relativamente corto para las redes PN/GRN, y mucho más largo para las redes MLF. Un posible método es no seleccionar condiciones de parada y hacer clic en el botón Parar del cuadro de diálogo de progreso del entrenamiento cuando no tenga más tiempo para entrenamiento. Con la Búsqueda de mejor red se debe definir un límite de tiempo para el entrenamiento de una sola red, para asegurar que el algoritmo de búsqueda no dedica demasiado tiempo a una configuración determinada. Las tres condiciones de parada disponibles se pueden combinar para especificar que NeuralTools pare cuando se cumpla cualquiera de las condiciones. Referencia: Comandos del menú de NeuralTools 51 Las opciones de Tiempo de ejecución de entrenamiento son: Tiempo – Especifica un límite fijo de tiempo para el entrenamiento de una sola red. El entrenamiento se puede parar antes del periodo especificado, en cuanto el algoritmo determina que es poco probable seguir progresando. Si usa una búsqueda de Mejor red, cada configuración de red probada se entrenará durante el tiempo introducido. Pruebas – Especifica que NeuralTools no ejecutará más de un número especificado de pruebas antes de parar. Con las Redes multinivel siempre hacia adelante, una “prueba” es una sola asignación de “pesos” a las conexiones entre neuronas; el entrenamiento consiste en una búsqueda inteligente de pesos que generen las mejores predicciones. Con las Redes neuronales probabilísticas y las Redes neuronales de regresión generalizada, una prueba es una asignación de “factores de suavización” para las variables. El entrenamiento consiste en una búsqueda de los mejores factores de suavización. Progreso – Especifica que NeuralTools parará si no puede mejorar la estadística de error al menos el porcentaje introducido dentro de un tiempo especificado. 52 Referencia de comandos Cuadro de diálogo Previsualización de entrenamiento El cuadro de diálogo Previsualización de entrenamiento muestra la configuración del entrenamiento actual de la red junto con cualquier error detectado en los datos, antes de iniciarse el entrenamiento. Examinando el contenido de este cuadro de diálogo podrá ver todas las presuposiciones de entrenamiento seleccionadas según están en NeuralTools. La sección Errores y advertencias ofrece una descripción de cualquier problema detectado por NeuralTools en los datos o en las configuraciones, que podrá corregir si fuera necesario antes de dedicar tiempo al entrenamiento. Referencia: Comandos del menú de NeuralTools 53 La ventana de progreso del entrenamiento La ventana de progreso del entrenamiento informa del estado de entrenamiento de la red durante su ejecución. Los gráficos detallan el funcionamiento de NeuralTools durante la mejora de la red y la reducción de los errores generados. La ventana de progreso del entrenamiento informa de los errores en los datos de entrenamiento. La observación de cambios en este valor no debe llevar a ninguna conclusión sobre la calidad de las predicciones que la red hará de los casos no utilizados en el entrenamiento. Las conclusiones deben basarse en el error obtenido en los datos de entrenamiento. Además, recuerde que con predicciones numéricas, el error que aparece en la ventana de progreso es el error cuadrático medio basado en datos a escala (consulte la información sobre escala en la sección “Transformación de entradas”). En las predicciones de categoría, el error que aparece es una representación numérica de los datos de categoría. 54 Referencia de comandos Informes de entrenamiento Después del entrenamiento se pueden crear informes de resumen y detallados. Estos informes detallan el funcionamiento de la red neuronal entrenada. El contenido de los informes generados se especifica en el cuadro de diálogo Configuraciones de aplicación, en las configuraciones Informes a generar y Columnas en los informes detallados. Informe de resumen de entrenamiento – El informe de resumen de entrenamiento ofrece estadísticas y gráficos sobre el funcionamiento de la red neuronal entrenada. Referencia: Comandos del menú de NeuralTools 55 En la predicción de categoría/clasificación, las estadísticas y gráficas clave del informe de resumen de entrenamiento son las siguientes: 1) % de predicciones incorrectas – El porcentaje de casos para los que la categoría de la predicción no coincide con la categoría real. 2) Probabilidad incorrecta media (sólo disponible para las redes PN) – NeuralTools calcula la Probabilidad de categorías incorrectas en cada caso, que es la suma de las probabilidades asignadas por la red PN a categorías incorrectas. Por ejemplo, si en un caso determinado la red asigna un 30% de probabilidad al rojo, un 20% al amarillo y un 50% al verde, y sabemos que la respuesta correcta es rojo, entonces el valor para ese caso es 20% + 50% = 70%. Este valor proporciona una medida de error caso por caso para la predicción de categoría, correspondiente al Error residual en la predicción numérica. La “Probabilidad incorrecta media” es el valor de error promedio de todos los casos. Los informes detallados muestran la Probabilidad Incorrecta caso por caso, y para comprender mejor el concepto puede cambiar las configuraciones del Informe detallado para mostrar las probabilidades asignadas por la Red neuronal probabilística a cada posible categoría de la variable dependiente. Para hacerlo, seleccione Configuraciones de aplicación en el menú Utilidades y haga clic en el menú desplegable situado a la derecha de la fila Columnas en los informes detallados. Aparecerá el cuadro de diálogo NeuralTools – Columnas a mostrar en los informes detallados. En ese cuadro de diálogo seleccione Probabilidades de todas las categorías (para PN) para la Prueba. Luego, entrene la red PN con el conjunto de datos con al menos 3 categorías en la variable dependiente (puede usar el archivo de ejemplo Préstamos para autos.xls) con la opción Probar automáticamente seleccionada. En el informe detallado resultante, observe la relación entre los valores de la columna % Incorrecto y las probabilidades asignadas a cada posible categoría; el % Incorrecto es la suma de las probabilidades de todas las categorías incorrectas. 3) 56 Matriz de clasificación – Compara las categorías reales y las de predicción por cada categoría. Por ejemplo, la matriz de clasificación puede revelar que la red detecta correctamente una condición médica en pacientes que la tienen, pero tiene cierta tendencia a levantar falsas alarmas en pacientes sanos. Referencia de comandos 4) Impactos de variable – Cuando se selecciona, muestra el impacto relativo de las variables independientes sobre las respuesta de la predicción. 5) Histograma de probabilidad de categorías incorrectas (sólo disponible en las redes PN) – Consulte el punto anterior “Probabilidad incorrecta media” para ver la explicación de la “Probabilidad de categorías incorrectas”. En la predicción numérica, las estadísticas y gráficas clave del informe de resumen de entrenamiento son las siguientes: 1) % de predicciones incorrectas – Una predicción cuenta como “incorrecta” si se encuentra fuera del margen definido alrededor del valor; el ancho del margen se define en la configuración “Tolerancia correcta / incorrecta (entrenamiento)” del cuadro de diálogo Configuraciones de aplicación. 2) Error cuadrático medio – Una medida de desviación de las predicciones con respecto al valor (calculado como la raíz cuadrada de la desviación promedio al cuadrado). 3) Error absoluto medio – Desviación promedio de las predicciones con respecto a los valores. 4) Impactos de variable – Cuando se selecciona, muestra el impacto relativo de las variables independientes sobre las respuesta de la predicción. 5) Histograma de residuales – “Residual” es la diferencia que hay entre el valor real y el de la predicción. 6) Diagramas de dispersión que muestran las relaciones entre los valores reales, los valores de predicción y los residuales. Referencia: Comandos del menú de NeuralTools 57 Comando Probar Especifica las configuraciones para la prueba de una red neuronal entrenada y ejecuta la prueba El comando Probar permite 1) especificar las configuraciones que se van a usar para la prueba de una red neuronal entrenada e 2) iniciar la prueba. Los datos de la prueba son normalmente los datos con valores de salida conocidos que no se usaron en el entrenamiento de la red. Las opciones del cuadro de diálogo Probar son: 58 Conjunto de datos – Muestra el conjunto de datos que se va a usar para probar la red neuronal entrenada. Este conjunto de datos debe definirse usando el Administrador de conjunto de datos y debe estar presente en la hoja de cálculo activa. Red a usar – Especifica el nombre y la ubicación de la red neuronal que se va a probar. Las redes neuronales se pueden guardar en un libro de trabajo de Excel o en un archivo del disco. Haga clic en Buscar… para cambiar el nombre o la ubicación. Referencia de comandos Asignación de variables Asignación de variables Especifica cómo se emparejarán las variables del conjunto de datos que se va a probar con las variables del conjunto de datos que se usó para el entrenamiento de la red. Para la asignación de variables hay dos opciones: 1) Asignación automática. Los nombres de bariables de los datos de prueba se asignan según el nombre con los del conjunto de datos de la red entrenada, y los tipos de variable se establecen basándose en esta asignación 2) Asignación personalizada. La asignación personalizada permite establecer individualmente la asignación de variables del conjunto de datos de prueba con las del conjunto de datos de la red entrenada. Esto se hace cuando los nombres de las variables son diferentes en dos conjuntos de datos o cuando se desea hacer asignaciones diferentes. El cuadro de diálogo Asignación de variables contiene los nombres de las variables de cada conjunto de datos para facilitar su asignación. Sólo se pueden emparejar variables de un mismo tipo. Cada vez que se hace un emparejamiento, las asignaciones realizadas se guardan con el conjunto de datos. Haciendo clic en Cargar asignación anterior, puede ver todas las asignaciones hechas anteriormente y acceder a una serie de asignaciones anteriores para el conjunto de datos. Referencia: Comandos del menú de NeuralTools 59 Cuadro de diálogo Previsualización de prueba 60 El cuadro de diálogo Previsualización de prueba muestra la configuración de la prueba actual de la red junto con cualquier error detectado en los datos, antes de iniciarse la prueba. Examinando el contenido de este cuadro de diálogo podrá ver todas las presuposiciones de la prueba seleccionadas según están en NeuralTools. La sección Errores y advertencias ofrece una descripción de cualquier problema detectado por NeuralTools en los datos que podrá corregir si fuera necesario antes de hacer la prueba. Referencia de comandos Informes de prueba Después de la prueba se pueden crear informes de resumen y detallados. Estos informes detallan el funcionamiento de la red neuronal entrenada con el conjunto de datos de prueba. El contenido de los informes generados se especifica en el cuadro de diálogo Configuraciones de aplicación, en las configuraciones Informes a generar y Columnas en los informes detallados. El informe detallado resulta especialmente útil con la prueba, ya que muestra el funcionamiento de la red entrenada a la hora de predecir valores de salida individuales del conjunto de datos de prueba. Informe de resumen de prueba – El informe de resumen de prueba ofrece estadísticas y gráficos sobre el funcionamiento de la red neuronal entrenada con el conjunto de datos de prueba. Referencia: Comandos del menú de NeuralTools 61 En la predicción de categoría, las estadísticas y gráficas clave del informe de resumen de prueba son las siguientes: 1) % de predicciones incorrectas – El porcentaje de casos para los que la categoría de la predicción no coincide con la categoría real. 2) Probabilidad incorrecta media (sólo disponible para las redes PN) – NeuralTools calcula la Probabilidad de categorías incorrectas en cada caso, que es la suma de las probabilidades asignadas por la red PN a categorías incorrectas. Por ejemplo, si en un caso determinado la red asigna un 30% de probabilidad al rojo, un 20% al amarillo y un 50% al verde, y sabemos que la respuesta correcta es rojo, entonces el valor para ese caso es 20% + 50% = 70%. Este valor proporciona una medida de error caso por caso para la predicción de categoría, correspondiente al Error residual en la predicción numérica. La “Probabilidad incorrecta media” es el valor de error promedio de todos los casos. Los informes detallados muestran la Probabilidad Incorrecta caso por caso, y para comprender mejor el concepto puede cambiar las configuraciones del Informe detallado para mostrar las probabilidades asignadas por la Red neuronal probabilística a cada posible categoría de la variable dependiente. Para hacerlo, seleccione Configuraciones de aplicación en el menú Utilidades y haga clic en el menú desplegable situado a la derecha de la fila Columnas en los informes detallados. Aparecerá el cuadro de diálogo NeuralTools – Columnas a mostrar en los informes detallados. En ese cuadro de diálogo seleccione Probabilidades de todas las categorías (para PN) para la Prueba. Luego, entrene la red PN con el conjunto de datos con al menos 3 categorías en la variable dependiente (puede usar el archivo de ejemplo Préstamos para autos.xls) con la opción Probar automáticamente seleccionada. En el Informe detallado resultante, observe la relación entre los valores de la columna % Incorrecto y las probabilidades asignadas a cada posible categoría; el % Incorrecto es la suma de las probabilidades de todas las categorías incorrectas. 3) 62 Matriz de clasificación – Compara las categorías reales y las de predicción por cada categoría. Por ejemplo, la matriz de clasificación puede revelar que la red detecta correctamente una condición médica en pacientes que la tienen, pero tiene cierta tendencia a levantar falsas alarmas en pacientes sanos. Referencia de comandos 4) Histograma de probabilidad de categorías incorrectas (sólo disponible en las redes PN) – Consulte el punto anterior “Probabilidad incorrecta media” para ver la explicación de la “Probabilidad de categorías incorrectas”. En la predicción numérica, las estadísticas y gráficas clave del informe de resumen de prueba son las siguientes: 1) % de predicciones incorrectas – Una predicción cuenta como “incorrecta” si se encuentra fuera del margen definido alrededor del valor; el ancho del margen se define en la configuración “Tolerancia correcta / incorrecta (prueba)” del cuadro de diálogo Configuraciones de aplicación. 2) Error cuadrático medio – Una medida de desviación de las predicciones con respecto al valor (calculado como la raíz cuadrada de la desviación promedio al cuadrado). 3) Error absoluto medio – Desviación promedio de las predicciones con respecto a los valores. 4) Histograma de residuales – “Residual” es la diferencia que hay entre el valor real y el de la predicción. 5) Diagramas de dispersión que muestran las relaciones entre los valores reales, los valores de predicción y los residuales. Informe detallado de prueba. Este informe se coloca junto al conjunto de datos de prueba y muestra el funcionamiento de la red entrenada a la hora de predecir valores de salida individuales del conjunto de datos de prueba. Referencia: Comandos del menú de NeuralTools 63 En el informe detallado de prueba, las predicciones se marcan como “Correctas” o “Incorrectas” basándose en el nivel de tolerancia establecido en el cuadro de diálogo Configuraciones de aplicación. Si ejecuta múltiples pruebas, los Informes Detallados se pueden añadir en nuevas columnas a la derecha del conjunto de datos de prueba, para que pueda ver cómo cambian las predicciones en cada caso individual por cada prueba de las nuevas redes entrenadas. Resúmenes rápidos de los informes detallados 64 Mientras examina el Informe detallado, puede acceder rápidamente a la información del Informe de resumen mediante un comentario desplegable que aparece en Excel. Sólo tiene que pasar el ratón sobre el encabezamiento del informe para que aparezca el comentario desplegable. Nota: Para que los comentarios desplegables aparezcan, la función de comentarios debe activarse en la pestaña Visualización de Excel. Referencia de comandos Comando Predecir Especifica las configuraciones de los valores de la predicción realizada con una red neuronal entrenada y ejecuta la predicción El comando Predecir permite 1) especificar las configuraciones que se van a usar para la predicción con una red neuronal entrenada e 2) ejecutar la predicción. Los datos a predecir normalmente son casos con valores de variable dependiente desconocidos. Las opciones del cuadro de diálogo Predicción son: Conjunto de datos – Muestra el conjunto de datos que se va a usar para la predicción. Este conjunto de datos debe definirse usando el Administrador de conjunto de datos y debe estar presente en la hoja de cálculo activa. Red a usar – Especifica el nombre y la ubicación de la red neuronal que se va a usar para la predicción. Las redes neuronales se pueden guardar en un libro de trabajo de Excel o en un archivo del disco. Haga clic en Buscar… para cambiar el nombre o la ubicación. Asignación de variables – Especifica cómo se emparejarán las variables del conjunto de datos de predicción con las variables del conjunto de datos que se usó para el entrenamiento de la red. Haga clic en Editar… para cambiar la asignación de variables. Para obtener más información Referencia: Comandos del menú de NeuralTools 65 sobre la Asignación de variables, consulte el comando Probar en este mismo capítulo. Predecir para – Seleccione los casos para los que se va a hacer la predicción. Normalmente se selecciona la predicción de Casos con valores dependientes que faltan, pero si lo desea puede hacer predicciones de Todos los casos (incluso aquellos en los que el valor de la variable dependiente es conocido). Si tiene una variable de Etiqueta en el conjunto de datos, sólo se hará la predicción de los valores de variable dependiente para los Casos con etiqueta "predecir". Opciones – Establece la ubicación del valor de la predicción y las opciones de predicción en vivo. 1) Colocar valores de predicción en el conjunto de datos. Esta opción especifica que los valores de la predicción se coloquen en la ubicación de la variable dependiente del conjunto de datos para cada caso de la predicción, además de colocarse posiblemente en el Informe detallado (dependiendo de si los Informes Detallados están seleccionados en la configuración Informes a generar de las Configuraciones de aplicación). Esta opción sustituirá el contenido actual de la celda, por lo que debe usarse con cuidado. Podrá identificar los valores de predicción por su color en el conjunto de datos. 2) Activar predicción en vivo – Especifica que NeuralTools colocará fórmulas en las celdas en las que aparecen los valores de la predicción de la variable dependiente. Estas fórmulas permiten a NeuralTools calcular los valores de la predicción cuando se cambian los valores independientes. 3) Excluir predicción en vivo para casos con valores que faltan o no válidos – Especifica que la fórmula de predicción en vivo no se añada cuando falten los valores de la variable de entrada de un caso. Los valores de entrada que faltan generan un valor de error en las fórmulas de predicción en vivo. Sin embargo, puede ser útil permitir que NeuralTools introduzca fórmulas en casos en los que falten los valores independientes, porque en cuanto se introduzcan los valores que faltan, la predicción aparecerá automáticamente. 66 Referencia de comandos Predicción en vivo Predicción en vivo es una eficaz función de NeuralTools (sólo en la versión Industrial) que permite realizar predicciones automáticamente en Excel sin tener que realizar una operación de Predicción específica. Con la predicción en vivo, NeuralTools coloca fórmulas en las celdas en las que aparecen los valores de la predicción de la variable dependiente. Estas fórmulas usan una función personalizada de NeuralTools para calcular los valores de la predicción, como sucede en: =NetOutputPrediction(_PALDS_DG25B8C82B!$A$140, “DG25B8C82B”, “VG1DD83AF2”, 'Datos de Predicción'!$A$6:$I$6, A7:I7) NeuralTools añade la fórmula a la hoja de cálculo y no es necesario que usted la introduzca. Los argumentos permiten a NeuralTools identificar la red entrenada en uso, así como la ubicación de los valores independientes en la hoja de cálculo. Cuando se añaden o cambian los valores de variable independiente de entrada de un caso, NeuralTools genera automáticamente un nuevo valor de predicción. Esto facilita la introducción y generación de predicciones para nuevos casos usando una red entrenada existente. Nota: Si la predicción se basa en valores de celda que no se espera que cambien, se recomienda deseleccionar la predicción en vivo en el cuadro de diálogo de entrenamiento o predicción; para minimizar el tiempo que tarda Excel en recalcular el libro de trabajo. Referencia: Comandos del menú de NeuralTools 67 Cuadro de diálogo Previsualización de predicción 68 El cuadro de diálogo Previsualización de predicción muestra la configuración de la predicción del conjunto de datos seleccionado junto con cualquier error detectado en los datos o configuraciones, antes de iniciarse la predicción. Examinando el contenido de este cuadro de diálogo podrá ver todas las presuposiciones de predicción seleccionadas según están en NeuralTools. La sección Errores y advertencias ofrece una descripción de cualquier problema detectado por NeuralTools en los datos que podrá corregir si fuera necesario antes de hacer la predicción. Referencia de comandos Informes de predicción Después de la predicción se pueden crear informes de resumen y detallados. Estos informes detallan el funcionamiento de la red neuronal entrenada con el conjunto de datos de prueba. El contenido de los informes generados se especifica en el cuadro de diálogo Configuraciones de aplicación, en las configuraciones Informes a generar y Columnas en los informes detallados. Informe detallado de predicción. Este informe se coloca junto al conjunto de datos de la predicción. Proporciona una ubicación para las predicciones cuando el usuario no quiere colocarlas dentro de la variable dependiente del propio conjunto de datos; si la variable dependiente contiene datos históricos de algunos casos, es más seguro no mezclar esos casos históricos con las predicciones de la red. Si ejecuta múltiples predicciones, los informes detallados se pueden añadir en nuevas columnas a la derecha del conjunto de datos, para que pueda ver cómo cambian las predicciones en cada caso individual con el uso de nuevas redes entrenadas. Referencia: Comandos del menú de NeuralTools 69 70 Utilidades Comando Configuraciones de aplicación Especifica las configuraciones de los informes de entrenamiento, prueba y predicción El comando Configuraciones de aplicación permite seleccionar 1) los informes que se van a generar para entrenamiento, prueba y predicción, 2) las configuraciones predeterminadas de Entrenamiento que se van a usar y 3) las configuraciones predeterminadas de Predicción y Tiempo de ejecución que se van a usar. Muchas de las Configuraciones de aplicación son los valores predeterminados que se usarán en los cuadros de diálogo de Entrenamiento, Prueba y Predicción. Para obtener más información sobre esas configuraciones, consulte la descripción de esos cuadros de diálogo. Las demás configuraciones se explican aquí. Referencia: Comandos del menú de NeuralTools 71 Informes Las opciones de Informes son: Informes a generar – Cada una de las operaciones de NeuralTools puede generar un informe de resumen y otro detallado. Sin embargo, normalmente conviene utilizar la configuración de informes predeterminada, ya que ciertos informes aportan poca información a algunas operaciones. Por ejemplo, el informe detallado es el informe estándar de predicción, porque el informe de resumen aporta poco. Los informes de resumen se colocan en sus propias hojas de cálculo, mientras que los informes detallados se colocan en columnas a la derecha del conjunto de datos, en la misma hoja de cálculo que el conjunto de datos. Las opciones de Colocar informes de resumen en son: - Nuevo libro de trabajo, cuando se crea una nueva hoja de cálculo para cada informe. Para los informes puede reutilizar el mismo libro de trabajo o crear siempre un libro de trabajo nuevo. Las opciones de Localización del informe detallado son: 72 - Sustituir informes existentes, cuando las columnas que contienen los datos de Informes Detallados anteriores se sustituyen por nuevos Informes Detallados (para eliminar un Informe detallado manualmente, seleccione todas las columnas que lo contienen haciendo clic y arrastrando el ratón sobre los encabezamientos de las columnas, y luego seleccione Eliminar en el menú Editar). - A la derecha del conjunto de datos, cuando las columnas de los nuevos Informes Detallados se introducen a la derecha del conjunto de datos. - A la derecha de los informes existentes, cuando los nuevos Informes Detallados se introducen en las columnas situadas a la derecha del conjunto de datos y de los informes existentes. Utilidades Columnas en los informes detallados. Por cada fila seleccionada, aparecerá a la derecha del conjunto de datos una columna del Informe detallado que mostrará la información de cada caso. Se pueden mostrar las siguientes columnas: 1) Etiqueta usada – Muestra las etiquetas “entrenar”, “probar” y “predecir” en cada caso si se usaron durante el entrenamiento o la prueba, o si se hizo una predicción para un caso determinado. 2) Predicción obtenida usando red – Número o categoría de predicción de la red. 3) Probabilidad de la categoría de predicción (para PNN) – Las Redes neuronales probabilísticas no sólo predicen una categoría desconocida, sino que asignan una probabilidad a esa categoría. No está disponible cuando las categorías se predicen usando redes multinivel siempre hacia adelante. No es aplicable en las predicciones numéricas. 4) Probabilidad de las categorías incorrectas (para PNN) – Suma de las probabilidades asignadas por una red PN a categorías incorrectas. Por ejemplo, si en un caso determinado la red asigna un 30% de probabilidad al rojo, un 20% al amarillo y un 50% al verde, y sabemos que la respuesta correcta es rojo, entonces el valor para ese caso es 20% + 50% = 70%. Esta columna proporciona una medida de error caso por caso para la predicción de categoría, correspondiente a la columna “Error residual” en la predicción numérica. 5) Error residual – la diferencia entre el valor dependiente real y el de la predicción. No es aplicable en las predicciones de categoría. Referencia: Comandos del menú de NeuralTools 73 6) Evaluaciones correctas / incorrectas – En las predicciones numéricas, la columna indica si la predicción de un caso determinado se encuentra dentro del margen definido alrededor del valor real; el ancho del margen se define en “Evaluación de tolerancia correcta / incorrecta”. En las predicciones de categoría, la columna simplemente indica si la categoría de la predicción coincide con la real. 7) Probabilidad de todas las categorías (para PNN) – Si se selecciona esta opción y se entrena una red neuronal probabilística, se inserta una columna por cada categoría dependiente. Por ejemplo, si la red se usa para predecir un color, puede haber columnas par “rojo%”, “amarillo%” y “verde%”, que contienen las probabilidades asignadas a cada color. Evaluación de tolerancia correcta / incorrecta. En pruebas y entrenamientos, si una predicción numérica está dentro del % introducido del valor real de la variable dependiente, se etiqueta como “correcta”. 74 Utilidades Comando Administrador de red neuronal Permite copiar, mover y eliminar redes neuronales entrenadas El comando Administrador de red neuronal permite administrar las redes neuronales entrenadas, para moverlas entre libros de trabajo o añadir información descriptiva. Las redes neuronales se pueden guardar en un libro de trabajo de Excel o en un archivo del disco. Se puede colocar en un solo libro de trabajo de Excel un número ilimitado de redes. Usando el Administrador de red neuronal, puede mover redes a libros de trabajo o archivos, eliminarlas o reemplazarlas. Esto permite analizar fácilmente conjuntos de datos de otros libros de trabajo usando redes neuronales existentes, sin que esté presente el libro de trabajo con los datos de entrenamiento. Referencia: Comandos del menú de NeuralTools 75 Las opciones del Administrador de red neuronal son: Copiar – Permite copiar una red neuronal entrenada en una ubicación diferente. Sólo tiene que seleccionar el libro de trabajo o el archivo donde desea colocar la red. Quitar – Elimina la red neuronal entrenada. Reemplazar – Sustituye una red neuronal entrenada por otra nueva. Esta función está disponible con las redes que se usan para predicción en vivo. Después del reemplazo, las predicciones en vivo que se hicieron anteriormente usando la red antigua se harán con la nueva. Esto no es aplicable en los Informes Detallados. Si un informe detallado contiene celdas de predicciones en vivo en las que se usa la red que se va a reemplazar, después del reemplazo los valores de las celdas serán fijos. Información de red – Permite introducir información descriptiva en la red. Ayuda a identificar la red entrenada y las condiciones en las que se entrenó. 76 Utilidades Comando Utilidades de reemplazo de datos Permite reemplazar los datos que faltan y los valores erróneos de un conjunto de datos por valores artificiales El comando Utilidades de reemplazo de datos permite reemplazar datos que faltan y otros datos no deseados del conjunto de datos por valores artificiales. NeuralTools descarta los casos a los que le faltan valores de variables en el entrenamiento, prueba y predicción; por lo tanto, conviene corregir estos casos antes de procesarlos. El cuadro de diálogo Previsualización de entrenamiento mostrará una advertencia cuando haya casos a los que les falten valores en el conjunto de datos. Si esto sucede, estos casos se pueden corregir usando el comando Utilidades de reemplazo de datos. El cuadro de diálogo Utilidades de reemplazo de datos contiene las siguientes opciones: Variables a modificar – Proporciona una lista de las variables en uso del conjunto de datos de la hoja de cálculo actual y muestra el número de datos que faltan, son erróneos (para las variables numéricas) o no son numéricos. Si marca una variable la selecciona para que se reemplacen los datos que faltan o no deseados. Referencia: Comandos del menú de NeuralTools 77 La lista de variables proporciona un menú que se activa con el botón derecho de ratón que incluye comandos para la selección y deselección de grupos de variables. Valores a reemplazar – Selecciona el tipo de valores de las variables seleccionadas que se van a reemplazar. Valor específico permite reemplazar todos los casos de una valor específico de una variable por un nuevo valor. Qué usar como reemplazo – Especifica los valores que se van a colocar en el conjunto de datos en lugar de los datos que faltan o no deseados. Se especifican diferentes valores para las variables de Categoría y Numéricas: Las opciones de Variables de categoría son: - Categoría más frecuente o menos frecuente – El valor de categoría que aparece con mayor frecuencia o con menor frecuencia en los casos del conjunto de datos - Categoría adyacente – El valor de categoría que aparece en el caso del conjunto de datos junto al caso al que le falta el valor - Categoría seleccionada aleatoriamente – Un valor de categoría seleccionado aleatoriamente de entre los del conjunto de datos - Categoría específica – Establece un valor específico para todos los valores que faltan o no deseados Las opciones de Variables numéricas son: - Valor promedio de la variable – El valor promedio de la variable de todos los casos del conjunto de datos - Valor de la mediana de la variable – El valor de la mediana de la variable de todos los casos del conjunto de datos - Interpolación de valores adyacentes – El valor calculado mediante la interpolación entre los valores de la variable de los casos del conjunto de datos situado junto al caso al que le falta el valor - Val aleatorio (entre Mín. y Máx.) – Un valor aleatorio seleccionado entre el mínimo y el máximo de la variable de todos los casos del conjunto de datos Para ambos tipos de variable, Borrar celdas borra los valores seleccionados de la variable. 78 Utilidades Información adicional sobre valores que faltan El cuadro de diálogo Utilidades de reemplazo de valores proporciona una forma de resolver los datos que faltan: genera datos artificiales donde faltan datos reales. A veces es mejor dejar los datos que faltan como celdas en blanco, y permitir que NeuralTools descarte casos a los que les faltan datos. Recuerde que NeuralTools no reconoce símbolos especiales como “?” en lugar de datos que faltan; los signos de interrogación deben borrarse, y esto se puede hacer con el comando Utilidades de reemplazo de datos, seleccionando “Valor específico” en la sección Valores a reemplazar, y seleccionando “Borrar celdas” en la sección “Qué usar como reemplazo”. También es posible usar NeuralTools para predecir valores que faltan en una de las variables independientes a partir de otras variables independientes a las que no les faltan datos o les faltan muy pocos. Los resultados de la prueba indicarán si una red entrenada para predecir valores que faltan es fiable. Referencia: Comandos del menú de NeuralTools 79 Comando Sensibilidad de prueba Determina si los resultados de la prueba son estables bajo diferentes selecciones aleatorias de casos de prueba El análisis de Sensibilidad de prueba contribuye a tener en cuenta la posibilidad de que los buenos resultados de prueba se obtuvieran por suerte. Los valores de una medición de prueba pueden diferir según la sesión de entrenamiento, si el subgrupo de casos que se usan para la prueba se selecciona aleatoriamente. Cuanto más pequeño sea el grupo de datos, más probable será la variación; por lo tanto, con un grupo de datos pequeño, los resultados de prueba de una sola sesión de entrenamiento pueden no ser fiables. Los análisis de Sensibilidad de prueba determinan si los resultados de la prueba son estables bajo diferentes selecciones de casos de prueba. También contribuye a estimar el porcentaje de casos deben reservarse para la prueba. El cuadro de diálogo Sensibilidad de prueba incluye las siguientes opciones: 80 % de casos reservados para prueba – se pueden introducir múltiples valores de porcentaje. Cada valor se incluye en el análisis, reservando el porcentaje especificado de casos para la prueba durante múltiples sesiones de entrenamiento. Utilidades Número a entrenar en cada valor de % – El número de sesiones de entrenamiento de cada valor de porcentaje indicado arriba. Ajustes de Configuración de red – Las múltiples sesiones de entrenamiento que se incluyen en el análisis comparten la misma configuración de red. Para obtener detalles sobre cómo especificar la configuración de red, consulte la documentación del cuadro de diálogo de entrenamiento. La sección inferior del cuadro de diálogo proporciona una estimación del tiempo que tardará en completarse el análisis. Esto puede basarse en una sesión de entrenamiento completada, o en la configuración de Tiempo de ejecución del cuadro de diálogo de entrenamiento. El análisis genera un informe que muestra los rangos entre los valores mínimo y máximo de una medición de prueba obtenida de múltiples sesiones de entrenamiento. Referencia: Comandos del menú de NeuralTools 81 82 Información adicional sobre redes neuronales Fundamentos de las redes neuronales Una red neuronal es un sistema que toma valores numéricos de entrada, realiza permutaciones con esos valores de entrada, y genera uno o más valores numéricos de salida. Cuando se diseña y entrena una red neuronal para una aplicación específica, genera valores de salida aproximadamente correctos para valores de entrada determinados. Por ejemplo, una red puede tener valores de entrada que representen algunas características fácilmente cuantificables de un molusco (una oreja marina), como su longitud, diámetro y peso. Los cálculos realizados dentro de la red dan como resultado un solo número, que generalmente es cercano a la edad del animal (la edad de una oreja de mar es difícil de determinar). Las redes neuronales se inspiran en la estructura del cerebro. Un cerebro consta de un gran número de células, conocidas como “neuronas”. La neurona recibe impulsos de otras neuronas a través de las “dendritas”. Dependiendo de los impulsos recibidos, la neurona puede enviar una señal a otras neuronas, a través de su “axón”, que conecta con las dendritas de otras neuronas. Como en el cerebro, las redes neuronales artificiales constan de elementos, cada uno de los cuales recibe una serie de valores de entrada, y genera una sola salida, cuyo valor es una función relativamente sencilla de los valores de entrada. Información adicional sobre redes neuronales 83 Redes neuronales y métodos estadísticos Las redes neuronales proporcionan una alternativa a los más tradicionales métodos estadísticos. Como la regresión lineal, sirve para aproximación de funciones. Como el análisis discriminatorio y la regresión logística, sirve para clasificación. La ventaja de las redes neuronales es que son capaces de modelar funciones extremadamente complejas. Esta capacidad contrasta con las técnicas lineales tradicionales (regresión lineal y análisis discriminatorio lineal). Las técnicas para optimizar modelos lineales eran bien conocidas antes de la invención de las redes neuronales a mediados del Siglo XX. Se tardaron muchos años en desarrollar algoritmos eficaces para el entrenamiento de redes neuronales. Sin embargo, ahora contamos con una serie de sofisticados algoritmos para el entrenamiento de redes neuronales que son una atractiva alternativa a los métodos más tradicionales. La estructura de una red neuronal La estructura de una red neuronal consta de unidades conectadas denominadas “nodos” o “neuronas”. Cada neurona realiza una parte del cálculo dentro de la red: la neurona toma algunos números como valores de entrada, realiza un cálculo relativamente simple con esos valores de entrada, y genera un valor de salida. El valor de salida de una neurona se convierte en uno de los valores de entrada de otra neurona, excepto en las neuronas que generan los valores de salida finales de todo el sistema. Las neuronas están organizadas en capas o niveles. Las neuronas de las capas de entrada reciben los valores de entrada para los cálculos, como la longitud, diámetro y peso de un molusco determinado. Estos valores se trasladan a las neuronas de la primera capa oculta, que realizan los cálculos de sus valores de entrada y trasladan sus valores de salida a la siguiente capa. La siguiente capa puede ser otra capa oculta, si es el caso. Los valores de salida de las neuronas de la última capa oculta se trasladan a la neurona o neuronas que general los resultados de salida finales de la red, como puede ser la edad del molusco. 84 Fundamentos de las redes neuronales Predicción numérica y de categorías Cuando las redes neuronales se usan para predecir valores numéricos, normalmente sólo tienen un valor de salida. La razón es que las redes con un solo valor de salida son más fiables que las redes con múltiples valores de salida, y casi cualquier problema de predicción se puede resolver usando redes con un solo valor de salida. Por ejemplo, en lugar de construir una sola red para predecir el volumen y el precio de un valor de bolsa para el día siguiente, es mejor crear una red para las predicciones de precio y otra para las predicciones de volumen. Por otro lado, las redes neuronales tienen múltiples valores de salida cuando se utilizan para la predicción de clasificación /categoría. Por ejemplo, supongamos que queremos predecir si el precio de un valor de bolsa “subirá más del 1%”, “bajará más del 1%” o “no cambiará más del 1%” para el día siguiente. La red tendrá tres valores numéricos de salida y el valor de salida mayor indicará la categoría seleccionada por la red. Entrenamiento de una red El entrenamiento de una red es un proceso de ajuste fino de los parámetros de un cálculo, en el que el propósito es que el la red genere valores de salida que sean aproximadamente correctos para una serie de valores de entrada. Este proceso está dirigido por los datos de entrenamiento por un lado, y por el algoritmo de entrenamiento por el otro. El algoritmo de entrenamiento selecciona varios grupos de parámetros de cálculo, y evalúa cada grupo aplicando la red a cada caso de entrenamiento para determinar lo adecuadas que son las respuestas dadas por la red. Cada grupo de parámetros es una “prueba”; el algoritmo de entrenamiento selecciona nuevos grupos de parámetros basándose en los resultados de pruebas anteriores. Información adicional sobre redes neuronales 85 Procesamiento en computadora de las redes neuronales Una red neuronal es un modelo de cálculos que se pueden realizar en varios tipos de hardware de computadora. Una red neuronal se puede construir con pequeños elementos de procesamiento, cada uno de los cuales realiza el trabajo de una sola neurona. Sin embargo, las redes neuronales normalmente se realizan en una computadora con un solo procesador de gran potencia, como el que usan la mayoría de las computadoras actuales. Con computadoras con un solo procesador, programas como NeuralTools usan el mismo procesador para realizar los cálculos de cada neurona; en este caso, el concepto de neurona describe una parte de los cálculos necesarios para obtener una predicción, y no un elemento de procesamiento físico. Tipos de redes neuronales Hay varios tipos de redes neuronales que difieren en estructura, tipo de cálculos que realizan dentro de las neuronas y algoritmos de entrenamiento. Uno de los tipos que se ofrece en NeuralTools es la Red multinivel siempre hacia adelante. Con las redes MLF, un usuario de NeuralTools puede especificar si debe haber una o dos capas de neuronas ocultas, y cuántas neuronas deben contener las capas ocultas (NeuralTools ofrece ayuda para hacer las selecciones apropiadas, como se describe en la sección Redes MLF). NeuralTools también ofrece Redes neuronales de regresión generalizada y Redes neuronales probabilísticas; ambas están estrechamente relacionadas, siendo las primeras para predicciones numéricas, y las últimas para predicciones de clasificación / categoría. En las redes GRN/PN no hay necesidad de que el usuario tome decisiones sobre la estructura de la red. Estas redes tienen siempre dos capas ocultas de neurona, con una neurona por caso entrenado en la primera capa oculta, y un tamaño de la segunda capa determinado por ciertas características de los datos de entrenamiento. Las secciones restantes de este capítulo tratan con más detalle cada uno de los tipos de red neuronal que ofrece NeuralTools. 86 Fundamentos de las redes neuronales Redes multinivel siempre hacia adelante Las Redes multinivel siempre hacia adelante (también conocidas como “Redes de Perceptrón de Múltiples Capas”) son sistemas capaces de aproximación de funciones complejas y, por lo tanto, capaces de modelar relaciones complejas entre variables independientes y una variable dependiente. La arquitectura MLF El siguiente diagrama muestra una red MLF para la predicción numérica con tres variables numéricas independientes; la red se ha configurado para que tenga 2 neuronas/nodos en la primera capa oculta, y 3 neuronas/nodos en la segunda capa oculta. Salida Segunda capa oculta Primera capa oculta Entradas El funcionamiento de la red se determina por: Su topología (el número de capas ocultas y el número de nodos de esas capas) Los “pesos” de las conexiones (un parámetro asignado a cada conexión) y los términos de tendencia (un parámetro asignado a cada neurona) La función de activación / transferencia que se usa para convertir los valores de entrada de cada neurona en su valor de salida Información adicional sobre redes neuronales 87 Más específicamente, una neurona oculta con n valores de entrada calcula primero una suma clasificada de sus valores de entrada: Suma = in0 * w0 + in1 * w1 + ... + inn * wn + tendencia donde de in0 a inn son valores de salida de las neuronas de la capa anterior, mientras que de w0 a wn son los pesos de conexión; cada neurona tiene su propio valor de tendencia. Luego se aplica la función de activación a la Suma para generar el valor de salida de la neurona. Se usa una función sigmoide (con forma de s) como función de activación en las neuronas de la capa oculta. Concretamente, NeuralTools usa la función de tangente hiperbólica. En NeuralTools, la neurona de salida usa la identidad como función de activación; es decir, simplemente genera la suma clasificada de sus valores de entrada. Las redes neuronales a veces se construyen con funciones de activación sigmoides en las neuronas de salida. Sin embargo, eso no es necesario en una red neuronal para que pueda aproximar las funciones complejas. Además, las funciones sigmoides tienen rangos de salida restringidos (de -1 a 1 para la función de tangente hiperbólica) y normalmente habrá valores dependientes situados fuera del rango. Por lo tanto, el uso de una función sigmoide en la neurona de salida fuerza una transformación adicional de los valores de salida antes de transferir los datos de entrenamiento a la red. Cuando se usan las redes MLF para clasificación, tienen múltiples neuronas de salida, cada una de las cuales corresponde a una de las posibles categorías dependientes. Una red clasifica cada caso calculando sus valores de salida numéricos; la categoría seleccionada es la que corresponde a la neurona que genera el valor de salida más alto. 88 Redes multinivel siempre hacia adelante Entrenamiento de una red MLF El entrenamiento de una red MLF consiste en encontrar una serie de pesos y términos de tendencia para las conexiones que permitan que la red genere por lo general respuestas correctas cuando se le presentan nuevos casos (para simplificar, omitiremos el término de tendencia en la siguiente presentación). El entrenamiento comienza con la asignación de una serie de pesos de conexiones seleccionados aleatoriamente. Se hace una predicción para cada caso del entrenamiento (usando valores independientes como valores de entrada para obtener un valor de salida). El valor de salida será seguramente diferente al valor dependiente conocido. Por lo tanto, en cada caso de entrenamiento obtenemos un valor de error. A partir de estos valores calculamos una medida de error para el conjunto de entrenamiento completo, que nos indica el funcionamiento de la red con los pesos iniciales utilizados. La red no funcionará demasiado bien con la asignación aleatoria inicial de pesos y habrá que proceder con subsiguientes pruebas: nuevas asignaciones de pesos. Sin embargo, las asignaciones de pesos ya no serán aleatorias, sino que serán seleccionadas por el algoritmo de entrenamiento: un método para seleccionar pesos de conexiones basado en los resultados de pruebas anteriores. El problema es de optimización: queremos minimizar la medida de error cambiando los pesos de las conexiones. Datos históricos El primer algoritmo para el entrenamiento de pesos de conexiones en redes MLF era de “propagación hacia atrás”; en la actualidad los investigadores tienden a favorecer otros algoritmos más rápidos y con mayor probabilidad de encontrar resultados globales óptimos. NeuralTools usa el método de “Gradiente descendente conjugado”, que pertenece a la categoría de métodos de optimización de “segundo orden”. Estos métodos de optimización “determinísticos” han sido diseñados para encontrar el mínimo local de una función: evolucionan eficazmente pendiente abajo en la función de error. Para reducir el riesgo de encontrar el mínimo local en lugar del global, NeuralTools combina métodos de optimización “determinísticos” y “estocásticos”. Más específicamente, se usa el método estocástico “Recocido Simulado” junto con el método Gradiente Descendente Conjugado. El algoritmo decide el método que se debe usar en un punto determinado, basándose en los resultados de pruebas anteriores. Para obtener más información sobre el método Gradiente Descendente Conjugado, consulte Bishop (1995) y Masters (1995). Para obtener información adicional sobre el método Recocido Simulado consulte Masters (1995). Información adicional sobre redes neuronales 89 Medidas de error La medición del error que se utiliza cuando se entrenan redes de predicción numérica es el error cuadrático medio de todos los casos del entrenamiento; es decir, el cuadrado de la media de la diferencia entre la respuesta correcta y la respuesta dada por la red. En las clasificaciones, cada caso de entrenamiento tiene más de un valor de salida (cada valor de salida corresponde a una categoría dependiente). Calculamos el error cuadrático medio de todos los valores de salida de todos los casos entrenados, en referencia a los valores de salida deseados: por cada caso entrenado queremos que el valor de salida sea cercano a 1 para el valor de salida correspondiente a la categoría correcta, y el resto de los valores de salida sean cercanos a 0. Tiempo de Entrenamiento Los algoritmos de entrenamiento de MLF de NeuralTools se reinicia a sí mismo múltiples veces desde pesos iniciales diferentes. Por lo tanto, cuanto más se entrena una red, mejor. Cuantas más veces se pueda reiniciar, más probable será que encuentre el mínimo global de la función de error. Selección de topología La selección del número de capas y del número de neuronas de cada capa determina si la red es capaz de aprender la relación entre las variables independientes y las dependientes. Normalmente, una red con una sola capa oculta y dos neuronas ocultas no será capaz de entrenarse hasta alcanzar un nivel satisfactorio de error. Sin embargo, aumentar el número de capas y neuronas tiene un precio que normalmente no vale la pena pagar. Una sola capa oculta es suficiente para casi cualquier problema; el uso de dos capas normalmente resulta en largos tiempos de entrenamiento innecesarios. Además, unas pocas neuronas en una sola capa oculta normalmente es suficiente. NeuralTools puede autoconfigurar la topología de la red basándose en los datos entrenados. Sin embargo, la función de Búsqueda de mejor red ofrece un método más fiable. Como parte de la Búsqueda de mejor red, se entrena un rango de redes de una sola capa oculta con diferente número de neuronas. La opción predeterminada es cinco redes MLF, con un número de neuronas ocultas entre 2 y 6. Si dispone de tiempo suficiente, el rango se puede ampliar; pero se recomienda que empiece con redes de 2 neuronas por razones relacionadas con el exceso de entrenamiento. 90 Redes multinivel siempre hacia adelante Cómo evitar el exceso de entrenamiento El término “exceso de entrenamiento” se refiere a una situación en la que la red aprende no sólo las características generales de la relación entre las variables independientes y la variable dependiente, sino que además empieza a aprender características de los casos de entrenamiento que no son aplicables en general; es decir, que no se aplicarán a los casos que no son del entrenamiento. A veces, para resolver este problema, se divide el conjunto de entrenamiento en un conjunto de “prueba y entrenamiento” y otro conjunto de entrenamiento apropiado, que se usará después del entrenamiento. El error del conjunto de prueba y entrenamiento se calcula periódicamente durante el entrenamiento. Cuando comienza a aumentar, se interpreta como una señal de que la red empieza a tener un entrenamiento excesivo, y el entrenamiento se detiene. NeuralTools utiliza un método diferente para evitar el exceso de entrenamiento. El método de dos conjuntos distintos de entrenamiento normalmente no es realista, porque normalmente no hay suficientes datos como para dividirlos en un conjunto de entrenamiento y dos conjuntos de prueba. Además, el aumento del error de un conjunto de entrenamiento y prueba no es un indicador fiable de un exceso de entrenamiento; el aumento puede ser local, y el error podría reducirse con el entrenamiento. La Búsqueda de mejor red de NeuralTools ha sido diseñada para evitar el exceso de entrenamiento. Con las configuraciones predeterminadas, la Búsqueda de mejor red se inicia con una red de 2 neuronas, que es normalmente demasiado pequeña para producir exceso de entrenamiento. Con las configuraciones predeterminadas, entrenará redes de hasta 6 neuronas. Si las redes de 5 y 6 neuronas producen un exceso de entrenamiento, aparecerá en los resultados del conjunto de entrenamiento, y una de las redes de 2, 3 o 4 neuronas tendrá el error de prueba más bajo. Información adicional sobre redes neuronales 91 92 Redes neuronales de regresión generalizada y redes neuronales probabilísticas Las redes neuronales de regresión generalizada y las redes neuronales probabilísticas se basan en ideas similares. Las redes GRN se usan para aproximación de predicciones / funciones numéricas, mientras que las redes PN se usan para predicciones de categorías y clasificación. Ambos tipos de redes fueron presentadas por Donald Specht (“Probabilistic Neural Networks”, Neural Networks, 3, 1990, pp. 109-118; “A General Regression Neural Network”, IEEE Transactions on Neural Networks, 2, 1991, pp. 568-576). Se tratan en Masters (1995), cuya presentación se resume a continuación. Consulte estas fuentes para obtener información adicional. Redes neuronales de regresión generalizada Como ejemplo, considere el conjunto de datos de entrenamiento que se muestra en el gráfico, con una variable numérica independiente y una variable numérica dependiente. 1200 1000 800 600 400 200 0 -12 -10 -8 -6 -4 -200 -2 0 2 4 6 8 10 12 -400 -600 -800 -1000 Información adicional sobre redes neuronales 93 Un observador humano puede detectar un patrón en los datos. Si nos preguntan cuál es el valor dependiente desconocido del valor independiente 6, podemos estimar que es mayor de 200 y menor de 400. Observe que esta estimación no se basa en los dos casos conocidos más cercanos, que indicarían un valor por debajo de 200; estamos observando casos más allá de los más cercanos. Sin embargo, no prestamos demasiada atención a casos con valores independientes alrededor de -10; cuanto más cercano está un caso conocido a uno desconocido, más peso se le da a la hora de estimar el valor dependiente desconocido. La red neuronal de regresión generalizadase construye sobre estas ideas intuitivas. Cada caso de entrenamiento se representa en la red. Cuando se le presenta el caso, la red calcula el valor dependiente de predicción usando los valores dependientes de cada caso de entrenamiento, y los casos de entrenamiento cercanos contribuyen de forma más significativa al valor de salida. La arquitectura GRN Una red neuronal de regresión generalizadapara dos variables numéricas independientes se estructura como se muestra en el gráfico (suponiendo que sólo hay tres casos): Salida Capa de suma (nodos numerador y denominador) Capa de patrón (una neurona por caso de entrenamiento) Entradas 94 Redes neuronales de regresión generalizada y redes neuronales probabilísticas La capa de patrón contiene un nodo por cada caso de entrenamiento. La presentación de un caso de entrenamiento en la red, en este caso consiste en la presentación de dos valores numéricos independientes. Cada neurona de la capa de patrón calcula su distancia con el caso presentado. Los valores transferidos a los nodos numerador y denominador son funciones de la distancia y del valor dependiente. Los dos nodos de la capa de suma suman sus valores de entrada, mientras que el nodo de salida los divide para generar la predicción. La función de distancia calculada en las neuronas de la capa de patrón usa “factores de suavización”; cada valor de entrada tiene su propio valor de “factor de suavización”. Con un solo valor de entrada, cuanto mayor sea el valor del factor de suavización, más significativos serán los casos entrenados distantes para el valor de predicción. Con 2 valores de entrada, el factor de suavización está en relación con la distancia a lo largo del eje de un plano y, en general, con múltiples valores de entrada, la relación es con una dimensión en un espacio multidimensional. La red GRN entrenada consta de factores de suavización optimizados para minimizar el error de la red entrenada, y para hacerlo se utiliza el método de optimización de gradiente descendente conjugada. La medida de error que se usa durante el entrenamiento para evaluar diferentes conjuntos de factores de suavización es el error cuadrático medio. Sin embargo, cuando se calcula el error cuadrático de un caso entrenado, ese caso se excluye temporalmente de la capa de patrón. Esto se hace porque la neurona excluida calcularía una distancia cero, haciendo que otras neuronas fueran insignificantes para el cálculo de la predicción. Información adicional sobre redes neuronales 95 Redes neuronales probabilísticas Volviendo a las Redes neuronales probabilísticas, considere los siguientes datos de entrenamiento con 2 variables numéricas independientes y una variable dependiente con 2 categorías: ? Los círculos representan casos de entrenamiento en una categoría, mientras que los cuadrados pertenecen a la otra categoría. Queremos predecir la categoría de los casos que aparecen con el signo de interrogación. Un observador humano decidiría que el caso está más probablemente en la categoría del círculo que en la categoría del cuadrado. Sin embargo, muchos métodos de clasificación no pueden alcanzar la misma conclusión. Los métodos que requieren una separabilidad lineal de categorías, fracasarán. Los métodos de vecino más cercano asignarán un caso desconocido a la categoría del cuadrado. También lo harán los métodos que se concentran en las tendencias centrales, ya que el caso desconocido está más cercano al centroide de la categoría del cuadrado que al centroide de la categoría del círculo. Por su parte, la red PN tomará la decisión correcta. Considerará la distancia del nuevo caso con cada caso de entrenamiento, dando mayor peso a los casos más cercanos. El efecto del cuadrado cercano será compensado por los círculos situados en las inmediaciones. 96 Redes neuronales de regresión generalizada y redes neuronales probabilísticas La arquitectura PN Una Red neuronal probabilística se estructura como se muestra en el gráfico, donde se presupone que hay dos variables numéricas independientes, dos categorías dependientes y cinco casos de entrenamiento (tres en una categoría y dos en otra): Salida Capa de suma (una neurona por categoría) Capa de patrón (una neurona por caso de entrenamiento) Entradas Cuando se presenta un caso en la red, cada neurona de la capa de patrón calcula la distancia entre el caso de entrenamiento representado por la neurona y el caso de entrada. El valor transferido a las neuronas de la capa de suma es una función de la distancia y los factores de suavización. Como en las redes GRN, cada valor de entrada tiene su propio factor de suavización; esos factores determinan la rapidez con la que se reduce la significancia de los casos de entrenamiento con la distancia. En la capa de suma hay una neurona por cada categoría dependiente; cada neurona suma los valores de salida de las neuronas correspondientes a los casos de entrenamiento de esa categoría. Los valores de salida de las neuronas de la capa de suma se pueden interpretar como estimaciones de función de densidad de probabilidad de cada clase. La neurona de salida selecciona como categoría de la predicción la categoría con el mayor valor de función de densidad de probabilidad. Información adicional sobre redes neuronales 97 Con en la redes GRN, el entrenamiento de una red PN consta de factores de suavización optimizados para minimizar el error de la red entrenada, y para hacerlo se utiliza el método de optimización de Gradiente Descendente Conjugada. La medida de error que se usa durante el entrenamiento para evaluar diferentes grupos de factores de suavización se calcula basándose en todos los valores generados por las neuronas de la capa de suma de todos los casos de entrenamiento. La medición tiene en cuenta no sólo la probabilidad asignada a la categoría correcta, sino también las probabilidades de distribución asignadas a las categorías incorrectas (es mejor la distribución aproximadamente uniforme de probabilidades entre categorías incorrectas que algunas categorías incorrectas tengan una probabilidad alta). Recuerde que cuando se calcula el error de un caso entrenado, ese caso se excluye temporalmente de la capa de patrón. Esto se hace porque la neurona excluida calcularía una distancia cero, haciendo que otras neuronas fueran insignificantes para el cálculo. 98 Redes neuronales de regresión generalizada y redes neuronales probabilísticas Comparación de redes MLF y redes PN/GRN Cada uno de los tipos de Redes Neuronales disponibles en NeuralTools tiene ventajas e inconvenientes, como se explica a continuación: Ventajas de las redes GRN/PN: Se entrenan rápido No requieren una especificación de topología (número de capas ocultas y nodos) Las redes PN no sólo clasifican, sino que también generan probabilidades de que el caso se encuentre en diferentes categorías dependientes posibles Ventajas de las redes MLF: De tamaño más pequeño, pero más rápidas para hacer predicciones Son más fiables fuera del rango de los datos de entrenamiento (por ejemplo, cuando el valor de alguna variable independiente se encuentra fuera del rango de valores de esa variable en los datos de entrenamiento); si bien debe recordarse que la predicción fuera del rango de los datos de entrenamiento sigue teniendo riesgo con las redes MLF Son capaces de generalizar a partir de conjuntos de entrenamiento muy pequeños Información adicional sobre redes neuronales 99 100 Transformación de valores de entrada NeuralTools aplica una escala a las variables numéricas antes del entrenamiento, de forma que los valores de cada variable se encuentran aproximadamente en el mismo rango. Esto se hace para igualar el efecto que las variables tienen sobre el valor de salida de la red durante las fases iniciales del entrenamiento. Cuando una variable no es significativa para hacer predicciones correctas, se refleja durante el entrenamiento mediante la reducción de los pesos de las conexiones que llevan de un valor de entrada a las neuronas de la primera capa oculta. Sin embargo, si esa variable insignificante tiene un orden de magnitud más grande que otras variables, los pesos deben reducirse mucho más para compensar los valores más grandes. La escala usa la media y la desviación estándar para cada variable, calculadas en el conjunto de entrenamiento. La media se resta de cada valor y el resultado se divide entre la desviación estándar. Los mismos parámetros de escala se usan cuando se prueba la red entrenada o cuando se usa para hacer predicciones. Los datos de categoría / simbólicos no se pueden usar directamente en la red neuronal, cuyos valores de entrada deben ser números. En consecuencia, cada una de las variables de categoría independientes se representa por una serie de entradas numéricas de red, una por cada categoría posible. Se usa el método de conversión “una de n”. Por ejemplo, observe el siguiente conjunto de casos entrenados: Edad Estado Cantidad Dependiente: Pago del préstamo 41 NY 4000 A tiempo 32 CT 7000 Tarde 54 NJ 6000 A tiempo 37 NY 5000 Impago Se presentan a la red de la siguiente forma: Edad Estado= CT Estado= NJ Estado= NY Cantidad Dependiente: Pago del préstamo 41 0 0 1 4000 A tiempo 32 1 0 0 7000 Tarde 54 0 1 0 6000 A tiempo Información adicional sobre redes neuronales 101 37 102 0 0 1 5000 Impago Obras recomendadas Los siguientes textos proporcionan información adicional sobre las redes neuronales que se usan en NeuralTools: Bishop, Christopher M., Neural Networks for Pattern Recognition, Oxford, 1995. Masters, Timothy, Advanced Algorithms for Neural Networks, Wiley, 1995. Reed, Russell D., Robert J. Marks, Neural Smithing, MIT, 1999. Información adicional sobre redes neuronales 103 104 Índice A Administrador de conjunto de datos, 14 Arquitectura GRN, 94 Arquitectura MLF, 87 Arquitectura PNN, 97 Asignación de variables, 59 B Barra de herramientas NeuralTools, 33 C Capacidad de conjuntos de datos y variables, 43 Comando Administrador de conjunto de datos, 37 Comando Administrador de red neuronal, 75 Comando Configuraciones de aplicación, 71 Comando Entrenar, 44 Comando Predecir, 65 Comando Probar, 58 Comando Utilidades de reemplazo de datos, 77 Comando Utilidades de Reemplazo de Datos, 80 Combinación de entrenamiento, prueba y predicción, 16 Cómo evitar el exceso de entrenamiento, 91 Comparación de redes MLF y redes PN/GRN, 99 Conjuntos de datos, 14 Conjuntos de datos de rangos múltiples, 39 Conjuntos de datos y variables, 37 Índice Cuadro de diálogo Administrador de conjunto de datos, 38 D Desinstalación de NeuralTools, 7 E Entrenamiento, 12 Entrenamiento de una red MLF, 89 Error cuadrático medio, 57 Evolver, 26 H Histograma de residuales, 57 I Iconos Escritorio, 7 NeuralTools, 33 Iconos de los cuadros de diálogo, 36 Informes de entrenamiento, 55 Informes de prueba, 22, 61 Instrucciones para la instalación, 7 M Matriz de clasificación, 56 P Palisade Corporation, 5 Predicción, 12, 23 Predicción en vivo, 24, 67 Previsualización de predicción, 68 Previsualización de prueba, 60 Probar automáticamente, 45 Problema numéricos, ii Problemas de clasificación, ii 105 Progreso del entrenamiento, 54 Prueba, 12 Prueba de Una Red, 21 R Redes multinivel siempre hacia adelante, 49, 87 Redes neuronales de regresión generalizada, 17, 49, 93 Redes neuronales probabilísticas, 49, 96 Redes neuronales y métodos estadísticos, 84 Requisitos del sistema, 6 Resúmenes rápidos de los informes detallados, 64 106 S Solver, 26 StatTools, 26 T Tiempo de ejecución, 51 Tipo de variable, 41 Transformación de valores de entrada, 101 V Valores que faltan, 79 Variables de etiqueta, 42 Versión Profesional, iv, 3