Mapa autoorganizado
A mapa de autoorganización ()SOM) o mapa de autoorganización ()SOFM) es una técnica de aprendizaje automático no supervisada que se utiliza para producir una representación baja (normalmente bidimensional) de un conjunto de datos dimensionales superiores preservando la estructura topológica de los datos. Por ejemplo, un conjunto de datos con p{displaystyle p} variables medida en n{displaystyle n} Las observaciones pueden ser representadas como grupos de observaciones con valores similares para las variables. Estos cúmulos podrían ser visualizados como una "mapa" bidimensional de tal manera que las observaciones en cúmulos proximales tienen valores más similares que las observaciones en cúmulos distales. Esto puede facilitar la visualización y el análisis de datos de alta dimensión.
Un SOM es un tipo de red neuronal artificial, pero se entrena mediante aprendizaje competitivo en lugar del aprendizaje de corrección de errores (por ejemplo, propagación hacia atrás con descenso de gradiente) que utilizan otras redes neuronales artificiales. El SOM fue presentado por el profesor finlandés Teuvo Kohonen en la década de 1980 y, por lo tanto, a veces se lo denomina mapa de Kohonen o red de Kohonen. El mapa o red de Kohonen es una abstracción computacionalmente conveniente que se basa en modelos biológicos de sistemas neuronales de la década de 1970 y modelos de morfogénesis que se remontan a Alan Turing en la década de 1950.

Resumen
Los mapas autoorganizados, como la mayoría de las redes neuronales artificiales, funcionan de dos modos: entrenamiento y mapeo. En primer lugar, el entrenamiento utiliza un conjunto de datos de entrada (el "espacio de entrada") para generar una representación de menor dimensión de los datos de entrada (el "espacio del mapa"). En segundo lugar, el mapeo clasifica los datos de entrada adicionales utilizando el mapa generado.
En la mayoría de los casos, el objetivo del entrenamiento es representar un espacio de entrada con dimensiones p como un espacio de mapa con dos dimensiones. Específicamente, se dice que un espacio de entrada con variables p tiene dimensiones p. Un espacio de mapa consta de componentes llamados "nodos" o "neuronas," que se disponen como una cuadrícula hexagonal o rectangular con dos dimensiones. El número de nodos y su disposición se especifican de antemano en función de los objetivos más amplios del análisis y exploración de los datos.
Cada nodo en el espacio del mapa está asociado con un "peso" vector, que es la posición del nodo en el espacio de entrada. Si bien los nodos en el espacio del mapa permanecen fijos, el entrenamiento consiste en mover los vectores de peso hacia los datos de entrada (reduciendo una métrica de distancia como la distancia euclidiana) sin estropear la topología inducida desde el espacio del mapa. Después del entrenamiento, el mapa se puede usar para clasificar observaciones adicionales para el espacio de entrada al encontrar el nodo con el vector de peso más cercano (métrica de distancia más pequeña) al vector espacial de entrada.
Algoritmo de aprendizaje
El objetivo del aprendizaje en el mapa autoorganizado es hacer que diferentes partes de la red respondan de manera similar a ciertos patrones de entrada. Esto se debe en parte a cómo se maneja la información visual, auditiva u otra información sensorial en partes separadas de la corteza cerebral en el cerebro humano.

