You are on page 1of 52

Aprendizaje Automatizado

Redes Neuronales Artificiales

Introduccin
Una forma de emular caractersticas propias de los humanos: memorizar y asociar hechos. Se aprende de la experiencia. El cerebro humano es el ejemplo ms perfecto de sistema capaz de adquirir conocimiento. Se modela artificialmente ese sistema.

2
IC - Redes Neuronales - 2012

MODELO NEURONAL ARQUITECTURA DE REDES


3
IC - Redes Neuronales - 2012

Definicin
Una Red Neuronal Artificial (RNA) es un sistema para el tratamiento de la informacin, cuya unidad bsica de procesamiento est inspirada en la clula fundamental del sistema nervioso humano: la neurona. Las neuronas son un componente relativamente simple pero conectadas de a miles forman un poderoso sistema.
4
IC - Redes Neuronales - 2012

Descripcin de las RNA


Unidades de procesamiento que intercambian datos o informacin. Se utilizan para reconocer patrones, incluyendo imgenes, manuscritos, tendencias financieras, etc. Tienen la capacidad de aprender y mejorar su funcionamiento.
5
IC - Redes Neuronales - 2012

Fundamentos - El modelo biolgico


El cerebro humano contiene ms de cien mil millones de neuronas. La clave para el procesamiento de la informacin son las conecciones entre ellas llamadas sinpsis. 6
IC - Redes Neuronales - 2012

Estructura biolgica
Las dendritas son la va de entrada de las seales que se combinan en el cuerpo de la neurona. El axn es el camino de salida de la seal generada por la neurona.

7
IC - Redes Neuronales - 2012

Estructura biolgica
En las terminaciones de las sinpsis se encuentran unas vesculas que contienen unas sustancias qumicas llamadas neurotransmisores, que propagan seales electroqumicas de una neurona a otra. La neurona es estimulada por sus entradas y cuando alcanza cierto umbral, se dispara o activa pasando una seal hacia el axn.
8
IC - Redes Neuronales - 2012

Neurona artificial

IC - Redes Neuronales - 2012

Estructura Artificial
Se interconectan neuronas en tres tipos de capas:

De entrada: reciben estmulos externos. Oculta: elementos internos de procesamiento (se pueden estructurar en varias capas). De salida: reciben la informacin procesada y retornan la respuesta del sistema al exterior.

10
IC - Redes Neuronales - 2012

Una capa de neuronas

11

IC - Redes Neuronales - 2012

Una capa de neuronas


La fila 1 de la matriz de pesos, contiene los pesos de las conexiones que van hacia la primer neurona.

La columna 1 de la matriz de pesos, contiene los pesos de las conexiones que salen desde la primer entrada.

12
IC - Redes Neuronales - 2012

Funciones transferencia

13

IC - Redes Neuronales - 2012

Caractersticas de las RNA


Arquitectura (Topologa).

Nmero de capas. Nmero de neuronas por capa. Tipo de conexiones. Normalmente, todas las neuronas de una capa reciben seales de la capa anterior (ms cercana a la entrada) y envan su salida a las neuronas de la capa posterior (ms cercana a la salida de la red).

Tipo de aprendizaje.
14
IC - Redes Neuronales - 2012

Redes feedforward
Las neuronas de una capa se conectan con las neuronas de la capa siguiente (hacia adelante). Las ms conocidas son:

Perceptrn Adaline Backpropagation

Son tiles en aplicaciones de reconocimiento o clasificacin de patrones.


15
IC - Redes Neuronales - 2012

Mecanismo de Aprendizaje
Biolgicamente se acepta que la informacin memorizada en el cerebro se relaciona con los valores sinpticos 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.
16
IC - Redes Neuronales - 2012

Mecanismo de Aprendizaje
Los cambios en el proceso de aprendizaje se reducen a destruccin, modificacin y creacin de conexiones entre las neuronas. La creacin de una conexin implica que el peso de la misma pasa a tener un valor distinto de cero. Una conexin se destruye cuando su valor pasa a ser cero.
17
IC - Redes Neuronales - 2012

Reglas de Aprendizaje
Una regla de aprendizaje es un procedimiento para modificar los pesos y umbrales de una red. Este proceso tambin puede ser llamado algoritmo de entrenamiento. El aprendizaje puede ser supervisado o no supervisado.
18
IC - Redes Neuronales - 2012

Comportamiento

19
IC - Redes Neuronales - 2012

PERCEPTRN
EL MODELO NEURAL NETWORK TOOLBOX - MATLAB

20

IC - Redes Neuronales - 2012

