Aprendiae Automático y Data Mining Bloque III MÉTODOS DE APRENDIZAJE INDUCTIVO (continuación)
REDES NEURONALES 2
Redes neuronales (I) Red neuronal: método de aprendiae inductivo inspirado en la estructura del cerebro humano. Cerebro humano: Millones de neuronas (0 neuronas) altamente interconectadas. 3 elementos fundamentales en una neurona (simplificada): Cuerpo Axon Dendritas Cuerpo Axon Dendritas Cada neurona se conecta a muchas otras (0 3, 0 4 ). Las conexiones se llaman sinapsis. 3
Redes neuronales (II) Cómo funcionan las conexiones entre neuronas? Cada célula recibe señales (pulsos eléctricos) de las neuronas cercanas a través de sus dendritas. Si el total de las señales recibidas supera un cierto umbral, la neurona se activa y envía a su ve pulsos eléctricos a través de su axon hacia otras células. entradas salida 4
Redes neuronales (III) La velocidad con la que conmutan las neuronas es muy lenta (0 6 veces más lenta que una puerta lógica). Sin embargo, el cerebro es capa de realiar operaciones compleas más rápidamente y más eficientemente que un ordenador (e. Visión artificial frente a visión humana). Cuál es la raón? LA raón se encuentra en el alto grado de paralelismo del cerebro humano (hay millones de neuronas y conexiones). Las redes neuronales artificiales (ANN o NN) están inspiradas en el cerebro humano, y en las múltiples interconexiones entre neuronas. 5
Redes neuronales (IV) Modelo de una neurona artificial: Entrada (x ) Entrada 2 (x 2 ) w w 2 + + + - Umbral (t) Actividad (a) f Salida (y) Entrada N (x N ) w N y f ( a) a a N i N i o x x i i w i w i t r r x w; x 0 ; w 0 t 6
Redes neuronales (V) Función de activación f: Función más sencilla posible: signo. f(a) + - a f ( a) + if if a a < 0 0 Otra función utiliada: sigmoidea (derivable). f(a) + f ( a) + e a a similar: comportamiento todo/nada para valores elevados de. 7
Redes neuronales (VI) Posibles estructuras para la red: Unidireccional (feedforward networs) La información fluye en una única dirección. Muy utiliadas, en general como clasificadores. Recurrentes (feedbac networs) La información se realimenta mediante bucles. No muy utiliadas. Mapas autoorganiados (self organiing maps) La estructura de la red se deforma durante el entrenamiento, intentando adaptarse a los valores de los eemplos de entrenamiento. Muy utiliadas para clustering (detección de grupos de instancias similares). 8
Redes neuronales (VII) Redes unidireccionales Cada círculo representa una neurona. Cada neurona recive señales desde las neuronas situadas a su iquierda y envía señales a las neuronas situadas a su derecha. 9
Redes neuronales (VIII) Redes recurrentes (red de Hopfield) - - - Circulos: neuronas; bloques - : retrasos. Las entradas de una neurona están conectadas con las salidas (retrasadas) de otras neuronas situadas al mismo nivel. 0
Redes neuronales (IX) Mapas autoorganiados (SOMs) Temp. Temp. ANTES DEL ENTRENAMIENTO Vibraciones DESPUÉS DEL ENTRENAMIENTO Vibraciones Eemplo 2D: las neuronas se adaptan a los eemplos. Muy útil para representar información de múltiples dimensiones en una red 2D y visualiar clusters (grupos).
Redes neuronales (X) Eemplo de red unidireccional Temperatura w i Vibraciones w i fallará / no fallará Horas funcion. CAPA DE SALIDA Meses revisión CAPA(S) OCULTAS CAPA DE ENTRADA Estructura en capas. Los pesos w i representan la influencia mutua entre neuronas. Durante el entrenamiento se austan los pesos a los eemplos; pero la estructura permanece fia. 2
Redes neuronales (XI) Entrenamiento de redes unidireccionales Los pesos se austan utiliando las instancias de entrenamiento. Obetivo: predecir la clase correcta para cada instancia de entrenamiento. Solución óptima: imposible de encontrar. Se utilia un proceso iterativo (bacpropagation):. Se eligen pesos aleatoriamente. 2. Se modifican los pesos de acuerdo con los errores de clasificación obtenidos con las instancias de entrenamiento. 3. Se repite el paso 2 mientras: El error supere un cierto nivel. No se sobrepase un número de iteraciones o epochs. 3
Redes neuronales (XII) Posibles problemas en el entrenamiento: Sobreauste cuando el número de iteraciones es demasiado elevado. Mínimos locales para el error, dependiendo de los valores iniciales de los pesos. Parámetros a austar: Número y tamaño de las capas ocultas. Criterio de parada (normalmente 500 epochs). Tasa de aprendiae Momento α η (velocidad de convergencia). (inercia para evitar mínimos locales). Demasiados parámetros: no es fácil conseguir resultados óptimos. 4
Redes neuronales (XIII) El perceptrón simple Red neuronal unidireccional más sencilla posible. Una sóla neurona. Entrada (x ) Entrada 2 (x 2 ) w w 2 + + + - Umbral (x 0,w 0 ) Actividad (a) f Salida (y) Entrada N (x N ) w N y a f ( a ) N x i o i w i r r x w 5
Redes neuronales (XIV) Entrenamiento del perceptrón simple Se define el error para un eemplo a partir de la diferencia entre la actividad (a) y la clase real del eemplo E( w ) 2 ( t a) 2 El error se define como una función de los pesos (vector w). 6
Redes neuronales (XV) Entrenamiento del perceptrón simple Se parte de unos pesos w i aleatorios y se modifican en la dirección que más rápidamente hace disminuir el error -> dirección del gradiente del error. E( w ) E w 0 E, w E, w 2 E,..., w n 7
Redes neuronales (XVI) Eemplo con dos pesos a austar 20 8 6 4 2 error E(w) 0 8 6 4 2 0 3 2 0 peso entrada 2 (w 2 ) E - -2-3 -3-2 - 0 peso entrada (w ) 2 3 8
Redes neuronales (XVII) Actualiación de pesos en cada iteración: w w i w w η Tasa de aprendiae : Pequeña: convergencia lenta. i η η E E w ( w) Grande: puede no alcanarse solución con precisión. Regla general: la tasa se reduce a medida que se realian iteraciones. i 9
20 Redes neuronales (XVIII) Cálculo del gradiente ( ) ( ) ( ) ( ) ( ) ( ) ( ) i i i i x a t x w t w a t a t w a t a t w 2 2
Redes neuronales (XIX) w i w i η ( t a) xi Peso i (nuevo) Entrada i Peso i (iteración anterior) Salida real (etiqueta) Actividad 2
Redes neuronales (XX) problema: mínimos locales 20 8 6 4 2 error E(w) 0 8 6 4 2 0 3 2 0 peso entrada 2 (w 2 ) - -2-3 -3-2 - 0 peso entrada (w ) 2 3 22
Redes neuronales (XXI) Dos posibilidades para el entrenamiento: Incremental (la vista anteriormente): Cada nuevo eemplo de entrenamiento sirve para calcular el error y actualiar los pesos. Los eemplos se pueden utiliar varias veces para hacer tantas iteraciones como se desee. No incremental: En cada iteración se utilian todos los eemplos, y el error se define como la suma de los errores individuales: E( E w w ) i 2... d eemplos d eemplos ( t a ) d ( t a ) ( x ) d d d 2 id 23
Redes neuronales (XXII) El perceptrón multicapa Red neuronal unidireccional más común. Muy utiliado como clasificador. Entrada (x ) w i Entrada 2 (x 2 ) w i Salida () Entrada 3 (x 3 ) CAPA DE SALIDA Entrada N (x N ) CAPA(S) OCULTAS CAPA DE ENTRADA 24
Redes neuronales (XXIII) Normalmente sólo hay una capa oculta. Pero pueden existir varias neuronas de salida. Si el número de clases es superior a 2, hacen falta más neuronas para codificarlo. Entrada (x ) w i w i Entrada 2 (x 2 ) Salida ( ) Entrada 3 (x 3 ) Salida2 ( 2 ) CAPA DE SALIDA Entrada N (x N ) CAPA(S) OCULTAS CAPA DE ENTRADA 25
Redes neuronales (XXIV) El error se define de forma distinta. Debe considerar todas las salidas. Aprendiae incremental (error medido para un eemplo): E salidas 2 ( t ) Aprendiae no incremental (error medido para todos los eemplos): E d eemplos salidas 2 2 ( t ) d d 2 26
Redes neuronales (XXV) Muchos pesos a austar: capa oculta y capa salida x 0 x a y b y 2 x 2 a 2 b 2 2 y N a N b M M x N 27
Redes neuronales (XXVI) Entrenamiento para los pesos de la capa de salida. w i peso de la entrada i de la neurona. w i E salidas 2 E E b w b w i w i E η w ( t ) i i 2 E b y i 28
29 Redes neuronales (XXVII) ( ) ( ) ( ) ( ) ( ) ( ) ( ) i i b b b y t w E e e e b b t t t t E b E b E + + + 2 2
Redes neuronales (XXVIII) w i i ( ) ( ) t y i w + η Peso i (nuevo) Peso i (iteración anterior) Salida real (etiqueta) Salida en iteración anterior Salida intermedia i en iteración anterior 30
Redes neuronales (XXIX) Entrenamiento para los pesos de la capa oculta. w i peso de la entrada i de la neurona. w i E salidas 2 E E a w a w i w i E η w ( t ) i i 2 E a x i 3
32 Redes neuronales (XXX) ( ) ( ) ( ) ( ) ( ) [ ] ( ) i i salidas x y y w t w E y y w... a y w a y y b a b t... b E a b b E a E
Redes neuronales (XXXI) w i i ( t ) ( ) [ ] ( ) w y y xi w + η Peso i (nuevo) Peso i (iteración anterior) Salida real (etiqueta) Salida en iteración anterior Peso (iteración anterior) Salida intermedia en iteración anterior Entrada i 33
Redes neuronales (XXXII) Problema: mínimos locales. Se introduce un elemento de inercia (momento). w i E w ( n) η + α w ( n ) i i α Momento : Intenta mantener la velocidad de modificación de pesos. Puede conseguir que se salten mínimos locales. El momento es austable al igual que la velocidad de convergencia: muchos parámetros. 34
Redes neuronales. Resumen. Capacidad de representación: Muy alta, fronteras de decisión no lineales. 2. Legibilidad: Ninguna, los modelos son pesos para las conexiones. 3. Tiempo de cómputo on-line: Rápido, las operaciones a realiar on-line son básicamente sumas y multiplicaciones. 4. Tiempo de cómputo off-line: Muy lento: auste de pesos en un proceso iterativo. 5. Parámetros a austar: Es complicado austar tanto la estructura de la red como los parámetros de entrenamiento. 6. Robuste ante eemplos de entrenamiento ruidosos: Alta. 7. Sobreauste (overfitting): Puede ocurrir si no se fian adecuadamente los parámetros o se sobreentrena (condiciones de terminación). 35
FUNCIONES DE BASE RADIAL 36
Funciones de base radial (I) Estructura muy similar a una red neuronal. Más fáciles de entrenar. Diferencias: Red neuronal: aproximación de una función a partir de todos los eemplos de entrenamiento. Función de base radial (RBF): aproximación local de una función (sólo se utilian los eemplos de entrenamiento cercanos al eemplo a clasificar). Al ser un método local tiene algunas características comunes con el vecino más cercano: No es robusto ante eemplos de entrenamiento ruidosos. El tiempo de cómputo on-line es algo elevado. 37
Funciones de base radial (II) Estructura básica de una RBF: Funciones núcleo o Kernel K i Entrada (x ) Entrada 2 (x 2 ) w 2 w w 0 Salida y Entrada 3 (x 3 ) w K Entrada N (x N ) ENTRADAS (VALORES ATRIBUTOS) UNIDADES OCULTAS SALIDA 38
Funciones de base radial (III) y ( x) w + ( ) d función distancia. x i valores de atributos del Kernel i. x valores de atributos del eemplo a clasificar. K i función Kernel (Gaussiana en general). w i pesos (a austar). 0 wi i Ki d x, x i número de funciones Kernel. [ ] 39
Funciones de base radial (IV) Cada función Kernel se asocia a un valor para los atributos (a un punto del espacio). En general, deben cubrir todo el espacio, o al menos la ona donde puede haber instancias o eemplos. Atributo 2 K K 2 K 3 K 4 K 5 K 6 K 7 Eemplo con dos atributos K 8 K9 K 0 K Atributo 40
Funciones de base radial (V) Las funciones Kernel deben ser decrecientes con la distancia. En general, son Gaussianas de media x i y variana fia. K i Eemplo con un atributo x i Atributo 4
Funciones de base radial (VI) Clasificación mediante RBF: Sólo afectan al resultado las funciones Kernel próximas al eemplo a clasificar. La proximidad se entiende como similitud de los atributos. Parecido al vecino más cercano. Aproximación local y no global de la función a partir de los eemplos de entrenamiento. Entrenamiento de una RBF: En dos etapas: Se eligen manualmente media y variana de los Kernels. Se austan los pesos a partir de los eemplos. Más rápido (cómputo) que un perceptrón multicapa. Más sencillo austar los parámetros del entrenamiento. 42
Funciones de base radial (VII) Selección del número de funciones Kernel: Posibilidad : Tantas funciones como eemplos de entrenamiento. Cada función centrada sobre un eemplo (medias de las Gaussianas). Variana uniforme (desviaciones típicas de las Gaussianas). Posibilidad 2: Menos funciones que eemplos de entrenamiento. Se utilia cuando el número de eemplos es muy elevado. Los Kernels se distribuyen uniformemente o no según lo estén los eemplos: Atrib. Atrib. K K 2 K 3 K 4 K5 Atrib. 2 Atrib. 2 43
Funciones de base radial. Resumen. Capacidad de representación: Muy alta, similar a un perceptrón multicapa. 2. Legibilidad: Ninguna, como las redes neuronales. 3. Tiempo de cómputo on-line: Más lento que un perceptrón multicapa (se deben calcular distancias a todas las funciones Kernel). 4. Tiempo de cómputo off-line: Más rápido que un perceptrón multicapa. 5. Parámetros a austar: Pocos parámetros, básicamente el número de funciones Kernel. 6. Robuste ante eemplos de entrenamiento ruidosos: Baa por ser un método local. 7. Sobreauste (overfitting): Puede ocurrir si se dimensiona mal (más funciones Kernel que eemplos de entrenamiento). 44
Aprendiae Automático y Data Mining Bloque III MÉTODOS DE APRENDIZAJE INDUCTIVO (continuación) 45