Los pesos de las neuronas se inicializan en pequeños valores aleatorios o se muestrean uniformemente del subespacio abarcado por los dos vectores propios de componentes principales más grandes. Con la última alternativa, el aprendizaje es mucho más rápido porque los pesos iniciales ya dan una buena aproximación de los pesos SOM.
La red debe recibir una gran cantidad de vectores de ejemplo que representen, lo más cerca posible, los tipos de vectores esperados durante el mapeo. Los ejemplos generalmente se administran varias veces como iteraciones.
La capacitación utiliza aprendizaje competitivo. Cuando se envía un ejemplo de entrenamiento a la red, se calcula su distancia euclidiana a todos los vectores de peso. La neurona cuyo vector de peso es más similar a la entrada se denomina unidad de mejor coincidencia (BMU). Los pesos de la BMU y las neuronas cercanas a ella en la cuadrícula SOM se ajustan hacia el vector de entrada. La magnitud del cambio disminuye con el tiempo y con la distancia de cuadrícula de la BMU. La fórmula de actualización para una neurona v con vector de peso Wv(s) es
- Wv()s+1)=Wv()s)+Silencio Silencio ()u,v,s)⋅ ⋅ α α ()s)⋅ ⋅ ()D()t)− − Wv()s)){displaystyle W_{v}(s+1)=W_{v}(s)+theta (u,v,s)cdot alpha (s)cdot (D(t)-W_{v}(s)},
donde s es el índice de pasos, t es un índice en la muestra de entrenamiento, u es el índice de la BMU para la entrada el vector D(t), α(s) es un coeficiente de aprendizaje monótonamente decreciente; θ(u, v, s) es la función de vecindad que da la distancia entre la neurona u y la neurona v en el paso s. Dependiendo de las implementaciones, t puede escanear el conjunto de datos de entrenamiento sistemáticamente (t es 0, 1, 2...T-1, luego repetir, T siendo el tamaño de la muestra de entrenamiento), extraerse aleatoriamente del conjunto de datos (muestreo de arranque) o implementar algún otro método de muestreo (como jackknifing).
La función de vecindad θ(u, v, s) (también llamada función de interacción lateral) depende de la distancia de cuadrícula entre la UMB (neurona u) y la neurona v. En la forma más simple, es 1 para todas las neuronas lo suficientemente cercanas a BMU y 0 para las demás, pero las funciones gaussiana y de sombrero mexicano también son opciones comunes. Independientemente de la forma funcional, la función de vecindad se reduce con el tiempo. Al principio, cuando el barrio es amplio, la autoorganización se da a escala global. Cuando el vecindario se ha reducido a solo un par de neuronas, los pesos convergen a las estimaciones locales. En algunas implementaciones, el coeficiente de aprendizaje α y la función de vecindad θ disminuyen constantemente al aumentar s, en otras (en particular aquellas donde t escanea el conjunto de datos de entrenamiento) disminuyen gradualmente, una vez cada T pasos.
Este proceso se repite para cada vector de entrada durante un número (generalmente grande) de ciclos λ. La red termina asociando nodos de salida con grupos o patrones en el conjunto de datos de entrada. Si se pueden nombrar estos patrones, los nombres se pueden adjuntar a los nodos asociados en la red entrenada.
Durante el mapeo, habrá una sola neurona ganadora: la neurona cuyo vector de peso se encuentre más cerca del vector de entrada. Esto se puede determinar simplemente calculando la distancia euclidiana entre el vector de entrada y el vector de peso.
Si bien en este artículo se ha enfatizado la representación de datos de entrada como vectores, cualquier tipo de objeto que pueda representarse digitalmente, que tenga una medida de distancia apropiada asociada y en el que sean posibles las operaciones necesarias para el entrenamiento, puede usarse para construir un mapa auto-organizado. Esto incluye matrices, funciones continuas o incluso otros mapas autoorganizados.
Variables
Estas son las variables necesarias, con vectores en negrita,
- s{displaystyle s} es la iteración actual
- λ λ {displaystyle lambda } es el límite de iteración
- t{displaystyle t} es el índice del vector de datos de entrada objetivo en el conjunto de datos de entrada D{displaystyle mathbf {D}
- D()t){displaystyle {D}(t)} es un vector de datos de entrada objetivo
- v{displaystyle v} es el índice del nodo en el mapa
- Wv{displaystyle mathbf {W} _{v} es el vector de peso actual del nodo v{displaystyle v}
- u{displaystyle u} es el índice de la mejor unidad (BMU) en el mapa
- Silencio Silencio ()u,v,s){displaystyle theta (u,v,s)} es una restricción debido a la distancia de BMU, generalmente llamada la función vecinal, y
- α α ()s){displaystyle alpha (s)} es una restricción de aprendizaje debido al progreso de la iteración.
Algoritmo
- Randomizar los vectores de peso de nodo en un mapa
- Aleatoriamente elige un vector de entrada D()t){displaystyle {D}(t)}
- Traverse cada nodo en el mapa
- Utilice la fórmula de distancia de Euclidean para encontrar la similitud entre el vector de entrada y el vector de peso del nodo del mapa
- Rastrea el nodo que produce la distancia más pequeña (este nodo es la mejor unidad de coincidencia, BMU)
- Actualizar los vectores de peso de los nodos en el barrio del BMU (incluyendo el BMU en sí) tirando de ellos más cerca del vector de entrada
- Wv()s+1)=Wv()s)+Silencio Silencio ()u,v,s)⋅ ⋅ α α ()s)⋅ ⋅ ()D()t)− − Wv()s)){displaystyle W_{v}(s+1)=W_{v}(s)+theta (u,v,s)cdot alpha (s)cdot (D(t)-W_{v}(s)}
- Aumento s{displaystyle s} y repetir del paso 2 mientras <math alttext="{displaystyle ss.λ λ {displaystyle s wonlambda }<img alt="s
Algoritmo alternativo
- Randomizar los vectores de peso de los nodos del mapa
- Traverse cada vector de entrada en el conjunto de datos de entrada
- Traverse cada nodo en el mapa
- Utilice la fórmula de distancia de Euclidean para encontrar la similitud entre el vector de entrada y el vector de peso del nodo del mapa
- Rastrea el nodo que produce la distancia más pequeña (este nodo es la mejor unidad de coincidencia, BMU)
- Actualizar los nodos en el barrio de la BMU (incluyendo la BMU en sí) al acercarlos al vector de entrada
- Wv()s+1)=Wv()s)+Silencio Silencio ()u,v,s)⋅ ⋅ α α ()s)⋅ ⋅ ()D()t)− − Wv()s)){displaystyle W_{v}(s+1)=W_{v}(s)+theta (u,v,s)cdot alpha (s)cdot (D(t)-W_{v}(s)}
- Traverse cada nodo en el mapa
- Aumento s{displaystyle s} y repetir del paso 2 mientras <math alttext="{displaystyle ss.λ λ {displaystyle s wonlambda }<img alt="s
Opciones de inicialización
La selección de pesos iniciales como buenas aproximaciones de los pesos finales es un problema bien conocido para todos los métodos iterativos de redes neuronales artificiales, incluidos los mapas autoorganizados. Kohonen propuso originalmente la iniciación aleatoria de pesos. (Este enfoque se refleja en los algoritmos descritos anteriormente). Más recientemente, la inicialización de componentes principales, en la que los pesos iniciales del mapa se eligen del espacio de los primeros componentes principales, se ha vuelto popular debido a la reproducibilidad exacta de los resultados.
Sin embargo, una cuidadosa comparación de la inicialización aleatoria con la inicialización del componente principal para un mapa unidimensional encontró que las ventajas de la inicialización del componente principal no son universales. El mejor método de inicialización depende de la geometría del conjunto de datos específico. Era preferible la inicialización del componente principal (para un mapa unidimensional) cuando la curva principal que aproximaba el conjunto de datos podía proyectarse de manera univalente y lineal en el primer componente principal (conjuntos cuasilineales). Sin embargo, para conjuntos de datos no lineales, la iniciación aleatoria funcionó mejor.
Interpretación
Hay dos formas de interpretar un SOM. Debido a que en la fase de entrenamiento los pesos de todo el vecindario se mueven en la misma dirección, elementos similares tienden a excitar las neuronas adyacentes. Por lo tanto, SOM forma un mapa semántico donde las muestras similares se mapean juntas y las diferentes separadas. Esto se puede visualizar mediante una matriz U (distancia euclidiana entre vectores de peso de celdas vecinas) del SOM.
La otra forma es pensar en los pesos neuronales como punteros al espacio de entrada. Forman una aproximación discreta de la distribución de muestras de entrenamiento. Más neuronas apuntan a regiones con alta concentración de muestras de entrenamiento y menos donde las muestras son escasas.
SOM puede considerarse una generalización no lineal del análisis de componentes principales (PCA). Se ha demostrado, utilizando datos geofísicos tanto artificiales como reales, que SOM tiene muchas ventajas sobre los métodos convencionales de extracción de características, como las funciones ortogonales empíricas (EOF) o PCA.
Originalmente, SOM no se formuló como una solución a un problema de optimización. Sin embargo, ha habido varios intentos de modificar la definición de SOM y formular un problema de optimización que dé resultados similares. Por ejemplo, los mapas elásticos utilizan la metáfora mecánica de la elasticidad para aproximar las variedades principales: la analogía es una membrana y una placa elásticas.
Ejemplos
Datos de la flor del iris de Fisher
Considere una matriz de nodos n×m, cada uno de los cuales contiene un vector de peso y es consciente de su ubicación en la matriz. Cada vector de peso tiene la misma dimensión que el vector de entrada del nodo. Los pesos pueden establecerse inicialmente en valores aleatorios.
Ahora necesitamos información para alimentar el mapa. Los colores se pueden representar por sus componentes rojo, verde y azul. En consecuencia, representaremos los colores como vectores en el cubo unitario del espacio vectorial libre sobre ℝ generado por la base:
- R = 0255, 0, 0
- G = 0, 255, 0
- B = 0, 0, 255 título
El diagrama mostrado
compara los resultados del entrenamiento en los conjuntos de datos
- 3Colors = [255, 0, 0], [0, 255, 0], [0, 0, 255]
- 8Colors = [0, 0, 0], [255, 0,], [0, 255, 0], [0, 0, 255], [255, 255, 0], [0, 255, 255], [255, 0, 255], [255, 255, 255, 255]
y las imágenes originales. Tenga en cuenta el parecido sorprendente entre los dos.
Del mismo modo, después de entrenar una cuadrícula de neuronas 40×40 durante 250 iteraciones con una tasa de aprendizaje de 0,1 en Fisher's Iris, el mapa ya puede detectar las principales diferencias entre especies.
Otro
- Priorización y selección de proyectos
- Análisis de las facultades sistémicas para la exploración de petróleo y gas
- Análisis del modo y los efectos de falla
- Creación de obras de arte
- Encontrar datos representativos en grandes conjuntos de datos (por ejemplo, especies representativas para comunidades ecológicas, días representativos para modelos de sistemas energéticos).
Alternativas
- El mapa topográfico generativo (GTM) es una alternativa potencial a los SOM. En el sentido de que un GTM requiere explícitamente una cartografía suave y continua del espacio de entrada al espacio de mapa, es la preservación de la topología. Sin embargo, en un sentido práctico, falta esta medida de preservación topológica.
- El mapa autoorganizador de tiempo adaptable (TASOM) red es una extensión de la SOM básica. El TASOM emplea tarifas de aprendizaje adaptables y funciones de barrio. También incluye un parámetro escalador para hacer que la red invariante al escalado, traducción y rotación del espacio de entrada. El TASOM y sus variantes se han utilizado en varias aplicaciones, incluyendo agrupación adaptativa, umbral multinivel, aproximación de espacio de entrada y modelado de contorno activo. Además, se ha propuesto un TASOM o BTASOM de Árbol binario, que se asemeja a un árbol natural binario con nodos compuestos por redes TASOM donde el número de sus niveles y el número de sus nodos se adaptan con su entorno.
- El creciente mapa de autoorganización (GSOM) es una variante creciente del mapa autoorganizador. The GSOM was developed to address the issue of identifying a suitable map size in the SOM. Comienza con un número mínimo de nodos (generalmente cuatro) y crece nuevos nodos en el límite basado en una heurística. Usando un valor llamado factor de propagación, el analista de datos tiene la capacidad de controlar el crecimiento del GSOM.
- El mapas elásticos enfoque prestados de la interpolación de la espalina la idea de minimización de la energía elástica. En el aprendizaje, minimiza la suma de la flexión cuadrática y el estiramiento de energía con los mínimos cuadrados error de aproximación.
- El enfoque conformado que utiliza el mapeo conformal para interponer cada muestra de entrenamiento entre los nodos de la red en una superficie continua. En este enfoque es posible realizar una cartografía sin problemas.
- El mapa orientado y escalable (OS-Map) generaliza la función del vecindario y la selección ganadora. La función homogénea del vecindario gaussiano es reemplazada por la matriz exponencial. Así se puede especificar la orientación ya sea en el espacio del mapa o en el espacio de datos. SOM tiene una escala fija (=1), para que los mapas "describan óptimamente el dominio de la observación". ¿Pero qué hay de un mapa que cubre el dominio dos veces o en los n-folds? Esto implica la concepción de escalar. El OS-Map considera la escala como una descripción estadística de cuántos nodos de mejor ajuste tiene una entrada en el mapa.
Contenido relacionado
Comparación de Java y C++
Conmutador de red
Máquina Z