33
UNIDAD VI Redes de propagación hacia delante y aprendizaje supervisado 6.2 RED ADALINE 6.2.1 Adaline simple. 6.2.2 Algoritmo LMS .

RED NEURONAL ADALINE

  • Upload
    escom

  • View
    7.849

  • Download
    5

Embed Size (px)

Citation preview

Page 1: RED NEURONAL ADALINE

UNIDAD VIRedes de propagación hacia

delante y aprendizaje supervisado

6.2 RED ADALINE

6.2.1 Adaline simple.

6.2.2 Algoritmo LMS .

Page 2: RED NEURONAL ADALINE

Introducción

• A finales de los 50’s bernard widrow empezaba a trabajar en redes neuronales, en el tiempo en el que frank rosenblatt desarrollo la regla de aprendizaje del perceptron.

Page 3: RED NEURONAL ADALINE

• En 1960 Widrow y su asesorado Marcian Hoff, presentaron la red ADALINE (adaptive linear neuron), y una regla de aprendizaje la cual denominaron algoritmo LMS (least mean square).

Introducción

Page 4: RED NEURONAL ADALINE

• La red ADALINE es muy similar al perceptron, excepto que su función de transferencia es linear, en vez de escalón.

• Tanto el ADALINE como el perceptron sufren de la misma limitación: solo pueden resolver problemas linealmente separables.

Introducción

Page 5: RED NEURONAL ADALINE

• El algoritmo LMS es más poderoso que la regla de aprendizaje del perceptron.

• La regla del perceptron garantiza la convergencia a una solución que categoriza correctamente el patrón de entrenamiento, pero la red resultante puede ser sensible al ruido ya que frecuentemente el modelo cae cerca de la frontera de decisión.

Diferencias Entre La Regla Del Perceptron Y El Algoritmo LMS

Page 6: RED NEURONAL ADALINE

Diferencias entre . . .

• El algoritmo LMS minimiza el error medio cuadratico, y por consiguiente trata de mover la frontera de decisión tan lejos como sea posible del modelo de entrenamiento.

• El algoritmo LMS ha encontrado muchos más usos que la regla de aprendizaje del perceptron. En esencia en el área del procesamiento digital de señales.

Page 7: RED NEURONAL ADALINE

PERCEPTRON ADALINE

Función deTransferencia ESCALON LINEAL

Resolución de problemas

LinealmenteSeparables

LinealmenteSeparables

Comportamiento conrespecto al

RUIDOSensible al

RuidoMinimiza el

Ruido

Algoritmo deaprendizaje

Regla de aprendizajeDel Perceptron LMS

Diferencias entre . . .

Page 8: RED NEURONAL ADALINE

6.2.1 Red ADALINE

a purel in Wp b+ Wp b+= =

ai pure lin ni purelin wTi p bi+ wT

i p bi+= = =

wi

wi 1

wi 2

wi R

=

Page 9: RED NEURONAL ADALINE

ADALINE de dos entradas

a pure lin n purelin w T1

p b+ wT1

p b+= = =

a w T1 p b+ w1 1 p1 w1 2 p2 b+ += =

Page 10: RED NEURONAL ADALINE

6.2.2 Mínimo Error Cuadrático

p1 t1{ , } p2 t2

{ , } pQ tQ{ , }

Conjunto Entrenamiento:

pq

tqEntrada: Objetivo:

x w1

b= z p

1= a wT

1 p b+= a xT z=

F x E e2 = E t a– 2 E t xT z– 2 = =

Notación:

Mean Square Error:

Donde: E es un valor esperado

Page 11: RED NEURONAL ADALINE

Ecuaciones Importantes en el Algoritmo LMSw

i k 1+ wi k 2 ei k p k +=

b i k 1+ b i k 2e i k +=

W k 1+ W k 2e k pT

k +=

b k 1+ b k 2e k +=

En forma de Matriz:

Donde: es el parámetro de aprendizaje máximo

Page 12: RED NEURONAL ADALINE

Condiciones para la Estabilidad

eig I 2R– 1 2 i

– 1=

Resumiendo, las condiciones de estabilidad son:

1 2i– 1–

i

0Ya que , 1 2i

– 1 .

1 i

para toda i

0 1 max

(donde i es un eigenvalor de R)

Page 13: RED NEURONAL ADALINE

MATLAB

Neural Network Toolbox

Page 14: RED NEURONAL ADALINE

Modelo de una neurona lineal en MATLAB

p(1)

p(2)

p(3)

p(R)

W(1,1)

W(1,R)

1

b

n aa = purelin(w*p+b)a = w*p+b

0

0

1

-1

a

a

b/w

b/wp

n

a = purelin(n)

Page 15: RED NEURONAL ADALINE

INICIALIZACIÓN Y DISEÑOLa función initlin es usada para inicializar los pesos y los bias de la capa lineal con valores positivos y negativos.

[W,b]=initlin(P,T)

Las redes lineales pueden ser diseñadas directamente si se conocen sus vectores de entrada y objetivo por medio de la función solvelin, la cual encuentra los valores de los pesos y el bias sin necesidad de entrenamiento.

[W,b]=solvelin(P,T);

W=solvelin(P,T);

Page 16: RED NEURONAL ADALINE

Regla de Aprendizaje en ADALINERegla de Aprendizaje en ADALINE

· ADALINE utiliza un aprendizaje OFF LINE con supervisión.

· Este aprendizaje es la llamada Regla de Widrow-Hoff (Regla Delta o Regla del Mínimo Error Cuadrático Medio LMS Least Mean Square)

Page 17: RED NEURONAL ADALINE

Regla de Widrow-Hoff

Consiste en hallar el vector de pesos W deseado, único, que deberá asociar cada vector de entrada con su correspondiente valor de salida correcto o deseado.

La regla minimiza el error cuadrático medio definido como:

donde: es la función de errorRRR at

p

RRR

p 1

22 1

Page 18: RED NEURONAL ADALINE

Esta función de error está definida en el espacio de pesos multidimensional para un conjunto de entradas, y la regla de Widrow-Hoff busca el punto de este espacio donde se encuentra el mínimo global.

Con función de activación lineal Con función de activación sigmoidal

Page 19: RED NEURONAL ADALINE

Se utiliza el método de gradiente decreciente para saber en qué dirección se encuentra el mínimo global

de dicha superficie.

Las modificaciones que se realizan a los pesos son proporcionales al gradiente decreciente de la función de error, por lo que cada nuevo punto calculado está

más próximo al punto mínimo.

j

Rj

wlrw

2

Page 20: RED NEURONAL ADALINE

a) ADALINE b) PERCEPTRÓN

Page 21: RED NEURONAL ADALINE

La regla de Widrow-Hoff es implementada realizando cambios a los pesos en la dirección opuesta en la que el error está incrementando y absorbiendo la constante -2 en lr.

En forma de matriz:

Transformando a la expresión del bias (considerando que el bias son pesos con entradas de 1):

)()(),( jpjelrjiW TEplrW

Elrb

Page 22: RED NEURONAL ADALINE

Algoritmo de aprendizaje en ADALINEAlgoritmo de aprendizaje en ADALINE1.1. Se aplica un vector o patrón de entrada PR en las entradas del ADALINE.2.2. Se obtiene la salida lineal aR = WPR y se calcula la diferencia con respecto a la salida deseada: ER =TR-aR

3.3. Se actualizan los pesos: W( t+1 ) = W(t) + lrERPR

4.4. Se repiten los pasos 1 al 3 con todos los vectores de entrada.5.5. Si el error cuadrático medio es un valor reducido aceptable, termina el proceso de aprendizaje, sino, se repite otra vez desde el paso 1 con todos los patrones.

p

RRR p 1

22 1

Page 23: RED NEURONAL ADALINE

ENTRENAMIENTO ADALINE

Ya se explicó la regla de aprendizaje usada para las redes neuronales Adaline, conocida como de Widrow-Hoff, que se aplica sobre un patrón de entrada determinado

El entrenamiento de la red consiste en la aplicación consecutiva de la regla de aprendizaje para un patrón completo de entrenamiento

Page 24: RED NEURONAL ADALINE

ENTRENAMIENTO ADALINE

El entrenamiento comprende la aplicación de la regla de Widrow-Hoff (determinación de las diferencias en los pesos), actualización de los pesos y determinación del error.

Este proceso se realiza por medio de la aplicación de la entrada a la red, para un patrón completo de entrenamiento, o un vector de entrada

Page 25: RED NEURONAL ADALINE

ENTRENAMIENTO ADALINE

Por medio de Matlab, se puede realizar el entrenamiento por medio de learnwh, realizando las funciones siguientes:

A = simulin (P,W,b)E = T - A[dW,db] = learnwh (P,E,lr)W = W + dWb = b + dW

Page 26: RED NEURONAL ADALINE

En MATLAB: E = T - A; [ dW, db ] = learnwh( P, E, lr )

lr es la tasa de aprendizaje. Si es grande, el aprendizaje es rápido, pero si es demasiado grande, el aprendizaje es inestable y puede incrementarse el error. lr = maxlinlr( P ); % si no se utiliza bias lr = maxlinlr( P, ‘bias’ ); %si se utiliza bias

W = W + dW; b = b + db;

Page 27: RED NEURONAL ADALINE

ENTRENAMIENTO ADALINE

Sin embargo, si se procede por medio de las funciones anteriores, es necesario realizar un número de repeticiones suficiente para hacer que el error calculado sea igual a cero a través de la aplicación de la regla W-H para un patrón completo de entrenamiento

Page 28: RED NEURONAL ADALINE

ENTRENAMIENTO ADALINE

En Matlab, se puede realizar el proceso de entrenamiento de una capa de red lineal adaline por medio de la función

trainwh():

Esta función aplica repetidamente entradas a la red lineal, calcula el error en base al vector objetivo, y asigna pesos y umbrales

Page 29: RED NEURONAL ADALINE

ENTRENAMIENTO ADALINELa sintaxis de la función es:

tp = [disp_frec max_epoch err_goal lr ]

[W,b,ep,tr] = trainwh(W,b,P,T,tp)

tp es un parámetro que indica la frecuencia de progreso en el entrenamiento, el máximo de repeticiones, el error mínimo permisible y la tasa de aprendizaje (ver Aprendizaje) y puede contener valores nulos o NAN.

La función regresa los pesos W, los umbrales b, el número de repeticiones usado ep y un registro del error de entrenamiento tr

Page 30: RED NEURONAL ADALINE

Ejercicio:

R E ppT 12---p1p1

T 12---p2p2

T+==

R12---

1–

11–

1– 1 1–12---

1

11–

1 1 1–+1 0 0

0 1 1–0 1– 1

= =

1

1.0 2

0.0 3

2.0===

1

m a x

------------1

2.0------- 0.5==

p1

1–

11–

t1 1–= =

p2

1

11–

t2 1= =

Plátano Manzana

Page 31: RED NEURONAL ADALINE

Iteración: 1

e 0 t 0 a 0 t1 a 0 1– 0 1–=–=–=–=

W 1 W 0 2e 0 pT 0 +=

W 1 0 0 0 2 0.2 1– 1–

11–

T

0.4 0.4– 0.4=+=

a 0 W 0 p 0 W 0 p1 0 0 01–1

1–

0====Plátano

Page 32: RED NEURONAL ADALINE

Iteración: 2

Manzana a 1 W 1 p 1 W 1 p2 0.4 0.4– 0.4

1

11–

0.4–====

e 1 t 1 a 1 t2 a 1 1 0.4– 1.4=–=–=–=

W 2 0.4 0.4– 0.4 2 0.2 1.4 1

1

1–

T

0.96 0.16 0.16–=+=

Page 33: RED NEURONAL ADALINE

Iteración: 3

a 2 W 2 p 2 W 2 p1 0.96 0.16 0.16–

1–

1

1–

0.64–====

e 2 t 2 a 2 t1 a 2 1– 0.64– 0.36–=–=–=–=

W 3 W 2 2 e 2 pT 2 + 1.1040 0.0160 0.0160–= =

W 1 0 0=