Hay un total de recursos sinápticos disponibles y las unidades de salida compiten para activarse (winner-takes-all)
Objetivo: agrupar (clusterizar) los datos de entrada → encontrar clases a partir de las correlaciones de los datos → esto requiere cierto grado de redundancia en los datos
La unidad ganadora $i^*$ maximiza ($\xi$ es el vector de entrada)
$$ h_i = \sum_{j = 0}^n w_{ij}~\xi_j = w_i~\xi $$
se cumple que
$$ w_{i^*}\xi \geq w_i~\xi ~~\forall i $$
o equivalentemente si los pesos están normalizados
$$ |w_{i^*} - \xi| \geq |w_i - \xi| ~~\forall i $$
¿Cómo aprende este tipo de modelo?
Regla general (caso binario $O_i \in \{0, 1\}$)
$$ \Delta w_{i^*j} = \eta~O_i~(\xi_j^\mu - w_{ij}) $$
$\mu$ representa una instancia particular de $\xi$. Notar que sólo se actualizan los pesos de la entrada ganadora.
Algoritmo
Inicializar $w$ aleatoriamente con valores pequeños
Elegir un patrón de entrada $\xi^\mu$ y presentarlo a la red
Hallar la $i^*$ ganadora y actualizar $w_{i^*j}$
Esto acerca el $w_{i^}$ a la entrada $\xi^\mu$ actual, incrementando la posibilidad de que $i^$ sea la unidad ganadora al presentarle a la red entradas parecidas.
Repetir desde el paso 2.
Para que se alcance el equilibrio la muestra debe ser representativa
Funciones de costo
El problema de las unidades muertas: neuronas con $w$ lejos de cualquier entrada
Desventajas con respecto a perceptrones multicapa