Sensibilidad basada en la historia
Pertenece a la categoría de las redes competitivas o mapas de autoorganización, es decir, con aprendizaje no supervisado de tipo competitivo. Poseen una arquitectura de dos capas (entrada-salida) (una sola capa de conexiones), funciones de activación lineales y flujo de información unidireccional (son redes en cascada). Las unidades de entrada reciben datos continuos normalizados, se normalizan así mismo los pesos de las conexiones con la capa de salida. Tras el aprendizaje de la red, cada patrón de entrada activará una única unidad de salida. En algunos modelos cada entrada puede provocar la activación de un conjunto de unidades de salida, en ese caso estaríamos usando un código demográfico (ver el apartado correspondiente del Aprendizaje no supervisado). El objetivo de este tipo de redes es clasificar los patrones de entrada en grupos de características similares, de manera que cada grupo activará siempre la(s) misma(s) salida(s). Cada grupo de entradas queda representado en los pesos de las conexiones de la unidad de salida triunfante. La unidad de salida ganadora para cada grupo de entradas no se conoce a priori, es necesario averiguarlo después de entrenar a la red.
Una de las cualidades de este tipo de redes es la incorporación a la regla de aprendizaje de cierto grado de sensibilidad con respecto al vecindario o historia. Esto hace que el número de neuronas que no aprenden desaparezca, aumentando así su capacidad de extraer o mapear características topológicas de los datos.
La red mapea el espacio de entrada hacia un espacio de salida con cierto orden topológico, Kohonen propone un método para que este orden se conserve al entrenar la red, la clave está en reducir el tamaño del vecindario de la unidad ganadora en cada ireración.
Indicamos un procedimiento basado en el cálculo de distancias euclídeas sobre los patrones de entrada.
Supongamos que tenemos patrones de entrada N-dimensionales
0. Aleatorizar los pesos de las conexiones. Normalizar los pesos de las conexiones incidentes de cada unidad de salida sobre la unidad: dividir cada conexión por la raíz cuadrada de la suma de los cuadrados de las conexiones de cada unidad. Normalizar igualmente los datos de entrada
donde
X son los vectores de entrada.
donde
h es una pequeña constante positiva
De esta manera conseguimos que los vectores de pesos de la unidad ganadora y de su "vecindario" se parezcan cada vez más al patrón de entrada que hace ganar a esa unidad.
La cuantía de la adaptación se puede escalar de acuerdo a una "función de vecindad" preestablecida L (j,c):
donde
c es el índice de la unidad ganadora
representa
la posición de la neurona j en el espacio de salida. La convergencia del mapa
depende de escoger apropiadamente rj. Una opción es h = 1 / m, siendo m el
número de iteración del proceso de aprendizaje. El tamaño del vecindario (s
) debería decrecer gradualmente.
A medida que avanza el aprendizaje hay que ir reduciendo D y a . Kohonen recomienda empezar con un valor de a cercano a 1 y reducirlo gradualmente hasta 0.1. D puede empezar valiendo la máxima distancia existente entre los pesos de las conexiones al principio y acabar siendo tan pequeño que no quede ninguna unidad en el vecindario de la unidad ganadora. En ese momento solo se entrenará una unidad, que al final tendrá su vector de pesos igual al vector de entrada.
La precisión de la clasificación de los patrones de entrada aumenta con el número de ciclos de aprendizaje. Kohonen recomienda una cantidad de ciclos no inferior a 500 veces el número de neuronas de salida para obtener buenos resultados.
Una vez entrenada, podemos usar a la red para clasificar patrones de entrada similares en el espacio n-dimensional. Una clase o grupo de patrones similares tiende a controlar una neurona específica, que representará el centro de una esfera n-dimensional (de radio unitario, pues normalizamos los datos sobre la unidad). Esa neurona resultará la más activada frente a los patrones más parecidos a su vector de pesos.
Después del aprendizaje, la clasificación consiste en presentar una entrada y seleccionar la unidad más activada, la gandora, mediante la función de Distancia utilizada (gana la más cercana al patrón de entrada). Además, el vector de pesos nos servirá para reconstruir el patrón de entrada.
Una forma de evitar el problema de las unidades que no aprenden es consiste en la incorporación de algún tipo de sensibilidad a la historia o frecuencia en la regla de entrenamiento. Hay dos aproximaciones:
Ejemplo de regla de aprendizaje con sensibilidad en la historia aplicada en la modulación de la tasa de aprendizaje:
donde e (t) es función de la frecuencia con la que la unidad c es seleccionada como ganadora. Dos posible funciones de este tipo son:

dónde uc(t) es el número de veces que la unidad c ha ganado hasta el momento t