Introducción a las Redes Neuronales y Aplicaciones

Slides:



Advertisements
Presentaciones similares
S ISTEMAS EXPERTOS BASADOS EN R EDES N EURONALES.
Advertisements

Jacqueline Chávez Cuzcano
Introducción a las Redes Neuronales
Complejidad Computacional
Redes Neuronales de Retropropagación
INTRODUCCION A TECNICAS DE MINERIA DE DATOS
SISTEMAS INTELIGENTES
Redes Perceptron Mg. Samuel Oporto Díaz
Reconocimiento de Patrones
Redes Neuronales Artificiales
Complejidad Computacional
Introducción a las Redes neuronales
Introducción a la minería de datos
DATA MINING MINERIA DE DATOS Gersom Costas.
Administración de Desastre
ESTUDIO DE MERCADO. MÉTODOS DE PROYECCIÓN
Silvana Arias Carla Espinosa Livia Loaiza INGENIERIA EN SISTEMAS
PROYECTO DE GRADO CARLOS STALIN ALVARADO SANCHEZ
MATLAB MAYO 5 DEL 2005 IMPLEMENTACION DE LA FUNCION LOGICA XOR, MEDIANTE UN MODELO NEURONAL Y EL ALGORITMO BACKPROPAGATION EXPOSITORES: ANDRES FELIPE RESTREPO.
Definición Machine learning traducido al español significa el aprendizaje automático o también aprendizaje de las maquinas. A partir de esto podemos darle.
Redes neuronales2 José Edinson Aedo Cobo Depto. de Ing. Electrónica.
Representación en espacio de estado
Especialista en Business Intelligence Analysis Services SSAS (Sesión 14) Microsoft SQL Server 2008 R2 Suscribase a o escríbanos a
RECONOCIMIENTO DE OBJETOS
APRENDIZAJE WIDROW- HOFF
El Perceptrón  El psicólogo Frank Ronsenblant desarrolló un modelo simple de neurona basado en el modelo de McCulloch y Pitts que utilizaba.
Inteligencia Artificial (BAIA)  Se propone lograr que las computadoras se comporten de manera que podamos reconocerlas como inteligentes.  Tiene por.
REDES NEURONALES ARTIFICIALES
Redes Neuronales Artificiales
Inteligencia artificial
Seminario Científico Internacional 2008 de invierno (SCI 2008i) - Francisco García Fernández. Dr. Ingeniero de Montes - Luis García Esteban. Dr. Ingeniero.
FUNDAMENTOS DE DATA MINING Y SUS APLICACIONES N. QUEIPO, S. PINTOS COPYRIGHT 2000 CLASIFICACIÓN NO SUPERVISADA.
RECONOCIMIETO DE PATRONES
Representación del Conocimiento
INTRODUCCIÓN A REDES NEURONALES ARTIFICIALES TEORÍA Y APLICACIONES
Sesión 2: Métodos Probabilísticos Básicos
LENGUAS ELECTRÓNICAS.
Diplomado "Gestión de Negocios con Data Warehouse y Data Mining".
Introducción Calculabilidad clásica Computación celular
Redes Neuronales Monocapa
Ejemplo de aplicación de las ANN
1 Problema no separable linealmente Se busca obtener un algoritmo más general que permita integrar el aprendizaje entre las dos capas.
Tipos de redes neuronales Perceptrón multicapa Redes de respuesta radial Competitivas Clasificación Mapa topológico.
Integrantes: Daniel Peña Alfredo Zuñiga
Aplicaciones de las Redes Neuronales Artificilaes Dr. Héctor Allende
(Organización y Manejo de Archivos)
Combinación de Clasificadores
Contenido Identificación de sistemas con redes neuronales Modelado de dinámica temporal de las manchas solares.
Redes Neuronales Artificiales
Aprendizaje de Agentes II Alberto Reyes Ballesteros Programa ITESM-IIE Doctorado en Ciencias Computacionales.
Modelos Computacionales
Redes Competitivas.
REDES NEURONALES.
Practica 4 supercomputadoras.
Aprendizaje Automatizado
Redes Neuronales Artificiales 2 - Aprendizaje
Una introducción a la computación evolutiva
INTRODUCCIÓN A LA INTELIGENCIA ARTIFICIAL Y LOS SISTEMAS EXPERTOS
Redes Neuronales BPN - Backpropagation Networks
DATA MINING KAROL PARDO MIGUEL VALCERO CORPORACION UNIVERSITARIA MINUTO DE DIOS.
Algoritmo de Retropropagación. Conclusiones de Retropropagación n 1. Si la neurona j es un nodo de salida es igual al producto de la derivada y la señal.
Identificacion con redes neuronales
REDES NEURONALES TEORÍA MODERNA DE LA FIRMA 2010.
Portafolio de evidencias
Ramas de I.A. ROBOTICA SISTEMAS DE VISION SISTEMAS EXPERTOS
Desde el principio de la humanidad se soñó con el desarrollo de máquinas que puedan imitar la capacidad de aprendizaje del hombre. Actualmente es un desafío.
Ángel Berihuete Francisco Álvarez
Redes Neuronales.

