redes competitivas. características arquitectura: 1 nivel full-connected aprendizaje: no...

Post on 23-Jan-2016

239 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Redes Competitivas

Características

• Arquitectura:

• 1 nivel

• Full-connected

• Aprendizaje:

• no supervisado

• por parejas

• pesos fijos

• Función de activación

• fa = 1 para la/s neurona/s ganadora/s

• fa = 0 para el resto de neuronas

Redes Competitivas

• Normalmente una red asocia:

• En las redes competitivas la salida representa una categoría. Clasifican las entradas en clases.

• En las Redes Competitivas se dispara una (o unas pocas) neuronas.

• La regla es:

“ El ganador se lo lleva todo “

yx f

Redes Competitivas

•Ejemplos:

- MAXNET. Gana 1 neurona.

- SOMBRERO MEJICANO. Ganan varias.

• Los algoritmos de competición implementados con redes normalmente tienen los pesos fijos.

• Las redes competitivas acostumbran a ser no supervisadas.

• Otras redes combinan la competición con el aprendizaje. En estos casos la red competitiva es una subnet.

Aplicaciones de las Redes Competitivas

• Clustering. Clasificación no supervisada.

•Cuantificación vectorial Reducción de dimensiones:

• Extracción de características

• Refuerzo. No se le da un patrón de salida, sino un refuerzo positivo o negativo en función de si el resultado era el esperado o no.

nmcon ),...,,( ),...,,( m 2 1n 2 1 VVVVVV

Maxnet

2

m

11x

2x

mx

11w

22w

mmw

...

21w 12w

2mw mw2

mw11mw

contrariocasoen0

0si)(

xxxfyi

0x

f(x)

La función de activación es:

Algoritmo

1.- Inicialización.

neuronasnmmjisi

jisiij º),

10(

1

ji

jii

ii

tytyfty

xy

)()()1(

)0(

2.-

3.- Repetir el paso 2 hasta que sólo quede una neurona 0 será la ganadora.

El Sombrero Mejicano

ii-5 i-4 i-3 i-2 i-1 i+1 i+2 i+3 i+4 i+5

R1

R2

El Sombrero Mejicano

kkikiiii tywxfty )()1(

Los pesos de la región de cooperación han de ser positivos y los de la región de competición negativos.

0

0)2(

)1(

ij

ij

w

w

El Sombrero Mejicano

mxm

mxx

x

xfyisi

0si

0si0

)(

La función de activación es la función rampa:

0 x

f(x)

m

m

Algoritmo

0

0

,,

2)2(

1)1(

21max

Cw

Cw

RRt

ij

ij

1.- Inicialización.

2.- Cálculo de la salida.

2

1

1

2

1

1 12

1

21 )()()()1(R

Rkki

R

Rkki

R

Rkkii tyCtyCtyCfty

Algoritmo3.- Repetir el paso 2 tmax veces.

Aprendizaje Competitivo

Algoritmo de aprendizaje competitivo

1x

2x

3x

21w

31w

12w

32w

13w23w

33w

22w

11w

14w

24w

34w

Algoritmo competitivo básico. Método distancia euclídea

• Inicializar los pesos a valores aleatorios

• Ajustar , por ejemplo, con (t+1) (t)

• Seleccionar un patrón

• Encontrar la neurona más próxima a por ejemplo con la distancia euclídea

• Actualizar solamente

))(()()1( twxtwtw jp

jj

xp

xp

jw

),( jwxd

jw

Algoritmo competitivo básico. Método producto escalar

'

'

x

xx

)'...''(

'

'

'22

221 n

iii

xxx

x

x

xx

- Inicializar los pesos aleatoriamente

jkwxwx kkjj )cos()cos(

- En este caso dos vectores y son similares cuando:x

jw

- Normalizar entradas y pesos:

'

'

w

ww

)'...''(

''22

221 njjj

ij

j

ijj

xww

w

w

ww

jkwxwx kj

o sea,

Aprendizaje

