Aprendizaje Automatizado
Redes Neuronales
Artificiales
Introducción




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


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



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


El cerebro humano
contiene más de cien
mil millones de
neuronas.
La clave para el
procesamiento de la
información son las
conecciones entre ellas
llamadas sinápsis.
Estructura biológica




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
La función de activación puede ser
una simple función escalón
Elementos de una red neuronal

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




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).
Funciones de activación


θi representa un desplazamiento o umbral de
activación (sesgo o bias).
Se puede pensar θi como el peso w0i que conecta una
neurona imaginaria x0 con a0(t) = 1.
Función de activación escalón
Funciones de activación identidad
y lineal-mixta
Función de activación sigmoidal
Regla de aprendizaje



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



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).
En caso contrario la red se describe como
propagación hacia atrás (feedback).
Características de las RNA

Topología.
–
–
–

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.

Las más conocidas son:
–
–
–
–

Perceptrón
Adaline
Madaline
Backpropagation
Son útiles en aplicaciones de reconocimiento o
clasificación de patrones.
Mecanismo de Aprendizaje



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



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


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

Los algoritmos actualizan los pesos mediante:
w ´ w   w

La variación entre los distintos métodos está
en la forma de calcular Δw.

Se define una medida de error para cada
patrón de entrenamiento p:
E
p

1
2
(d
p
 y )
p
2
Regla de aprendizaje delta o MEC

Se deben encontrar los wi que minimicen el
error cuadrático:
E   E   (d  y )
p
p
1
2
p
2
p D

Para esta regla de aprendizaje,  w i  

La idea es definir un vector gradiente
E 
E
,
E
 w1  w 2
,...,
E
w m
E
wi
Regla de aprendizaje delta o MEC


Se debe encontrar la dirección en la que este
vector hace menor al error E.
Algunas fórmulas útiles (función lineal):
E
w i


E
y

y
y
w i
wi
 xi
E
y
 (d
p
 y )
p
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 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.
Neural Network Toolbox
>> load house_dataset

La red backpropagation más 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 características 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 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

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 precisión 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 número
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.
Descargar

Redes Neuronales Artificiales - Departamento de Sistemas e