REDES NEURONALES ARTIFICIALES (SOM - Kohonen)
Transcripción de la presentación:

Introducción a las Redes Neuronales y Aplicaciones Centros de Tecnología de Información y Comunicaciones Cursos Libres de Verano CTIC-UNI Introducción a las Redes Neuronales y Aplicaciones Mg. Samuel Oporto Díaz soportod@uni.edu.pe Lima – Enero - 2009

Tabla de Contenido Conocimiento y Aprendizaje Reconocimiento de Patrones. Neuronas Naturales Neuronas Artificiales Clasificación de las Redes Neuronales Aplicaciones Redes de nivel simple Redes de nivel múltiple Análisis de redes de retro-propagación Efectividad del clasificador

Mapa Conceptual del Curso Primera Sesión Segunda Sesión Aprendizaje Redes Neuronales Arquitectura de RN Métodos de Aplicación Clasificación de Alumnos Clasificación de Imágenes Ejercicios Clasificación de Minucias Pronóstico de Demanda

Mapa Conceptual de la Sesión Método de Trabajo Reconocimiento de Patrones No Recurrentes Red Perceptron Aprendizaje Aprendizaje supervisado Arquitectura de las redes neuronales Neuronas Naturales Neuronas Artificiales Red de retro-propagación Aprendizaje no supervisado Recurrentes Aplicaciones

Objetivo de la Sesión Exponer los aspectos básicos de las redes neuronales. Exponer los conceptos acerca de las redes neuronales. Exponer los conceptos del aprendizaje natural y automático. Exponer los conceptos de reconocimiento de patrones. Plantear el modelo de redes neuronales artificiales. Exponer las arquitecturas de las redes neuronales.

CONOCIMIENTO Y APRENDIZAJE

Datos, Información y Conocimiento sabiduría crítica del entendimiento entendimiento entendiendo principios aprendizaje conocimiento entendiendo patrones memoria información futuro entendiendo relaciones datos pasado

Aprendizaje Cambio relativamente estable en la conducta del individuo. Es un proceso unido a la experiencia. El proceso fundamental del aprendizaje es la imitación. Aprendizaje Memorístico. Generado por patrones de actividad. Resonancia. Recordar un número telefónico Aprendizaje Significativo. Nuevas conexiones y cambios físicos y químicos en las neuronas (plasticidad neuronal) Reforzamiento de conexiones. Eliminación de conexiones . Aprender a resolver problemas de matemáticas. Bailar.

Ejercicio 1 ¿Las computadoras pueden aprender? ¿Dónde tienen dificultades las computadoras?

Aprendizaje Automático Desarrollo de técnicas para que las computadoras aprendan. Crea programas que generalizan comportamientos a partir de información no estructurada entregada como ejemplos. Proceso de inducción del conocimiento Basado en el análisis de datos. Aplicaciones. Motores de búsqueda Diagnóstico médico. Detección de fraude Mercado de valores Clasificación de ADN Reconocimiento de voz Robótica Algoritmo de aprendizaje automático ejemplo Modelos de Clasificación Agrupamiento, Secuenciación, Asociación y Optimización Nuevos casos Respuesta

Ejercicio 2 ¿Conoce algún software o software-hardware que aprenda?

Modelos de Aprendizaje Aprendizaje supervizado: Se presentan pares de patrones de entrada y salida. Se compara la salida calculada con la respuesta correcta. La diferencia permite ajustar el modelo. El aprendizaje se da a través de un proceso iterativo de ajustes. Aprendizaje no supervizado Se presentan sólo patrones de entrada. No necesita de salida. No sabe si la salida generada respecto a una entrada es o no correcta. Se busca grupos de entradas relacionados por cercanía.

Ejercicio 3 En qué tipo de problemas aplicaría usted aprendizaje supervisado o aprendizaje no supervisado. Identificar huellas digitales duplicadas. Identificar factores que explican la deserción de clientes o de alumnos y anticipar casos futuros . Pronosticar aquellos clientes que van ha hacer default de pagos en los siguientes meses. Pronosticar la demanda futura de productos o de efectivo. Identificar transacciones o actividades sospechosas de fraude – suscripciones, tarjetas de crédito, tarjetas telefónicas. Análisis de la efectividad de campañas de marketing, selección de clientes con mayor probabilidad a responder a la promoción.

