RED NERONAL ADALINE

33
UNIDAD III Redes de propagación hacia delante y aprendizaje supervisado 3.2 RED ADALINE 3.2.1 Adaline simple. 3.2.2 Algoritmo LMS .

Transcript of RED NERONAL ADALINE

UNIDAD IIIRedes de propagación hacia

delante y aprendizaje supervisado

3.2 RED ADALINE

3.2.1 Adaline simple.

3.2.2 Algoritmo LMS .

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.

• 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

• 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

• 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

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.

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

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

=

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+ += =

3.2.2 Mínimo Error Cuadratico

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

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 pTk +=

b k 1+ b k 2e k +=

En forma de Matriz:

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

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)

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

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

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–=+=

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=

MATLAB

Neural Network Toolbox

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)

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);

Regla de Aprendizaje en ADALINERegla de Aprendizaje en ADALINE

· ADALINE utiliza un aprendizaje ON 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)

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

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

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

a) ADALINE b) PERCEPTRÓN

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

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 = PRW 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

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;

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

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

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

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

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

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