Aprendizaje Automatizado Redes Neuronales Artificiales Introduccin l l

  • Slides: 36
Download presentation
Aprendizaje Automatizado Redes Neuronales Artificiales

Aprendizaje Automatizado Redes Neuronales Artificiales

Introducción l l Otra forma de emular características propias de los humanos: memorizar y

Introducción l l Otra forma de emular características propias de los humanos: memorizar y asociar hechos. Se aprende de la experiencia. El cerebro humano es el ejemplo más perfecto de sistema capaz de adquirir conocimiento. Se modela artificialmente ese sistema.

Definición l l Una red neuronal es "un nuevo sistema para el tratamiento de

Definición l l Una red neuronal es "un nuevo sistema para el tratamiento de la información, cuya unidad básica de procesamiento está inspirada en la célula fundamental del sistema nervioso humano: la neurona". Las neuronas son un componente relativamente simple pero conectadas de a miles forman un poderoso sistema.

Descripción l l l Unidades de procesamiento que intercambian datos o información. Se utilizan

Descripción l l l Unidades de procesamiento que intercambian datos o información. Se utilizan para reconocer patrones, incluyendo imágenes, manuscritos, tendencias financieras, etc. Tienen la capacidad de aprender y mejorar su funcionamiento.

Fundamentos - El modelo biológico l l El cerebro humano contiene más de cien

Fundamentos - El modelo biológico l l El cerebro humano contiene más de cien millones de neuronas. La clave para el procesamiento de la información son las conecciones entre ellas llamadas sinápsis.

Estructura biológica l l Las dendritas son la vía de entrada de las señales

Estructura biológica l l Las dendritas son la vía de entrada de las señales que se combinan en el cuerpo de la neurona. El axón es el camino de salida de la señal generada por la neurona. En las terminaciones de las sinápsis se encuentran unas vesículas que contienen unas sustancias químicas llamadas neurotransmisores, que propagan señales electroquímicas de una neurona a otra. La neurona es estimulada por sus entradas y cuando alcanza cierto umbral, se dispara o activa pasando una señal hacia el axón.

Estructura artificial Están inspiradas en el cerebro humano.

Estructura artificial Están inspiradas en el cerebro humano.

Elementos de una red neuronal l Se interconectan neuronas en tres tipos de capas:

Elementos de una red neuronal l Se interconectan neuronas en tres tipos de capas: – – – De entrada: reciben estímulos externos. Oculta: elementos internos de procesamiento (se pueden estructurar en varias capas). De salida: reciben la información procesada y retornan la respuesta del sistema al exterior.

Elementos de una red neuronal

Elementos de una red neuronal

Elementos de una red neuronal l l Las neuronas están conectadas por canales unidireccionales

Elementos de una red neuronal l l Las neuronas están conectadas por canales unidireccionales con peso. El peso wij está asociado al canal que conecta la neurona j con la neurona i. La entrada total de la neurona j es netj = Σwijyi. La salida de la neurona j es yj = f(netj). f es la función de activación

Elementos de una red neuronal l l θi representa un desplazamiento o umbral de

Elementos de una red neuronal l l θi representa un desplazamiento o umbral de activación (sesgo o bias). Se puede pensar θi como el peso w 0 i que conecta una neurona imaginaria x 0 con a 0(t) = 1.

Funciones de activación escalón y signo

Funciones de activación escalón y signo

Funciones de activación identidad y lineal-mixta

Funciones de activación identidad y lineal-mixta

Función de activación sigmoidal

Función de activación sigmoidal

Regla de aprendizaje l l l Biológicamente se acepta que la información memorizada en

Regla de aprendizaje l l l Biológicamente se acepta que la información memorizada en el cerebro se relaciona con los valores sinápticos de las conexiones. En las RNA se considera que el conocimiento se encuentra representado en los pesos de las conexiones. El proceso de aprendizaje se basa en cambios en estos pesos.