RECONOCIMIENTO DE PATRONES

Reconocimiento de Patrones El reconocimiento de patrones es la clasificación de señales en clases. Se quiere clasificar un señal dependiendo de sus características. Las señales, características y clases pueden ser de cualquiera forma. Clasificar imágenes digitales de letras en las clases «A» a «Z» dependiente de sus píxeles. Clasificar ruidos de cantos de los pájaros en clases de órdenes aviares dependiente de las frecuencias.

Ejercicio 4 ¿Cuál de estos caracteres corresponde al número 3? ¿Para el humano es fácil identificar los números?

Ejercicio 5 ¿Cómo se puede averiguar a qué idioma corresponde un texto determinado? Un grupo de astrónomos descubrió que nuestra galaxia, la Vía Láctea, gira más deprisa y tiene una mayor masa de lo que se pensaba hasta ahora. Los científicos aseguran que la Vía Láctea gira a unos 960.000 kilómetros por hora, una velocidad superior en unos 160.000 kilómetros por hora a la calculada anteriormente, lo que implica que su masa es un 50% mayor de lo que señalaron estudios previos. The resolution of magnetic resonance imaging (MRI) has been given a massive boost by a team at computer giant IBM. MRI is used as an imaging technique in medicine to visualise the internal structure of the human body. The researchers demonstrated this imaging at a resolution 100 million times finer than current MRI. Astrônomos do Instituto de Tecnologia de Massachusetts (MIT, na sigla em inglês) anunciaram que recriaram pela primeira vez um modelo em 3D dos momentos seguintes à explosão de uma estrela, o que pode ser uma boa ferramenta para se estudar melhor o processo. Os especialistas recolheram informações de dois telescópios orbitais da Nasa - Chandra, de raios-X, e Spitzer, que obtém imagens pela detecção de radiação infravermelha ou de calor - e de telescópios na superfície da Terra.

Ejercicio 5

Ejercicio 6 Cierto robot tiene aprendido los siguientes patrones: Diga la respuesta que entregará el robot cuando se le presente los siguientes patrones.

Enfoques - Reconocimiento de Patrones Reconocimiento Estadístico de Patrones.- Usa probabilidad y estadística, supone la existencia de distribuciones de probabilidad a partir de ellas se hace el reconocimiento. Redes bayesianas. Reconocimiento Sintáctico de Patrones.- Encuentra relaciones estructurales, utilizando teoría de lenguajes formales, construye una gramática que describe la estructura de objetos. Sistemas basados en conocimiento. Redes Neuronales.- Dada una arquitectura, las red es “entrenada” para entregar una respuesta cuando se le presentan determinados valores.

NEURONAS NATURALES

El Cerebro Humano Gran velocidad de proceso Trata gran cantidad de información Los sentidos Memoria almacenada Capacidad de tratar situaciones nuevas Capacidad de aprendizaje Almacenamiento redundante. No binario, no estable y no síncrono. Poder desconocido 1011 Neuronas (procesadores) 1000 – 10000 conexiones por neurona Capacidad basada en las conexiones. Cada neurona es muy compleja.

La Neurona Dendritas de entradas Un axón de salida Sinapsis de conexión. 104 sinapsis por neurona Comunicación mediante Potenciales de Acción (PA) Generación de conexiones. Consolidación de conexiones. dendrita neurona núcleo axón nódulo de Ravier envoltura de mielina célula de schwann axón terminal

La Neurona

Conexiones Neuronales Dendritas Axon Señal (Información) Cuerpo Sinapsis

Sinapsis Impulso eléctrico que viaja por el axón Liberación de neurotransmisores Apertura/cierre de canales iónicos Integración de entradas en soma Si se supera umbral de disparo se genera un PA Variación potencial en dendrita

Los Potenciales de Acción Es una onda de descarga eléctrica que viaja a lo largo de la membrana de la neurona. Se utilizan para llevar información entre neuronas. Se generan en las células y en las neuronas. Periodo refractario de 10-3 segundos entre PAs

Los Potenciales de Acción

NEURONAS ARTIFICIALES 1 2 3 4 5 7 6 Wij1 Wij2 u1 u2 y1 y2 Wij3