La neurona perceptrn
Utiliza la funcin transferencia escaln (hardlim). Produce un 1 si la entrada a la funcin es mayor o igual que 0 y produce un 0 en caso contrario. Esto permite clasificar vectores de entrada dividiendo el espacio de entrada en dos regiones.
21
IC - Redes Neuronales - 2012

La neurona perceptrn
Ejemplo:

22
IC - Redes Neuronales - 2012

Arquitectura
La red Perceptrn consiste de una nica capa oculta de S neuronas perceptrn conectadas a R entradas a travs de conexiones con pesos wi,j. Los ndices i y j indican que wi,j es el peso de la conexin desde la j-sima entrada hacia la i-sima neurona.
IC - Redes Neuronales - 2012

23

Creacin de un perceptrn con Matlab


net = newp(PR, S)
PR: matriz de tamao R * 2 donde la fila i indica los valores mnimo y mximo de la i-sima entrada. S: nmero de neuronas en la capa oculta. Ejemplo: net = newp([-2 2; -2 2], 1)

24
IC - Redes Neuronales - 2012

Inicializacin
net = init(net); % pesos y bias en cero net.IW{1, 1} = [3, 4]; net.b{1} = 5; net.inputweights{1, 1}.initFcn = 'rands'; net.biases{1}.initFcn = 'rands';
25
IC - Redes Neuronales - 2012

Simulacin
Para obtener la salida de una red se realiza una simulacin: Ejemplo:
p1 = [1;1]; a1 = sim(net, p1);

26
IC - Redes Neuronales - 2012

Regla de Aprendizaje de la red Perceptrn I


El perceptrn es entrenado con aprendizaje supervisado. Un conjunto de pares de E/S (patrn/target) representan el comportamiento deseado. El objetivo es reducir el error e, que es la diferencia entre el valor deseado t y el resultante a: e = t - a.
27
IC - Redes Neuronales - 2012

Regla de Aprendizaje de la red Perceptrn II


Se puede probar que la regla de aprendizaje del pereptrn converge hacia una solucin en un nmero finito de pasos. La estrategia consiste en modificar el vector w haciendo que ste apunte hacia los patrones cuya salida es 1 y en contra de los patrones cuya salida es 0. learnp es la funcin que realiza el clculo de la variacin de w. 28
IC - Redes Neuronales - 2012

Regla de Aprendizaje de la red Perceptrn III


CASO 1: a = t (e = 0). El vector w no se altera. CASO 2: a = 0 y t = 1 (e = 1). El vector de entrada p se suma a w. Esto provoca que w se cierre hacia p, incrementando la posibilidad de que p sea clasificado como 1 en el futuro. CASO 3: a = 1 y t = 0 (e = -1). A w se le resta el vector de entrada p. Esto provoca que w se aleje de p, incrementando la posibilidad de que p sea clasificado como 0 en el futuro.
IC - Redes Neuronales - 2012

29

Regla de Aprendizaje de la red Perceptrn IV


En consecuencia: W = W + ep' Si consideramos el umbral como un peso cuya entrada siempre es 1 tenemos: b=b+e
30
IC - Redes Neuronales - 2012

Regla de Aprendizaje de la red Perceptrn V


El proceso de encontrar nuevos pesos se repite hasta que el error sea aceptable. Se garantiza la convergencia en un nmero finito de pasos para todos los problemas que pueden ser resueltos por un perceptrn (estos son todos los problemas de clasificacin "linealmente separables").
31
IC - Redes Neuronales - 2012

Entrenamiento I
Se utilizan repetidamente sim y learnp introduciendo entradas al perceptrn y actualizando sus pesos. La funcin que lleva a cabo este loop es llamada train. La funcin train realiza una pasada por todas las entradas calculando para cada una la salida y el error.
32
IC - Redes Neuronales - 2012

Entrenamiento II
Despus de obtener el error para una entrada se realiza el correspondiente ajuste y se introduce la entrada siguiente. Se necesita una pasada posterior por todas las entradas para evaluar si se ha alcanzado el objetivo. Estas pasadas se denominan pocas.
33
IC - Redes Neuronales - 2012

RED ADALINE
REDES LINEALES ADAPTATIVAS

34

IC - Redes Neuronales - 2012

Redes lineales
Son similares al perceptrn pero su funcin transferencia es lineal. Al igual que el perceptrn estas redes resuelven problemas linealmente separables. En este caso minimiza el promedio de los errores al cuadrado. La funcin newlin crea una red lineal.
35
IC - Redes Neuronales - 2012

Arquitectura de la ADAptive LInear NEtwork

36
IC - Redes Neuronales - 2012

