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