Inspiración Biológica ¿Qué modelar? Inclinación a adquirir conocimiento desde la experiencia Conocimiento almacenado en conexiones sinápticas Gran plasticidad neuronal y tolerancia a fallos (muerte neuronal) Comportamiento altamente no-lineal

Red Neuronal Artificial (RNA) Es un sistema de procesamiento de información que tiene propiedades inspiradas en las redes neuronales biológicas: El procesamiento de información ocurre en muchos elementos simples llamados neuronas. Las señales son transferidas entre neuronas a través de enlaces de conexión. Cada conexión tiene un peso asociado representando la sinapsis. Cada neurona aplica una función de activación a su entrada de red (suma de entradas pesadas) para determinar su salida, representando la generación de potenciales de acción.

Modelo Neuronal Xi net u Yu Wiu net u= Xi Wiu Yu = f (netu) Elemento Procesador Xi net u Yu Wiu net u= Xi Wiu Yu = f (netu) Yu = f ( Xi Wiu )

. Modelado Neuronal Entradas (X) Salida (Y) 1 Pesos sinápticos (W) Función suma (net) Función de activación (f) Funcionamiento en modo aprendizaje o ejecución n k 1 u . X1 Xk Xn W1u Wku Wnu Yu net u= Xi Wiu Yu = f (netu) Yu = f ( Xi Wiu )

Neurona Natural vs. Artificial Neurona = Unidad de procesamiento Dendritas = entradas (X) Axón = salidas (Y) Conexiones sinápticas = Conexiones con pesos (W) Efectividad sináptica = Peso sináptico (Wij) Excitación / Inhibición = Pesos Wij (+) ó Wij (-) Potencial = Valores de entradas o salidas Combinado de PAs = Función de propagación (Σ) Potencial de acción = Función de transferencia (f)

Función de Transferencia Función de Propagación Permite obtener el valor del potencial post-sinaptico (net) a partir de las entradas (X) y los pesos (W) Es posible utilizar otro tipos de función de propagación, tales como mínimo, máximo, mayoría, producto, etc. Función de Transferencia. Permite obtener la salida (Y) del elemento procesador ante un estímulo (net). En el modelo más simple la f obtiene la salida Y comparando la entrada net con un umbral. Si net > umbral  señal. Si net < umbral  sin señal. Yu = f (netu) netu= Xi Wiu

Ejercicio 7 Dado la siguiente red neuronal de 1 capa, determine la salida para los siguientes registros de datos: n1 n2 n3 X1 X2 Y 0.25 0.35 Xnxk = x1 0.50 -0.35 -0.70 0.22 x2 1.50 0.45 0.33 -0.85 Y1xk =  

Ejercicio 7

CLASIFICACIÓN DE LA REDES NEURONALES

Topología En función del patrón de conexiones que presenta. Redes no recurrentes. Propagación hacia delante o acíclicas. Las señales van de la capa de entrada a la salida sin ciclos. Monocapa. perceptrón, Adaline. Multicapa. perceptrón multicapa. Redes recurrentes. Presentan al menos un ciclo cerrado de activación neuronal. Elman, Hopfield, Máquina de Bolzman. Aprendizaje Supervisado Aprendizaje no Supervisado

Tipo de Aprendizaje Si necesita o no un conjunto de entrenamiento supervisado Aprendizaje supervisado: necesitan datos clasificado perceptrón simple, red Adaline, perceptrón multicapa y memoria asociativa bidireccional. Aprendizaje no supervisado o autoorganizado: no necesitan de tal conjunto previo. Memorias asociativas, redes de Hopfield, máquina de Bolzman y máquina de Cauchy, redes de aprendizaje competitivo, redes de Kohonen, redes de resonancia adaptativa (ART) Redes híbridas: son un enfoque mixto en el que se utiliza una función de mejora para facilitar la convergencia. Redes de base radial.

Tipo de Entrada Redes analógicas: procesan datos de entrada con valores continuos y habitualmente acotados. Hopfield, Kohonen y las redes de aprendizaje competitivo. Redes discretas: procesan datos de entrada de naturaleza discreta habitualmente valores lógicos booleanos. Máquinas de Bolzman y Cauchy y red discreta de Hopfield. rango 1 rango 2 rango 3

Algoritmos de Aprendizaje Algoritmos de aprendizaje más comunes: Perceptrón multicapa o Backpropagation (BPN) Aprendizajes supervizados bajo corrección de error Mapas Auto-organizados (SOM) Aprendizajes competitivo no supervizados Wij(t+1) = Wij(t) - η ∂ J ∂Wij(t) Wv(t +1) = Wv(t) + Θ (v, t) α(t)(D(t) - Wv(t)),

