Contenido
PalancaTarjeta autoorganizada
El mapa autoorganizado está inspirado en los mapas de características de neuronas en el cerebro formado por células sensibles a las características que proporcionan proyecciones ordenadas entre las capas neuronales, como las que pueden existir en la retina y la cóclea. Por ejemplo, existen mapas de características acústicas que responden a los sonidos a los que un animal está expuesto con mayor frecuencia y mapas tonotópicos que pueden ser responsables de preservar el orden de las resonancias acústicas.
El objetivo de procesamiento de información del algoritmo de mapa autoorganizado es colocar de manera óptima una topología (cuadrícula o retícula) de códigos o prototipos vectoriales en el dominio de las muestras de datos de entrada observados. Se prepara inicialmente un grupo aleatorio de vectores que luego se expone a muestras de entrenamiento. Se utiliza una estrategia en la que el ganador se lo lleva todo en la que se selecciona el vector más similar a un patrón de entrada determinado y, a continuación, el vector seleccionado y los vecinos del vector seleccionado se actualizan para parecerse más al patrón de entrada.
La repetición de este proceso da como resultado la distribución de vectores de libro de códigos en el espacio de entrada que se aproxima a la distribución subyacente de muestras del conjunto de datos de prueba. El resultado es el mapeo de la topología del vector del libro de códigos a la estructura subyacente en las muestras de entrada que se pueden abstraer o visualizar para revelar las características conservadas topológicamente del espacio de entrada en una proyección de baja dimensión.
El mapa autoorganizado se compone de una colección de libros de códigos vectoriales enlazados entre sí en una disposición topológica, generalmente una línea unidimensional o una cuadrícula bidimensional. Los propios vectores del libro de códigos representan prototipos (puntos) dentro del dominio, mientras que la estructura topológica impone un orden entre los vectores durante el proceso de aprendizaje. El resultado es una proyección o aproximación de baja dimensión del dominio del problema que se puede visualizar o de la que se pueden extraer grupos.
El siguiente algoritmo proporciona una pseudocódigo para preparar libros de códigos vectoriales utilizando el método de mapa autoorganizado. Los vectores de libro de códigos se inicializan en pequeños valores de coma flotante o se muestrean del dominio. La unidad de mejor coincidencia (BMU) es el vector de libros de códigos del grupo que tiene la distancia mínima a un vector de entrada. Se debe definir una medida de distancia entre patrones de entrada. Para vectores de valores reales, esta suele ser la distancia euclidiana:
donde n es el número de atributos, x es el vector de entrada y c es un vector de libro de códigos dado.
Los vecinos de la BMU en la estructura topológica de la red se seleccionan utilizando un tamaño de barrio que se reduce linealmente durante el entrenamiento de la red. Luego, la BMU y todos los vecinos seleccionados se ajustan hacia el vector de entrada usando una tasa de aprendizaje que también disminuye linealmente con los ciclos de entrenamiento:
donde c_i(t) es el i-ésimo atributo de un vector de libros de códigos en el tiempo t, learn_rate es la tasa de aprendizaje actual, ax_i es el i-ésimo atributo de un vector de entrada.
La vecindad suele ser cuadrada (llamada burbuja) donde todos los nodos de la vecindad se actualizan usando la misma tasa de aprendizaje para la iteración, o gaussiana donde la tasa de aprendizaje es proporcional a la distancia de la vecindad usando una distribución gaussiana (los vecinos más alejados de la BMU se actualizan menos ).
El mapa autoorganizado (SOM) se diseñó para problemas de aprendizaje no supervisados, como la extracción de funciones, la visualización y la agrupación. Algunas extensiones del enfoque pueden etiquetar vectores de libros de códigos preparados que pueden usarse para la clasificación. El SOM no es paramétrico, lo que significa que no se basa en suposiciones sobre la estructura de la función a la que se aproxima. Los valores reales en los vectores de entrada deben normalizarse de manera que x esté en [0; 1].
La distancia euclidiana se usa comúnmente para medir la distancia entre vectores de valores reales, aunque se pueden usar otras medidas de distancia (como el producto escalar) y se pueden requerir medidas de distancia específicas de datos para atributos no escalares.
Debería haber suficientes iteraciones de entrenamiento para exponer todos los datos de entrenamiento al modelo varias veces. Cuanto más compleja sea la distribución de clases, más vectores de libro de códigos se necesitarán, algunos problemas pueden requerir miles. Se sugieren varias pasadas del algoritmo de entrenamiento SOM para un uso más sólido, donde la primera pasada tiene una alta tasa de aprendizaje para preparar los vectores del libro de códigos y la segunda pasada tiene una baja tasa de aprendizaje y se ejecuta durante un período prolongado (quizás 10 veces más iteraciones) .
El SOM se puede visualizar calculando una Matriz de distancia unificada (U-Matrix) que resalta las relaciones entre los nodos en la topología elegida. El análisis de componentes principales (PCA) o el mapeo de Sammon se pueden utilizar para visualizar solo los nodos en la red sin sus interrelaciones.
Una topología de cuadrícula rectangular 2D se usa típicamente para un SOM, aunque se pueden usar topologías toroidales y esféricas. Las rejillas hexagonales han dado mejores resultados en algunos problemas y se han investigado rejillas de mayor tamaño.
Las posiciones de las neuronas se pueden actualizar de forma incremental o en un patrón por lotes (con cada época expuesta a todas las muestras de entrenamiento). El entrenamiento por lotes generalmente debería dar como resultado una red más estable.
La tasa de aprendizaje y los parámetros de vecindad generalmente disminuyen linealmente con las iteraciones de aprendizaje, aunque se pueden usar funciones no lineales.