Error cuadrtico medio (LMS)


Sea un conjunto de Q entradas y targets:
Se aplican las Q entradas calculando cada error como la diferencia entre el objetivo y la salida. Se desea minimizar el promedio de los cuadrados de estos errores:

37
IC - Redes Neuronales - 2012

Algoritmo LMS (least mean square)


Tambin llamado algoritmo de Widrow-Hoff. La idea es ajustar los pesos para minimizar el mse (mean square error). Cules deben ser los prximos pesos?

e2(w) = (t - a(w))2
El gradiente apunta hacia la direccin de crecimiento ms rpido
IC - Redes Neuronales - 2012

38

Algoritmo LMS (least mean square)

39
IC - Redes Neuronales - 2012

REDES BACKPROPAGATION

40

IC - Redes Neuronales - 2012

Redes Backpropagation I
Son una generalizacin de las redes lineales. Admiten mltiples capas y funciones derivables no lineales. Con una capa sigmoidea y una capa de salida lineal son capaces de aproximar cualquier funcin con un nmero finito de discontinuidades.
41
IC - Redes Neuronales - 2012

Redes Backpropagation II
Utilizan la regla de aprendizaje de Widrow-Hoff con una serie de variaciones. El trmino backpropagation se refiere a cmo se aplica el clculo del gradiente hacia capas anteriores (el nuevo peso deseado en la capa s es el target de la capa s-1). La funcin newff crea una red backpropagation.
42
IC - Redes Neuronales - 2012

Redes Backpropagation III


Las mltiples capas con funciones no lineales permiten que estas redes puedan resolver problemas "no linealmente separables". Una capa de salida con funcin transferencia lineal permite que la red produzca valores ms all del (-1, 1). Si se quiere restringir la salida, por ejemplo al (0, 1) se puede utilizar la funcin sigmoidea para la capa de salida.
IC - Redes Neuronales - 2012

43

Redes Neuronales - Resumen (I)


Capacidad de representacin: muy alta. Fronteras de representacin no lineales. Legibilidad: ninguna. El modelo resultante consiste en vectores de pesos para las conexiones entre neuronas. Tiempo de cmputo on-line: Rpido. Las operaciones son sumas y multiplicaciones.
44
IC - Redes Neuronales - 2012

Redes Neuronales - Resumen (II)


Tiempo de cmputo off-line: muy lento. Gran cantidad de pesos a ajustar iterativamente. Parmetros a ajustar: complicado. Se debe ajustar la estructura de la red, el tamao del paso (learning rate), condiciones de terminacin, etc. Robustez ante ejemplos de entrenamiento ruidosos: alta. Sobreajuste: puede ocurrir. Se debe controlar.
IC - Redes Neuronales - 2012

45

Neural Network Toolbox (I)


>> load house_dataset

La red backpropagation ms comunmente utilizada posee una capa oculta con 20 neuronas.
>> newff(houseInputs, houseTargets, 20);

La cantidad de neuronas de entrada tanto como la de salida quedan determinadas por las caractersticas del dataset.
>> net = train(net, houseInput, houseTargets)

46
IC - Redes Neuronales - 2012

Neural Network Toolbox (II)

47

IC - Redes Neuronales - 2012

Neural Network Toolbox (III)


El dataset es dividido aleatoriamente en tres conjuntos:

60% de los datos se utilizan para entrenamiento. 20% de los datos se utilizan para validacin. 20% de los datos se utilizan para test.

48

El entrenamiento contina mientras se reduce el error de validacin. Esta es una tcnica muy utilizada para evitar el sobreentrenamiento.
IC - Redes Neuronales - 2012

Neural Network Toolbox (IV)


Una vez entrenada la red, se la puede utilizar:
>> y = sim(net, p);

Para un conjunto de nuevos datos se espera un error similar al calculado para el conjunto de test. Se puede mejorar la precisin de una red.
49
IC - Redes Neuronales - 2012

Neural Network Toolbox (V)


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
IC - Redes Neuronales - 2012

50

Neural Network Toolbox (VI)


Una segunda estrategia es cambiar el nmero de capas y neuronas internas.

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.


51
IC - Redes Neuronales - 2012

Bibliografa
Machine Learning - Tom Mitchell McGrawHill Neural Network Toolbox (For Use with MATLAB) - Howard Demuth, Mark Beale. Curso de doctorado "Aprendizaje Automatizado y Data Mining" Grupo de Ingeniera de Sistemas y Automtica (Universidad Miguel Hernndez)
http://isa.umh.es/asignaturas/aprendizaje/index.html

52
IC - Redes Neuronales - 2012

You might also like