APLICACIONES

Aplicaciones Se usan para el reconocimiento de patrones. Problemas donde más importante es el patrón que los datos exactos. Aplicaciones: Clasificación. Predicción Clustering (Agrupamiento) Aproximación de curvas

1. Clasificación Clasifica objetos en un número finito de clases, dado sus propiedades. Busca una función de mapeo que permita separar la clase 1 de la clase 2 y esta de la clase 3… El número de clases es finito. Árboles de decisión. Reglas de Asociación. Redes Neuronales. Clasificador Bayesiano. Razonamiento basado en casos

2. Predicción Intenta determinar la función que mapea un conjunto de variables de entrada en una (o más) variables de salida. Es básicamente numérica. Está basada en supuestos estadísticos. Ejemplos: Monitoreo la reserva de plazas en empresas de aviación. Predicciones financieras a corto plazo

3. Clustering (Clasificación no supervisada) Intenta agrupar una serie de objetos en grupos. Cada objeto es representado por un vector de atributos n-dimensional. Los objetos que forman cada grupo deben ser disimilares. La similaridad es medida del grado de proximidad. Luego cada grupo es etiquetado. K-means (agrupamiento exclusivo) Fuzzy C-means (agrupamiento con traslape) Angulo de distribución mínima Método de autoorganización (SOM) Razonamiento Adaptativo

4. Aproximación de curvas Reconocer el patrón de curvas entregadas como una secuencia de puntos.

Otras Aplicaciones Financial Stock Market Prediction Credit Worthiness Credit Rating Bankruptcy Prediction Property Appraisal Fraud Detection Price Forecasts Economic Indicator Forecasts Medical Medical Diagnosis Detection and Evaluation of Medical Phenomena Patient's Length of Stay Forecasts Treatment Cost Estimation Industrial Process Control Quality Control Temperature and Force Prediction Science Chemical Compound Identification Physical System Modeling Polymer Identification Recognizing Genes Botanical Classification Signal Processing: Neural Filtering Biological Systems Analysis Ground Level Ozone Prognosis Odor Analysis and Identification Educational Teaching Neural Networks Neural Network Research College Application Screening Predict Student Performance Data Mining Energy Electrical Load Forecasting Energy Demand Forecasting Short and Long-Term Load Estimation Predicting Gas/Coal Index Prices Power Control Systems Hydro Dam Monitoring Prediction Classification Change and Deviation Detection Knowledge Discovery Response Modeling Time Series Analysis Sales and Marketing Sales Forecasting Targeted Marketing Service Usage Forecasting Retail Margins Forecasting Operational Analysis Retail Inventories Optimization Scheduling Optimization Managerial Decision Making Cash Flow Forecasting HR Management Employee Selection and Hiring Employee Retention Staff Scheduling Personnel Profiling http://www.alyuda.com/products/neurofusion/neural-network-applications.htm

Aplicaciones ¿Qué tipo de problemas puede resolver una RN? Se requiere tener respuestas en tiempo real. Se trata de predecir el futuro. Todo problema donde se requiere aprender para luego actuar en situaciones parecidas. ¿Qué tipo de problemas puede no resolver una RN? No se dispone de datos históricos. Explicar lo que hace un sistema sin fuentes. Procesar datos más rápidamente. Todo problema que puede ser resuelto usando sistemas de información o procedimiento de BD transaccionales

REDES DE NIVEL SIMPLE

Perceptrón u2 u1 Separa espacio con hiperplanos y = f ( w1 u1 + w2 u2 + ... + wn un ), f(s) = { 1 si s0, 0 si s<0 } Puede incluir offset w0. Importante históricamente estudiado muy detalladamente (Minsky y Papert ‘69) Es un clasificador lineal en 2 clases. bueno si los patrones son linealmente separables problema XOR wt.u=0 u1 u2

Arquitectura del Perceptrón Una capa de entrada y una capa de salida. Obedece la siguiente regla: w1 ∑ ┍ ┙ Θ w2 Y x1 x2 Entrada Sumador Función de Transferencia Umbral Salida 1 if Σ entradai * weighti > umbral -1 if Σ entradai * weighti < umbral Salida =

Ejercicio 8 Diga si los siguientes patrones son linealmente separables

XOR El perceptron no puede aprender un XOR

Aprendizaje Perceptrón Se aplica la siguiente regla de aprendizaje perceptron: Donde: Es la velocidad de aprendizaje. Es el gradiente

Aprendizaje Perceptron Lo que busca el gradiente es minimizar el error E. E(w) Decrecimiento de E(w) Decrecimiento de E(w) w1 W(t+1) W(t)

