La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Introducción a las Redes Neuronales y Aplicaciones

Copias: 1
Redes Perceptron Mg. Samuel Oporto Díaz

Presentaciones similares


Presentación del tema: "Introducción a las Redes Neuronales y Aplicaciones"— Transcripción de la presentación:

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

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


Descargar ppt "Introducción a las Redes Neuronales y Aplicaciones"

Presentaciones similares


Anuncios Google