Está en la página 1de 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

9 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
23 neurona.
IC - Redes Neuronales - 2012
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
29 p sea clasificado como 0 en el futuro.
IC - Redes Neuronales - 2012
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
38 ms rpido
IC - Redes Neuronales - 2012
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
43 para la capa de salida.
IC - Redes Neuronales - 2012
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.
45 Sobreajuste: puede ocurrir. Se debe controlar.
IC - Redes Neuronales - 2012
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.
El entrenamiento contina mientras se reduce
el error de validacin.
Esta es una tcnica muy utilizada para evitar el
48 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
50
IC - Redes Neuronales - 2012
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

También podría gustarte