Aprendizaje Perceptron La velocidad de aprendizaje, indica el tamaño del salto.  pequeño  grande

DESARROLLO DE APLICACIONES CON REDES NEURONALES

Ejercicio 9 - Perceptron Desarrolle una red neuronal – perceptrón simple - para aprender el siguiente patrón de comportamiento Pruebe la red entrenada y diga a que clase pertenecen los siguientes registros. X1 X2 clase 3 2 5 6 1 4 7 X1 X2 clase 4 2 3 6 5 1

Procedimiento de solución Definir la arquitectura Parámetros Train Pre-procesamiento Entrenamiento Recolección de datos W Pesos Test Prueba error

Parámetros Épocas. Un paso de todos los patrones por el algoritmo de entrenamiento constituye una época. net.trainParam.epochs = epochs; Desempeño del entrenamiento Máximo error aceptable. net.trainParam.goal = goal; Visualización Cada cuantas épocas visualizar el error de entrenamiento net.trainParam.show = epochs;

Errores Error de entrenamiento E = |Dtrain - Y|2 / N Error del clasificador E = 1 –  exitos / N E = |Dtest - Y|2 / N

Algoritmo function lab_11_perceptron_simple clc % PARAMETROS epochs = 5000; % RECOLECCION data = xlsread([pwdup, 'class_data.xls'],2,'A3:C10'); entrada = data(:,[1:2]); salida = data(:,3); entrada = entrada'; salida = salida'; %plotdata (entrada, salida, {'X1', 'X2'}) % PRE-PROCESAMIENTO % ----------------- % DEFINE ARQUITECTURA DE LA RED % neuronas neuronas_entrada = Rows(entrada); neuronas_salida = Rows(salida); %crea la red neuronal net = newp(minmax(entrada), neuronas_salida); % asigna pesos aleatorio net = init(net); % asignar parametros de configuracion a la red net.trainParam.epochs = epochs; % ENTRENA LA RED net = train(net, entrada, salida); % PRUEBA O SIMULACION datatest = xlsread([pwdup, 'class_data.xls'],2,'A16:B20'); entradatest = datatest(:,[1:2]); entradatest = entradatest'; % simulación result = sim(net,entradatest); disp([entradatest' result']) %plotdata (entrada, salida, entradatest, result, {'X1', 'X2'}) % ERROR % -----

REDES DE MÚLTIPLE NIVEL

Perceptrón Multicapa Red lineal Activaciones dependen: entradas activaciones de neuronas precedentes Derivadas ordenadas  backpropagation 1 2 3 4 5 7 6 Wij1 Wij2 u1 u2 y1 y2 Wij3 u1 u2 y1 y2 1 2 3 4 5 6 7

Perceptrón Multicapa w11=1 w12=1 w21=1 w22=1 w31=1 w32=-1.5 b1=0.5 b2=1.5 b3=0.5

MAPEADOR UNIVERSAL

Mapeo Universal R3  R1 Pregunta: ¿Qué tipo de funciones puedo representar con una RN? La RN puede representar una función de N variables como combinación lineal de funciones en una variable (bajar dimensionalidad del problema) área perímetro compacidad resultado 10 15 22.50 Cuadro Paralelogramo 8 13 21.13 Circulo 9 13.5 20.25 Pentágono 6 11 20.17 Triangulo R3  R1

Mapeo Universal Idea: Prueba intuitiva: Paso 1: Usando red con 2 capas ocultas es posible crear funciones tipo localizadas que combinadas pueden formar cualquier función “suave” Prueba intuitiva: Fácil de ver en R2  R. Red: y = ANN (x1,x2) Paso 1: Que mapeo obtengo con una sola neurona? y = logsig(.x1) y = logsig(.x2)

Mapeo Universal b -b -1 Paso 2: x1  y  1 Uso Perceptron Multicapa Puedo lograr “pico” en cualquier valor de x1 con red de 1 sola capa oculta el ancho del pico depende del valor de b. Puedo hacer lo mismo con x2.  x1 1 y  b -b -1

Mapeo Universal b -b -2 Paso 3: x1  1 y x2 Agrupo redes en cada entrada en una sola red para combinar picos en x1 y x2. Ajustando parámetros puedo obtener un pico bien definido centrado en cualquier punto de R2.  x1 1 y b -b -2 x2

