ebook img

Simulación de Redes Neuronales Artificiales - Una Aplicación Didáctica. PDF

202 Pages·2012·2.37 MB·Spanish
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Simulación de Redes Neuronales Artificiales - Una Aplicación Didáctica.

Universidad Nacional del Nordeste Facultad de Ciencias Exactas, Naturales y Agrimensura Trabajo Final de Aplicación SIMULACIÓN DE REDES NEURONALES ARTIFICIALES Una Aplicación Didáctica Alumna: Anita del C. Alegre López - L.U.: 25.014 Prof. Coordinador: Agr. Castor Herrmann Prof. Orientadora: Mgter. Sonia I. Mariño Licenciatura en Sistemas Corrientes - Argentina 2003 A mi niñita Victoria. Prefacio Unas de las múltiples técnicas que emplea la Inteligencia Arti…cial para simular el comportamiento inteligente de los seres humanos, son las denomi- nadas Redes Neuronales Arti…ciales. Las mismas seducen a profesionales de distintas disciplinas por el gran potencial que ofrecen para resolver problemas complejos. El principal objetivo de este Trabajo Final de Aplicación es estudiar e investigar el modo de aprendizaje de las redes neuronales y sus aplicaciones didácticas. Por esta razónse presentanlos algoritmos más conocidos que ellas utilizan. En las redes neuronales el conocimiento se incorpora mediante el aprendizaje a partir de ejemplos. Sehadesarrolladounsoftwaredesimulaciónenelcualseimplementacomo método de aprendizaje supervisado el Algoritmo de Retropropagación. Para ello se ha recurrido a la técnica del Ciclo de Vida del Software, dedicando la etapa inicial a la investigación y estudio del problema, para luego pasar a la etapa de diseño e implementación. En ésta se optó por el lenguaje orientado a objetos Java, por su robustez, y también por su capacidad de manejar hilos de ejecución y su arquitectura neutra (multiplataforma). A continuación se describirá el contenido de este Trabajo Final de Apli- cación. El capítulo 1 comienza introduciendo ideas básicas sobre las Redes Neuronales, fundamentales para comprender la simulación desarrollada. En el capítulo 2 se presenta el lenguaje de programación Java. En el capítulo 3 se hace una introducción a la preparación de documentos con LaTeX. En el capítulo 4 se presenta el Sistema de Sumulación de Redes Neuronales Arti…- ciales, y …nalizando, en el capítulo 5 se exponen las conclusiones a las que se ha llegado. Anita del C. Alegre López Licenciatura en Sistemas Universidad Nacional del Nordeste Índice General 1 Redes Neuronales 1 1.1 Introducción a las Redes Neuronales . . . . . . . . . . . . . . . 1 1.2 Inspiración en la Neurociencia . . . . . . . . . . . . . . . . . . . 3 1.3 Componentes de las Redes Neuronales . . . . . . . . . . . . . . 4 1.3.1 Neuronas: Unidades Procesadoras . . . . . . . . . . . . 5 1.3.2 Funciones de activación más populares . . . . . . . . . . 7 1.3.3 Arquitecturas de Redes . . . . . . . . . . . . . . . . . . 9 1.4 Aprendizaje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.5 Validación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.6 Redes de Retro-propagación . . . . . . . . . . . . . . . . . . . . 14 1.6.1 Algoritmos de Aprendizaje . . . . . . . . . . . . . . . . 15 1.7 Perceptrones Multi-Capa. . . . . . . . . . . . . . . . . . . . . . 17 1.7.1 El Algoritmo de Retro-propagación . . . . . . . . . . . . 18 1.7.2 Algoritmo de retro-propagación (propagación hacia atrás) 21 1.8 Otras arquitecturas de redes . . . . . . . . . . . . . . . . . . . . 22 1.8.1 La Red Neuronal de Hop…eld . . . . . . . . . . . . . . . 22 1.8.2 Redes Neuronales Competitivas . . . . . . . . . . . . . . 22 2 Java 25 2.1 Introducción a Java . . . . . . . . . . . . . . . . . . . . . . . . 25 2.1.1 Qué es Java 2 . . . . . . . . . . . . . . . . . . . . . . . . 26 2.2 El Entorno de Desarrollo Java . . . . . . . . . . . . . . . . . . . 27 2.2.1 El compilador de Java . . . . . . . . . . . . . . . . . . . 28 2.2.2 La Java Virtual Machine . . . . . . . . . . . . . . . . . 28 2.2.3 Las variables PATH y CLASSPATH . . . . . . . . . . . 29 2.3 Nomenclatura en Java . . . . . . . . . . . . . . . . . . . . . . . 29 2.4 Estructura General de un Programa Java . . . . . . . . . . . . 31 2.5 Conceptos Básicos . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.5.1 Clase . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 vii viii ÍNDICE GENERAL 2.5.2 Herencia . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.5.3 Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.5.4 Package . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.5.5 La jerarquía de clases de Java (API) . . . . . . . . . . . 34 2.6 Programación en Java . . . . . . . . . . . . . . . . . . . . . . . 35 2.6.1 Variables . . . . . . . . . . . . . . . . . . . . . . . . . . 35 2.6.2 Nombres de Variables . . . . . . . . . . . . . . . . . . . 36 2.6.3 Tipos Primitivos de Variables . . . . . . . . . . . . . . . 36 2.6.4 Cómo se de…nen e inicializan las variables . . . . . . . . 37 2.6.5 Visibilidad y vida de las variables . . . . . . . . . . . . . 38 2.7 Operadores de Java . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.7.1 Operadores aritméticos . . . . . . . . . . . . . . . . . . 40 2.7.2 Operadores de asignación . . . . . . . . . . . . . . . . . 40 2.7.3 Operadores unarios . . . . . . . . . . . . . . . . . . . . . 40 2.7.4 Operadores incrementales . . . . . . . . . . . . . . . . . 41 2.7.5 Operadores relacionales . . . . . . . . . . . . . . . . . . 41 2.7.6 Operador de concatenación de cadenas de caracteres (+) 42 2.7.7 Precedencia de operadores . . . . . . . . . . . . . . . . . 43 2.8 Estructuras de Programación . . . . . . . . . . . . . . . . . . . 44 2.8.1 Sentencias o expresiones . . . . . . . . . . . . . . . . . . 44 2.8.2 Comentarios . . . . . . . . . . . . . . . . . . . . . . . . 44 2.8.3 Bifurcaciones . . . . . . . . . . . . . . . . . . . . . . . . 45 2.8.4 Bucles . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 2.9 Clases en Java . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 2.9.1 Características importantes de las clases . . . . . . . . . 50 2.9.2 Métodos o Funciones Miembros . . . . . . . . . . . . . . 51 2.10 Algunas Clases de Utilidad . . . . . . . . . . . . . . . . . . . . 53 2.10.1 Clase Arrays . . . . . . . . . . . . . . . . . . . . . . . . 53 2.10.2 Clases String y StringBu¤er . . . . . . . . . . . . . . . . 54 2.10.3 Clase Double . . . . . . . . . . . . . . . . . . . . . . . . 55 2.10.4 Clase Integer . . . . . . . . . . . . . . . . . . . . . . . . 56 2.11 El AWT (Abstract Windows Toolkit). . . . . . . . . . . . . . . 56 2.11.1 Qué es el AWT . . . . . . . . . . . . . . . . . . . . . . . 56 2.11.2 Creación de una Interface Grá…ca de Usuario . . . . . . 56 2.11.3 Objetos “event source” y objetos “event listener” . . . . 57 2.11.4 Proceso a seguir para crear una aplicación interactiva (orientada a eventos) . . . . . . . . . . . . . . . . . . . . 58 3 Preparación de documentos con LATEX 59 ÍNDICE GENERAL ix 3.1 Introducción. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 3.1.1 Forma de trabajo con LATEX . . . . . . . . . . . . . . . . 60 3.1.2 Modo de trabajo en LATEX . . . . . . . . . . . . . . . . . 64 3.2 Documentos en LATEX . . . . . . . . . . . . . . . . . . . . . . . 64 3.2.1 El Preámbulo . . . . . . . . . . . . . . . . . . . . . . . . 65 3.2.2 Especi…cación y Estilo de Documento . . . . . . . . . . 65 3.2.3 Estilo de Página . . . . . . . . . . . . . . . . . . . . . . 66 3.2.4 La página del Título . . . . . . . . . . . . . . . . . . . . 68 3.2.5 El Documento Propiamente Dicho . . . . . . . . . . . . 69 3.2.6 División de un documento en partes . . . . . . . . . . . 71 3.2.7 Documento Tipo Libro. . . . . . . . . . . . . . . . . . . 73 3.3 Partes Flotantes . . . . . . . . . . . . . . . . . . . . . . . . . . 76 3.3.1 Referencia Cruzada e Índice de Palabras . . . . . . . . . 79 3.3.2 Bibliografía . . . . . . . . . . . . . . . . . . . . . . . . . 82 4 La Aplicación 85 4.1 Descripción del Entrenamiento . . . . . . . . . . . . . . . . . . 85 4.2 El Código Fuente . . . . . . . . . . . . . . . . . . . . . . . . . . 91 4.2.1 Clase Simu . . . . . . . . . . . . . . . . . . . . . . . . . 91 4.2.2 Clase Problema . . . . . . . . . . . . . . . . . . . . . . . 118 4.2.3 Clase FuncionCosto . . . . . . . . . . . . . . . . . . . . 129 4.2.4 Clase Algoritmo . . . . . . . . . . . . . . . . . . . . . . 130 4.2.5 Clase AlgoritmoOptimizacionPaso . . . . . . . . . . . . 136 4.2.6 Clase Red . . . . . . . . . . . . . . . . . . . . . . . . . . 141 4.3 Manual del Usuario . . . . . . . . . . . . . . . . . . . . . . . . . 154 4.3.1 Presentación del Sistema. . . . . . . . . . . . . . . . . . 154 4.3.2 Ventana Principal . . . . . . . . . . . . . . . . . . . . . 154 4.3.3 Barra de Menús de la Ventana Principal . . . . . . . . . 155 4.3.4 Entrenamiento de la Red Neuronal Arti…cial . . . . . . 161 4.3.5 Validación de la Red Neuronal Arti…cial . . . . . . . . . 168 4.4 Análisis de Resultados . . . . . . . . . . . . . . . . . . . . . . . 172 4.4.1 Interpretación de los datos . . . . . . . . . . . . . . . . 178 5 Conclusiones 181 Bibliografía 183 Índice de Materias 185

Description:
En el siguiente ejemplo se presenta la estructura habitual de un programa realizado en cualquier lenguaje orientado a objetos u OOP (Object.
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.