Formas de conexión entre neuronas l l l Las salidas de las neuronas se

Formas de conexión entre neuronas l l l Las salidas de las neuronas se convierten en entradas de otras neuronas. Cuando ninguna salida de las neuronas es entrada de neuronas del mismo nivel o de niveles precedentes, la red se describe como propagación hacia adelante (feedforward) o unidireccional. En caso contrario la red se describe como propagación hacia atrás (feedback).

Características de las RNA l Topología. – – – l Número de capas. Número

Características de las RNA l Topología. – – – l Número de capas. Número de neuronas por capa. Tipo de conexiones. Normalmente, todas las neuronas de una capa reciben señales de la capa anterior (más cercana a la entrada) y envían su salida a las neuronas de la capa posterior (más cercana a la salida de la red). Tipo de aprendizaje.

Redes feedforward l l Cada círculo representa una neurona. Cada neurona recibe señales desde

Redes feedforward l l Cada círculo representa una neurona. Cada neurona recibe señales desde las neuronas situadas a su izquierda y envía señales a las neuronas situadas a la derecha.

Redes feedforward l Las más conocidas son: – – l Perceptrón Adaline Madaline Backpropagation

Redes feedforward l Las más conocidas son: – – l Perceptrón Adaline Madaline Backpropagation Son útiles en aplicaciones de reconocimiento o clasificación de patrones.

Mecanismo de Aprendizaje l l l Los cambios en el proceso de aprendizaje se

Mecanismo de Aprendizaje l l l Los cambios en el proceso de aprendizaje se reducen a destrucción, modificación y creación de conexiones entre las neuronas. La creación de una conexión implica que el peso de la misma pasa a tener un valor distinto de cero. Una conexión se destruye cuando su valor pasa a ser cero.

Redes con aprendizaje supervisado l l l El tipo de aprendizaje puede ser supervisado

Redes con aprendizaje supervisado l l l El tipo de aprendizaje puede ser supervisado o no supervisado. El proceso de aprendizaje supervisado se realiza mediante el control de un agente externo (supervisor) que determina la respuesta que debería generar la red a partir de una entrada determinada. En el caso de no coincidir se modifican los pesos con el fin de aproximarse al valor deseado.

Aprendizaje por corrección del error. Algoritmo l l Paso 1: Asignar valores aleatorios a

Aprendizaje por corrección del error. Algoritmo l l Paso 1: Asignar valores aleatorios a los pesos de la red. Paso 2: Mientras no se alcance un nivel deseado de predicción: – – Tomar un dato de entrenamiento x y obtener una salida y. Si y no es el valor deseado para x entonces actualizar los pesos.

Regla de aprendizaje delta o MEC l Los algoritmos actualizan los pesos mediante: l

Regla de aprendizaje delta o MEC l Los algoritmos actualizan los pesos mediante: l La variación entre los distintos métodos está en la forma de calcular Δw. l Se define una medida de error para cada patrón de entrenamiento p:

Regla de aprendizaje delta o MEC l Se deben encontrar los wi que minimicen

Regla de aprendizaje delta o MEC l Se deben encontrar los wi que minimicen el error cuadrático: l Para esta regla de aprendizaje, l La idea es definir un vector gradiente