Mapeo Universal a -a b1 1 c1 1 a 1 -a d1 e1 1 -2  a -a bn 1 cn 1 a 1 Paso 4: Agregando una capa adicional 2 capas ocultas Combinando estos picos se puede aproximar cualquier función de R2  R con el grado de error que desee. x1  -a b1 1 1 c1  1  a x2  1 -a d1 f1 1 e1 1 -2  y  a x1  -a bn 1 fn 1 cn  1  a x2  1 -a dn 1 1 en -2 

Mapeo Universal

RED DE RETROPROPAGACION

Problema no separable linealmente Se busca obtener un algoritmo más general que permita integrar el aprendizaje entre las dos capas.

Problema no separable linealmente ¿Cuál es el tamaño de cada capa?

Problema no separable linealmente Aplicar descenso en la dirección del gradiente de error expresada como una función de los pesos. Tomar en cuenta los pesos de los arcos que unen AMBAS capas. Las neuronas de la capa intermedia no tienen una salida deseada. ¿D? D X

Retropropagation. Arquitectura

Retropropagación f() b net =ok(n) yk(n) dk(n) entradas Pesos k = capa sumatoria constante b función de transferencia resultado net =ok(n) salida calculada yk(n) x1(n) wk1 (n) x2(n) x3(n) wk2 (n) wk3 (n) ek(n) = dk(n) – yk(n) deseada dk(n) ek(n)

Función de transferencia

Regla de Aprendizaje Si j es una unidad de salida Si no

Aprendizaje j i entrada neta a i salida de i error de la salida k error total regla de aprendizaje η: velocidad de aprendizaje

Propiedades Discriminante universal: Generar regiones para clasificar datos Generalización: Inferir resultados sobre valores de entrada no usados anteriormente. Interpolación y extrapolación Robustez: Almacenamiento distribuido. Al error de alguna neurona. Adaptabilidad: Parámetros (Wij) Estructura de la red. interpolación extrapolación

Ejercicio 10 Desarrolle una red neuronal de retro-propagación para aprender números entregados como imágenes binarias de tamaño 7x6 proporcionadas en la hoja del archivo de datos.

Procedimiento de solución Definir la arquitectura Parámetros Train Pre-procesamiento Entrenamiento Recolección de datos W Pesos Test Prueba error

Arquitectura de la Red 1

Ejercicio 10 function error = lab_1a_retropropagacion % PARAMETROS epochs = 500; goal = 0.001; % RECOLECCION data = xlsread([pwdup, 'class_data.xls'], 3, 'C3:P81'); % PRE-PROCESAMIENTO %prepara la data [entrada, salida] = preparadata(data); entrada = entrada'; salida = salida'; % DEFINE ARQUITECTURA DE LA RED % neuronas neuronas1 = Rows(entrada); neuronas2 = 10; neuronas3 = Rows(salida); Si = [neuronas2 neuronas3]; % neuronas por capa TFi = {'tansig' 'purelin'}; % función transferencia %crea la red neuronal net = newff(minmax(entrada), Si, TFi); % asigna pesos aleatorio net = init(net); % asignar parametros de configuracion a la red net.trainParam.epochs = epochs; net.trainParam.goal = goal; % ENTRENA LA RED net = train(net, entrada, salida); % PRUEBA DE MEMORIA result = sim(net, entrada); result = round(result); error = 1 - exito(result, salida); % error de aprendizaje disp([salida' result']) disp(['error = ' num2str(error)]) % PRUEBA DE APRENDIZAJE dataT = xlsread([pwdup, 'class_data.xls'], 3, 'U3:AP81'); [entradaT, salidaT] = preparadata(dataT); entradaT = entradaT'; salidaT = salidaT'; result = sim(net, entradaT); error = 1 - exito(result, salidaT); disp([salidaT' result'])