Es decir,

))(()()1(' twxtwtw ijjj

Se selecciona la unidad ganadora ki y se ajustan sus pesos:

donde 0 < < 1 es el coeficiente de aprendizaje.

)1(

)1()1(

tw

twtw

j

ijj

Los vectores de pesos obtenidos se han de normalizar:

jkkj )cos()cos( 1, jwx

ya que

Ejemplos de Aprendizaje

2w

1w

1w

a)

2x

1x

)(twi

)1( twi

x

))(( twx i

b)

2w

3w

2w

1w

Ejemplo de aprendizaje (método producto escalar)

1x

2x

21w

12w

13w

23w

22w

11w- Tenemos en cuenta esta arquitectura para el siguiente ejemplo de aprendizaje competitivo simple.

- Se han omitido las interconexiones entre neuronas por simplicidad.

),()(

),()(

),()(

23133

22122

21111

wwtw

wwtw

wwtw

),( 21 xxx p

- Consideramos:

Ejemplo de aprendizaje (método producto escalar)

- Inicializamos los pesos aleatoriamente y los normalizamos

)5

3,

5

4()3,4()1(1 w

)1(1w

)5

4,

5

3()4,3()1(3

w

)1(3w

)0,1()0,6()1(2 w)1(2w

Ejemplo de aprendizaje (método producto escalar)- Proporcionamos una entrada:

)1(1w

)1(3w

)1(2w

)1,0(pxpx

- Buscamos el peso más cercano mediante el producto escalar

5

3)1(1 wx p

0)1(2 wx p

5

4)1(3

wx p

- Entrenamos la neurona ganadora donde = 0.5)1(1w

))(()()1(' 111 twxtwtw p ))5

4,

5

2())

5

3,

5

4()1,0((5.0)

5

3,

5

4()2('1 w

- Normalizando conseguimos el nuevo )2(1w

)5

52,

5

5()2( )

5

4,

5

2()2(' 11 ww

norm

)2('1w

)2(1w

Ejemplo de aprendizaje (método producto escalar)- Entramos un segundo patrón x

)3(3w

)2(3w

)2(2w

)0,1(px

px

- Buscamos el peso más cercano mediante el producto escalar

5

5)2(1 wx p

1)2(2 wx p

5

3)2(3 wx p

- Entrenamos la neurona ganadora donde = 0.5)2(3w

))(()()1(' 111 twxtwtw p ))5

2,

5

4())

5

4,

5

3()0,1((5.0)

5

4,

5

3()3('3

w

- Normalizando conseguimos el nuevo )3(3w

)5

5,

5

52()3( )

5

2,

5

4()3(' 33

ww

norm

)2(1w

)3('3w

Ejemplo de aprendizaje (método producto escalar)- Importa el orden con el que damos los patrones a nuestra red?

)1(1w

)3(3w

)3(2w )2(1w

)0,1(2 x

)1,0(1 x

)3(1w

- Se puede apreciar que el resultado del entrenamiento es distinto.

)3(3w

)3(2w

)3(1w

px

px

)0,1(1 x

)1,0(2 x

Comentarios• < 1 es el coeficiente de aprendizaje. Puede ser constante o ir disminuyendo durante el aprendizaje

• Si sólo hubiese un vector por neurona, bastaría con hacer:

•Si se tiene un conjunto de vectores para cada neurona, los pesos han de tender a la media del conjunto de vectores:

xwi

iiii xxwx

}{

)( ii xmediaw

Comentarios

•Inicialización de pesos:

- Mas sencillo si se normalizan pesos y entradas y utilizar como medida el producto escalar.

- Aleatoriedad en la distribución de los pesos problemas de aprendizaje:

1.- Los vectores de una misma clase disparan más de una neurona.

2.- No poder separar dos clases de vectores.

Comentarios

nj

1

- No se puede determinar cómo serán las entradas redistribuir los pesos en función de las entradas;

-Combinación convexa. Inicializar los pesos a:

donde n es el número de entradas.

Las entradas también se modifican:

con inicialmente muy pequeño y aumenta hasta 1.

Así inicialmente las entradas coinciden con los pesos y a medida que se entrena la red las entradas se acercan a sus valores reales y los pesos siguen a una o un grupo de entradas.

• Funciona bien pero es lenta.

)1(1 n

xx ii

Algoritmo K-means Clustering

• Inicializar k prototipos

• Cada cluster se asocia con un prototipo

• Repetir

• Para cada hacer

• Para cada hacer el centroide de las entradas

• Calcular el error

• Hasta que E no decrece o las clases no cambien

),...,( 1 kww

pjkixw ji ,...,1 ,,...,1

iw

jx

iC

iijijij wwxwxCx

próximo más *

iCjj

ii x

Cw

#

1

2

1

iCj

ij

k

i

wxE

iC

Algoritmo K-means Clustering

• Es similar al algoritmo competitivo básico como algoritmo de cluster• Aquí no se actualiza la neurona ganadora sino los centroides de los

clusters• El número de clusters k es fijo, como en el competitivo básico. La

elección de k no es sencilla. • Si se quiere un algoritmo que adapte k podemos penalizar el

aumento. Ek= E . k (coste por cluster)

• Problemas con los mínimos locales. Soluciones no-óptimas

Ejemplo K-means

Mapas de Kohonen

Mapas de Kohonen

Kohonen planteó las redes competitivas por similitud con el sistema nervioso humano:

Formación de mapas autoorganizativos

(Mapas de Kohonen)

• Información biológica Mapas bidimensionales.

• Unidades cercanas Comportamiento Similar / Inverso.

Ex: Mapas Tonotópicos Neuronas próximas detectan sonidos

similares.).

• Las redes de Kohonen tienen 2 características:

1.- Neuronas con conexiones laterales.

2.- Plasticidad sináptica hebbiana.

• Estudios neurobiológicos organización topológica cerebral.

Teuvo Kohonen

Mapas Autoorganizativos de Kohonen1.- Seleccionar la topología que determina la adyacencia de los nodos

2.- Inicializar los pesos con valores pequeños y aleatorios

jw

3.- Inicializar la distancia R(0) > 0 R(t) N

4.- Seleccionar la entrada ix

5.- Calcular la distancia Euclídea

j ),( ij xwd

6.- Seleccionar la “j” cuya “d” es mínima7.- Actualizar los nodos con una distancia topológica < R(t)

)0()1()(0

1)1()(0

))()(()()1(

RtRtR

tt

twxttwtw jijj

8.- t = t+1;

9.- Fin.

Radio de influencia

R=1

R=0

Mapa de Kohonen

• Iterando con el método de Kohonen los pesos se van organizando en una estructura reticular organizada.

Mapa autoorganizativo 2D

Mapa autoorganizativo 1D

Mapa autoorganizativo

Mapa autoorganizativo

Mapa autoorganizativo

Descenso del gradiente

2)(

2

1 j

piijp xwE )( ijwfE

ijij w

Ew

donde

contrariocasoen0

ganasi jxw

w

E iij

ij

• El error para una entrada y la neurona ganadora sólo depende de los pesos:

• El incremento de pesos es:

ix

)( iijij xww )()()1( ijiijij wxtwtw

• La red de Kohonen se puede aplicar a:

- al problema del viajante.

- en combinación con otros tipos de redes.

Counterpropagation

Counterpropagation

Nivel de Kohonen Nivel de Grossberg

1x

lx

.

.

.

g1

g2

g3

gn

gy1

gy2

gy3

gny

nd

3d

2d

1d

.

.

.

.

.

.

k2

km

k1

11w11w

12w

13w

nw1

ky1

kmy

.

.

.

Counterpropagation

•2 Niveles:

- Nivel de Kohonen. No supervisado (competitivo).

- Nivel de Grossberg. Supervisado.

• Es una red supervisada.

• El nivel de Kohonen clasifica y el de Grossberg convierte la salida al formato deseado (LUT adaptativa).

• Se soluciona el problema de que existan varias neuronas para representar una clase.

• Los dos niveles aprenden separadamente.

• No tan fiable como Backpropagation, pero aprende más rápido.

Operación Normal• Nivel de Kohonen.

- “La ganadora se lo lleva todo”.

- Dado un vector de entrada sólo se dispara una neurona ki y el resto quedan inhibidas:

es decir

ijj kkk 0

x

immiii wxxwxwneti

...quetal 11

)0,...,0,1,0,...,0(),...,,,...,( 11 km

ki

ki

kk yyyyy

)( ik

ag wyfy

•Nivel de Grossberg. Funciona de forma normal. La función de activación suele ser lineal.

Aprendizaje

• Nivel de Kohonen. Clasifica las entradas en grupos de similitud que activan la misma neurona (ki).

•Nivel de Grossberg.

1.- Se aplica un vector de entrada (vector de salida del nivel de

Kohonen).

2.- Se calcula la salida.

3.- Se ajustan los pesos que conectan con la neurona de la capa

de Kohonen con salida diferente de 0:

donde es el coeficiente de aprendizaje y es la salida deseada.

iijiijij ktwdtwtw ))((')()1(

'id

top related