Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porCarmelo Cisneros Modificado hace 10 años
1
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 Lima – Enero
2
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
3
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
4
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
5
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.
6
CONOCIMIENTO Y APRENDIZAJE
7
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
8
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.
9
Ejercicio 1 ¿Las computadoras pueden aprender?
¿Dónde tienen dificultades las computadoras?
10
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
11
Ejercicio 2 ¿Conoce algún software o software-hardware que aprenda?
12
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.
13
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.
14
RECONOCIMIENTO DE PATRONES
15
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.
16
Ejercicio 4 ¿Cuál de estos caracteres corresponde al número 3?
¿Para el humano es fácil identificar los números?
17
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 kilómetros por hora, una velocidad superior en unos 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.
18
Ejercicio 5
19
Ejercicio 6 Cierto robot tiene aprendido los siguientes patrones:
Diga la respuesta que entregará el robot cuando se le presente los siguientes patrones.
20
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.
21
NEURONAS NATURALES
22
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 – conexiones por neurona Capacidad basada en las conexiones. Cada neurona es muy compleja.
23
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
24
La Neurona
25
Conexiones Neuronales
Dendritas Axon Señal (Información) Cuerpo Sinapsis
26
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
27
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 segundos entre PAs
28
Los Potenciales de Acción
29
NEURONAS ARTIFICIALES
1 2 3 4 5 7 6 Wij1 Wij2 u1 u2 y1 y2 Wij3
30
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
31
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.
32
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 )
33
. 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 )
34
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)
35
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
36
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 =
37
Ejercicio 7
38
CLASIFICACIÓN DE LA REDES NEURONALES
39
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
40
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.
41
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
42
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)),
43
APLICACIONES
44
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
45
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
46
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
47
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
48
4. Aproximación de curvas
Reconocer el patrón de curvas entregadas como una secuencia de puntos.
49
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
50
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
51
REDES DE NIVEL SIMPLE
52
Perceptrón u2 u1 Separa espacio con hiperplanos
y = f ( w1 u1 + w2 u wn un ), f(s) = { 1 si s0, 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
53
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 =
54
Ejercicio 8 Diga si los siguientes patrones son linealmente separables
55
XOR El perceptron no puede aprender un XOR
56
Aprendizaje Perceptrón
Se aplica la siguiente regla de aprendizaje perceptron: Donde: Es la velocidad de aprendizaje. Es el gradiente
57
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)
58
Aprendizaje Perceptron
La velocidad de aprendizaje, indica el tamaño del salto. pequeño grande
59
DESARROLLO DE APLICACIONES CON REDES NEURONALES
60
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
61
Procedimiento de solución
Definir la arquitectura Parámetros Train Pre-procesamiento Entrenamiento Recolección de datos W Pesos Test Prueba error
62
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;
63
Errores Error de entrenamiento E = |Dtrain - Y|2 / N
Error del clasificador E = 1 – exitos / N E = |Dtest - Y|2 / N
64
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 % -----
65
REDES DE MÚLTIPLE NIVEL
66
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
67
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
68
MAPEADOR UNIVERSAL
69
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
70
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)
71
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
72
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
73
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
74
Mapeo Universal
75
RED DE RETROPROPAGACION
76
Problema no separable linealmente
Se busca obtener un algoritmo más general que permita integrar el aprendizaje entre las dos capas.
77
Problema no separable linealmente
¿Cuál es el tamaño de cada capa?
78
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
79
Retropropagation. Arquitectura
80
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)
81
Función de transferencia
82
Regla de Aprendizaje Si j es una unidad de salida Si no
83
Aprendizaje j i entrada neta a i salida de i error de la salida k
error total regla de aprendizaje η: velocidad de aprendizaje
84
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
85
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.
86
Procedimiento de solución
Definir la arquitectura Parámetros Train Pre-procesamiento Entrenamiento Recolección de datos W Pesos Test Prueba error
87
Arquitectura de la Red 1
88
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'])
89
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);
90
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.
91
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);
92
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)])
93
ANALISIS DE LAS ANN
94
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.
95
¿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).
96
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
97
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.
98
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
99
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
100
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
101
EFECTIVIDAD DEL CLASIFICADOR
102
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
103
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, (An additional useful book)
104
PREGUNTAS
105
soporto@wiphala.net http://www.wiphala.net/oporto
Mg. Samuel Oporto Díaz
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.