Ejercicio 10 function [entrada,salida] = preparadata(data) nums = round(Cols(data)/8); r = 0; entrada = []; salida = []; for s = 0:9 E1 = []; E2 = []; E3 = []; for i = 1:7 r = r + 1; if 1 <= nums; E1 = [E1, data(r,[ 1: 6])]; end, if 2 <= nums; E2 = [E2, data(r,[ 9:14])]; end; if 3 <= nums; E3 = [E3, data(r,[17:22])]; end; end entrada = [entrada; E1; E2; E3]; salida = [salida ; s*ones(nums,1)]; function E = exito(deseado, resultado) E = sum(1 - sign(abs(deseado - resultado)))/Cols(deseado); function P = pdwup P = pwd; P = P(1,[1:max(findstr(P,'\'))]); function c = Cols(m) [aux, c] = size(m); function r = Rows(m) [r, aux] = size(m);

Ejercicio 11 Diseñe un programa en matlab para determinar el número de neuronas de la capa intermedia que máximize el desempeño de la red. Verifique si a medida que se incrementa el número de neuronas de la capa intermedia el error se reduce. Verifique si a medida que se incrementa el número de épocas el rendimiento se incrementa.

Ejercicio 11 function lab_1b_perceptron_simple % PARAMETROS epochs = 50; goal = 0.001; %DATA ENTRENAMIENTO data = xlsread([pwdup, 'class_data.xls'],3,'C3:P81'); [entrada,salida] = preparadata(data); entrada = entrada'; salida = salida'; % DATA PRUEBA dataT = xlsread([pwdup, 'class_data.xls'],3,'U3:AP81'); [entradaT,salidaT] = preparadata(dataT); entradaT = entradaT'; salidaT = salidaT'; X = [], Y =[]; for neurons = 2:15 error = lab_1b_perceptron_simple_sub(entrada, salida, entradaT, salidaT, neurons, epochs, goal); X = [X; neurons]; Y = [Y; error]; end plot(X, Y);

Ejercicio 11 function error = lab_1b_perceptron_simple_sub(entrada, salida, entradaT, salidaT, neurons, epochs, goal) % DEFINE ARQUITECTURA DE LA RED neuronas1 = Rows(entrada); neuronas2 = neurons; neuronas3 = Rows(salida); %crea la red neuronal Si = [neuronas2 neuronas3]; % neuronas por capa TFi = {'tansig' 'purelin'}; % función transferencia net = newff(minmax(entrada), Si, TFi); net = init(net); % asignar parametros de configuracion a la red net.trainParam.epochs = epochs; net.trainParam.goal = goal; % ENTRENA LA RED net = train(net, entrada, salida); % SIMULACION result = sim(net,entradaT); result = round(result); error = 1 - exito(result, salidaT); disp(['error = ' num2str(error)])

ANALISIS DE LAS ANN

Velocidad de aprendizaje El  maneja la velocidad de aprendizaje. Si es alto la red puede desestabilizarse. Incorporar a la modificación de los pesos, un término que incluya una proporción del último cambio realizado. Este término se denomina momento.  es la contribución del momento.

¿Mínimo local o global? El problema se resuelve utilizando la dirección del gradiente junto con un componente aleatorio que permita salir de los mínimos locales (subiendo en lugar de bajar).

Teorema de Kolmogorov Dada cualquier función continua f: [0 1] n  R m, y = f(x), f puede ser implementada exactamente por una red neuronal de tres capas sin retroalimentación que tiene una capa de entrada de n elementos que unicamente copian las entradas a la siguiente capa, (2n + 1) elementos de procesamiento en la capa intermedia y me elementos de procesamiento en la capa de salida

Sobreajuste y subajuste La red de retropropagación es un método de ajuste de curvas. La red entrenada implementa un mapeo no lineal entre el espacio de entradas y salidas de manera que entradas cercanas entre sí producen salidas cercanas, por lo tanto una ANN es interpolativa. A mayor cantidad de neuronas en la capa oculta, la red puede variar más rápido en respuesta a los cambios de la entrada.

Subajuste La red produce un mapeo mas sencillo de lo que se requiere para implementar la relación entrada/salida Sintoma. Error alto. Solución. Aumentar los ciclos de entrenamiento, más neuronas capa intermedia, más capas

Sobreajuste La red produce un mapeo más complicado de lo que se requiere para implementar la relación entrada/salida. Síntoma. Error ante patrones de entrenamiento pequeño y error ante patrones de prueba alto. Solución. Menos ciclos de entrenamiento, menos capas, menos neuronas

Offset de f’ Las funciones de transferencia sigmoidal o tangente hiperbólica se pueden saturar, se saturan cuando los valores absolutos de sus entradas son grandes. Dado que la derivada participa en la regla de aprendizaje, puede suceder que ya no aprendan. Normalización de datos

EFECTIVIDAD DEL CLASIFICADOR

Validación Cruzada de k-conjuntos características . . . . . . Entrenamiento eficacia 1 Promedio eficacia 2 eficacia 3 eficacia K Experimento 1 Experimento 2 Experimento 3 Experimento K total de ejemplos prueba entrenamiento

Referencias Pattern Classification. R. O.Duda,P. E. Hart, and D.G.Stork. John Wiley & Sons, 2nd ed., 2001. Pattern Recognition and Machine Learning, C. M. Bishop, Springer, 2006. (An additional useful book)

PREGUNTAS

soporto@wiphala.net http://www.wiphala.net/oporto Mg. Samuel Oporto Díaz soporto@wiphala.net http://www.wiphala.net/oporto