Tarjeta autoorganizada

Tarjeta 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 celosía) de códigos o prototipos vectoriales en el dominio de las muestras de datos de entrada observadas. Se prepara un grupo inicialmente aleatorio de vectores que luego se expone a muestras de entrenamiento. Se utiliza una estrategia de ganador se lleva todo cuando se selecciona el vector más similar a un patrón de entrada dado, luego 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 las muestras en el conjunto de datos de prueba. El resultado es el mapeo de la topología de los vectores del libro de códigos con la estructura subyacente en las muestras de entrada que se pueden resumir o visualizar para revelar las características preservadas topológicamente del espacio de entrada en una proyección de baja dimensión.

El mapa autoorganizado se compone de una colección de vectores de libro de códigos vinculados 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 de baja dimensión o una aproximación del dominio del problema que se puede visualizar, o del cual 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:

mapa autoorganizado

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 vecindario que disminuye linealmente durante la formación de la red. Luego, la BMU y todos los vecinos seleccionados se ajustan al vector de entrada utilizando una tasa de aprendizaje que también disminuye linealmente con los ciclos de entrenamiento:

mapa autoorganizado

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, un x_i es el i-ésimo atributo de un vector de entrada.

La vecindad es generalmente cuadrada (llamada burbuja) donde todos los nodos de 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 desde la vecindad usando una distribución gaussiana (vecinos más distantes de la UMB están menos actualizados).

mapa autoorganizado

El mapa autoorganizado (SOM) fue diseñado para problemas de aprendizaje no supervisado, como extracción, visualización y agrupación de características. Algunas extensiones del enfoque pueden etiquetar los vectores del libro de códigos preparados que se pueden usar para la clasificación. El SOM no es paramétrico, lo que significa que no se basa en supuestos sobre la estructura de la función que reconcilia. 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 valor real, aunque se pueden usar otras medidas de distancia (como el producto escalar), y es posible que se requieran medidas de distancia específicas de datos para los escalares que no son atributos.

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, se necesitarán más vectores de libro de códigos, algunos problemas pueden requerir miles. Se sugieren múltiples pasadas del algoritmo de entrenamiento de SOM para un uso más robusto, donde la primera pasada tiene una alta tasa de aprendizaje para preparar vectores de libro de códigos y la segunda pasada tiene una baja tasa de aprendizaje y se ejecuta durante mucho tiempo. 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 gradualmente o en un modelo por lotes (cada época se expone a todas las muestras de entrenamiento). El entrenamiento por lotes generalmente debería resultar en 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.

Compartir, repartir