Está en la página 1de 31

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  (d  y )
p 1
2
p p 2
Regla de aprendizaje delta o MEC

 Se deben encontrar los wi que minimicen el


error cuadrático:
E E
pD
p
 1
2  (d p
 y p )2

E
 Para esta regla de aprendizaje, wi  
wi
 La idea es definir un vector gradiente
E E E
E  , ,...,
w1 w2 wm
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 E y y E
   xi  ( d p  y p )
wi y wi wi y

 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.

También podría gustarte