Sie sind auf Seite 1von 31

Aprendizaje Automatizado

Redes Neuronales
Artificiales
Introduccin
Otra 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.
Definicin
Una red neuronal es "un nuevo 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.
Descripcin
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.
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.


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.
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.
Estructura artificial
La funcin de activacin puede ser
una simple funcin escaln
Elementos de una red neuronal
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.
Elementos de una red neuronal
Elementos de una red neuronal
Las neuronas estn 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 net
j
= w
ij
y
i
.
La salida de la neurona j es y
j
= f(net
j
).

i
representa un desplazamiento o umbral de
activacin (sesgo o bias).
Se puede pensar
i
como el peso w
0i
que conecta una
neurona imaginaria x
0
con a
0
(t) = 1.

Funciones de activacin
Funcin de activacin escaln
Funciones de activacin identidad
y lineal-mixta
Funcin de activacin sigmoidal
Regla 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.
Formas de conexin entre neuronas
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
propagacin hacia adelante (feedforward).
En caso contrario la red se describe como
propagacin hacia atrs (feedback).
Caractersticas de las RNA
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.
Redes feedforward.
Las ms conocidas son:
Perceptrn
Adaline
Madaline
Backpropagation
Son tiles en aplicaciones de reconocimiento o
clasificacin de patrones.
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.
Redes con aprendizaje supervisado
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 debera 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 correccin del
error. Algoritmo
Paso 1: Asignar valores aleatorios a los pesos
de la red.
Paso 2: Mientras no se alcance un nivel
deseado de prediccin:
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
Los algoritmos actualizan los pesos mediante:
w w w A + =
La variacin entre los distintos mtodos est
en la forma de calcular w.
Se define una medida de error para cada
patrn de entrenamiento p:
2
2
1
) (
p p p
y d E =
Regla de aprendizaje delta o MEC
Se deben encontrar los w
i
que minimicen el
error cuadrtico:

= =
e
2
2
1
) (
p p
D p
p
y d E E
Para esta regla de aprendizaje,
i
i
w
E
w
c
c
= A q
La idea es definir un vector gradiente
m
w
E
w
E
w
E
E
c
c
c
c
c
c
= V ,..., ,
2 1
Regla de aprendizaje delta o MEC
Se debe encontrar la direccin en la que este
vector hace menor al error E.
Algunas frmulas tiles (funcin lineal):
i i
w
y
y
E
w
E
c
c

c
c
=
c
c
i
i
x
w
y
=
c
c
) (
p p
y d
y
E
=
c
c
Las redes Adaline y Madaline utilizan esta
regla de aprendizaje.
Regla delta generalizada
La regla delta se puede aplicar a una capa de
neuronas.
Se puede generalizar a ms capas.
La idea central es que los errores de las
unidades ocultas se propagan hacia atrs.
Se aplica en la red Backpropagation.
Neural Network Toolbox
>> 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)
Neural Network Toolbox
Neural Network Toolbox
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
sobreentrenamiento.
Neural Network Toolbox
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.
Neural Network Toolbox
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
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.