Regla de aprendizaje delta o MEC El error es una función vectorial (vector w

Regla de aprendizaje delta o MEC El error es una función vectorial (vector w de pesos)

Regla de aprendizaje delta o MEC l l l Se debe encontrar la dirección

Regla de aprendizaje delta o MEC l l l Se debe encontrar la dirección que más rápidamente hace disminuir el error E. Algunas fórmulas útiles (función lineal): Las redes Adaline y Madaline utilizan esta regla de aprendizaje.

Regla delta generalizada l l La regla delta se puede aplicar a una capa

Regla delta generalizada l l La regla delta se puede aplicar a una capa de neuronas. Se puede generalizar a más capas. La idea central es que los errores de las unidades ocultas se propagan hacia atrás. Se aplica en la red Backpropagation.

Redes Neuronales - Resumen (I) l l l Capacidad de representación: muy alta. Fronteras

Redes Neuronales - Resumen (I) l l l Capacidad de representación: muy alta. Fronteras de representación no lineales. Legibilidad: ninguna. El modelo resultante consiste en vectores de pesos para las conexiones entre neuronas. Tiempo de cómputo on-line: Rápido. Las operaciones son sumas y multiplicaciones.

Redes Neuronales - Resumen (II) l l Tiempo de cómputo off-line: muy lento. Gran

Redes Neuronales - Resumen (II) l l Tiempo de cómputo off-line: muy lento. Gran cantidad de pesos a ajustar iterativamente. Parámetros a ajustar: complicado. Se debe ajustar la estructura de la red, el tamaño del paso (learning rate), condiciones de terminación, etc. Robustez ante ejemplos de entrenamiento ruidosos: alta. Sobreajuste: puede ocurrir. Se debe controlar.

Neural Network Toolbox (I) >> load house_dataset l La red backpropagation más comunmente utilizada

Neural Network Toolbox (I) >> load house_dataset l La red backpropagation más comunmente utilizada posee una capa oculta con 20 neuronas. >> newff(house. Inputs, house. Targets, 20); l La cantidad de neuronas de entrada tanto como la de salida quedan determinadas por las características del dataset. >> net = train(net, house. Input, house. Targets)

Neural Network Toolbox (II)

Neural Network Toolbox (II)

Neural Network Toolbox (III) l El dataset es dividido aleatoriamente en tres conjuntos: –

Neural Network Toolbox (III) l El dataset es dividido aleatoriamente en tres conjuntos: – – – l l 60% de los datos se utilizan para entrenamiento. 20% de los datos se utilizan para validación. 20% de los datos se utilizan para test. El entrenamiento continúa mientras se reduce el error de validación. Esta es una técnica muy utilizada para evitar el sobreentrenamiento.

Neural Network Toolbox (IV) l Una vez entrenada la red, se la puede utilizar:

Neural Network Toolbox (IV) l Una vez entrenada la red, se la puede utilizar: >> y = sim(net, p); l Para un conjunto de nuevos datos se espera un error similar al calculado para el conjunto de test. l Se puede mejorar la precisión de una red.

Neural Network Toolbox (V) l Se puede inicializar nuevamente la red para volver a

Neural Network Toolbox (V) l Se puede inicializar nuevamente la red para volver a entrenar: >> net. IW{1, 1}(1: 2, 1: 2) -0. 5815 0. 2696 -0. 2799 -0. 4926 >> net = init(net); >> net. IW{1, 1}(1: 2, 1: 2) -0. 0047 0. 2063 0. 4592 -0. 4419

Neural Network Toolbox (VI) l Una segunda estrategia es cambiar el número de capas

Neural Network Toolbox (VI) l Una segunda estrategia es cambiar el número de capas y neuronas internas. – l Se puede agregar como cuarto argumento un arreglo con los nombres de las funciones transferencia a usar en cada capa. Por último, usar datos adicionales generalmente mejora el aprendizaje.

Bibliografía l l l Machine Learning - Tom Mitchell – Mc. Graw. Hill Neural

Bibliografía l l l Machine Learning - Tom Mitchell – Mc. Graw. Hill Neural Network Toolbox (For Use with MATLAB®) Howard Demuth, Mark Beale, Martin Hagan (http: //www. mathworks. com/access/helpdesk/help/pdf_d oc/nnet. pdf). Curso de doctorado "Aprendizaje Automatizado y Data Mining" Grupo de Ingeniería de Sistemas y Automática (Universidad Miguel Hernández) http: //isa. umh. es/asignaturas/aprendizaje/index. html