Red neuronal de Kohonen

Las redes neuronales de Kohonen  son una clase de redes neuronales , cuyo elemento principal es la capa de Kohonen . La capa de Kohonen consta de sumadores lineales adaptativos (" neuronas formales lineales "). Como regla general, las señales de salida de la capa de Kohonen se procesan de acuerdo con la regla "El ganador se lleva todo ": la señal más grande se convierte en una, el resto se convierte en cero.

De acuerdo con los métodos para establecer los pesos de entrada de los sumadores y las tareas a resolver, existen muchas variedades de redes de Kohonen [1] . El más famoso de ellos:

Capa de Kohonen

Versión básica

La capa de Kohonen consta de una serie de elementos lineales paralelos. Todos ellos tienen el mismo número de entradas y reciben el mismo vector de señales de entrada en sus entradas . A la salida del enésimo elemento lineal, obtenemos la señal

dónde:

Después de pasar por la capa de elementos lineales, las señales se envían para su procesamiento de acuerdo con la regla "el ganador se lo lleva todo": entre las señales de salida, se busca el máximo ; su numero Finalmente, en la salida, la señal con el número es igual a uno, el resto, a cero. Si se alcanza el máximo simultáneamente para varios , entonces:

"Las neuronas de Kohonen pueden pensarse como un conjunto de bombillas, de modo que para cualquier vector de entrada, una de ellas se enciende" [5] .

Interpretación geométrica

Las capas de Kohonen construidas de la siguiente manera son ampliamente utilizadas: cada ( -ésima) neurona está asociada con un punto en el espacio -dimensional (espacio de señal). Para un vector de entrada , se calculan sus distancias euclidianas a los puntos y "el más cercano obtiene todo": la neurona para la que esta distancia es mínima da uno, el resto son ceros. Cabe señalar que para comparar distancias basta con calcular la función lineal de la señal:

(aquí  está la longitud euclidiana del vector: ). El último término es el mismo para todas las neuronas, por lo que no es necesario encontrar el punto más cercano. El problema se reduce a encontrar el número del mayor de los valores de las funciones lineales:

Así, las coordenadas del punto coinciden con los pesos de la neurona lineal de la capa de Kohonen (con el valor del coeficiente umbral ).

Si se dan puntos , entonces el espacio -dimensional se divide en los correspondientes poliedros de Voronoi-Dirichlet : el poliedro consiste en puntos que están más cerca que otros ( ) [6] .

Redes de cuantización vectorial

El problema de la cuantificación de vectores con vectores de código para un conjunto dado de vectores de entrada se plantea como el problema de minimizar la distorsión durante la codificación, es decir, al reemplazar cada vector del vector de código correspondiente. En la versión básica de las redes de Kohonen, se utiliza el método de mínimos cuadrados y la distorsión se calcula mediante la fórmula

donde consta de aquellos puntos que están más cerca que de otros ( ). En otras palabras, consiste en aquellos puntos codificados por el vector de código .

Si la población se proporciona y se almacena en la memoria, la opción estándar para entrenar la red de Kohonen correspondiente es el método K-means . Este es el método de división:

donde  es el número de elementos en .

A continuación, iteramos. Este método de división converge en un número finito de pasos y proporciona un mínimo local de distorsión.

Si, por ejemplo, el conjunto no está predeterminado, o por alguna razón no está almacenado en la memoria, entonces se usa ampliamente el método en línea. Los vectores de señal de entrada se procesan uno por uno, para cada uno de ellos se encuentra el vector de código más cercano (el "ganador", que "se lleva todo") . Después de eso, este vector de código se vuelve a calcular de acuerdo con la fórmula

¿ Dónde  está el paso de aprendizaje? El resto de los vectores de código no cambian en este paso.

Para garantizar la estabilidad, se utiliza un método en línea con una tasa de aprendizaje decreciente: si  es el número de pasos de aprendizaje, entonces . La función se elige de tal manera que monótonamente en y para que la serie diverja, por ejemplo, .

La cuantización de vectores es una operación mucho más general que la agrupación en clústeres , ya que los clústeres deben estar separados entre sí, mientras que los conjuntos para diferentes vectores de código no son necesariamente clústeres separados. Por otro lado, si hay grupos separables, la cuantificación vectorial puede encontrarlos y codificarlos de manera diferente.

Los mapas autoorganizados de Kohonen

Idea y algoritmo de aprendizaje

El problema de la cuantificación vectorial consiste, en esencia, en la mejor aproximación de todo el conjunto de vectores de datos mediante vectores de código . Sin embargo, los mapas de Kohonen autoorganizados también aproximan los datos con una estructura adicional en el conjunto de vectores de código ( eng. codebook ). Se supone que se especifica a priori una cierta tabla simétrica de "medidas de vecindad" (o "medidas de proximidad") de nodos : para cada par ( ) se determina un número ( ), mientras que los elementos diagonales de la tabla de proximidad son iguales a uno ( ).  

Los vectores de señal de entrada se procesan uno por uno, para cada uno de ellos se encuentra el vector de código más cercano (el "ganador", que "se lleva todo") . Después de eso, todos los vectores de código para los cuales se recalculan mediante la fórmula

¿ Dónde  está el paso de aprendizaje? Los vecinos del vector de código ganador (según la tabla de proximidad dada a priori) se desplazan en la misma dirección que este vector, en proporción a la medida de proximidad.

La mayoría de las veces, una tabla de vectores de código se representa como un fragmento de una red cuadrada en un plano, y la medida de proximidad se determina en función de la distancia euclidiana en el plano.

Los mapas autoorganizados de Kohonen sirven principalmente para la visualización y el análisis de datos inicial ("inteligencia") [7] . Cada punto de datos se asigna al vector de código correspondiente de la red. Es así como se obtiene una representación de datos en un plano (“ mapa de datos ”). Se pueden mostrar muchas capas en este mapa: la cantidad de datos que caen en los nodos (es decir, "densidad de datos"), varias características de los datos, etc. Al mostrar estas capas, el aparato de los sistemas de información geográfica (SIG) es útil. En GIS, el mapa geográfico sirve como sustrato para mostrar capas de información . Un mapa de datos es un sustrato para un conjunto de datos inherentemente arbitrario. El mapa de datos sirve como sustituto del mapa geográfico donde simplemente no existe un mapa geográfico. La diferencia fundamental es la siguiente: en un mapa geográfico, los objetos vecinos tienen coordenadas geográficas similares ; en un mapa de datos, los objetos similares tienen propiedades similares. Con un mapa de datos, puede visualizar datos mientras aplica información complementaria al sustrato (firmas, anotaciones, atributos, colores de información) [7] . El mapa también sirve como modelo de datos de información . Se puede utilizar para llenar lagunas en los datos. Esta capacidad se utiliza, por ejemplo, para resolver problemas de previsión .

Mapas autoorganizados y variedades principales

La idea de los mapas autoorganizados es muy atractiva y ha dado lugar a muchas generalizaciones, sin embargo, estrictamente hablando, no sabemos lo que estamos construyendo: un mapa es el resultado de un algoritmo y no tiene una estructura separada. (“objeto”) definición. Sin embargo, existe una idea teórica similar: las variedades principales [8 ] .  Estas variedades generalizan componentes principales lineales . Se introdujeron como líneas o superficies que pasan por el "medio" de la distribución de datos, utilizando la condición de autoconsistencia : cada punto en la variedad principal es la expectativa condicional de esos vectores que se proyectan (suponiendo , ¿dónde  está la proyección de vecindad? operador en ),

Los mapas autoorganizados se pueden considerar como aproximaciones de variedades principales y son populares como tales [9] .

Mapas elásticos

Un método para aproximar datos multidimensionales basado en minimizar la "energía de deformación elástica" de un mapa inmerso en el espacio de datos fue propuesto por A. N. Gorban en 1996, y posteriormente desarrollado por él junto con A. Yu. Zinoviev, A. A. Rossiev y A. A. Pitenko [7] . El método se basa en la analogía entre el colector principal y una membrana elástica y una placa elástica. En este sentido, es un desarrollo de la idea clásica de spline (aunque los mapas elásticos no son splines multidimensionales).

Sea dado un conjunto de vectores de entrada . Al igual que las redes de cuantización de vectores y los mapas autoorganizados, un mapa elástico se representa como un conjunto de vectores de código (nodos) en el espacio de la señal. El conjunto de datos se divide en clases que consisten en aquellos puntos que están más cerca que otros ( ). Distorsión de codificación

se puede interpretar como la energía total de los resortes de rigidez unitaria que conectan los vectores de datos con los vectores de código correspondientes.

Se establece una estructura adicional en el conjunto de nodos: algunos pares están conectados por "enlaces elásticos" y algunos triples se combinan en "costillas de refuerzo". Denotemos el conjunto de pares conectados por enlaces elásticos como , y el conjunto de triples que forman los rigidizadores como . Por ejemplo, en una red cuadrada, los nodos más cercanos (tanto vertical como horizontalmente) están conectados por enlaces elásticos, y los refuerzos están formados por ternas verticales y horizontales de los nodos más cercanos. La energía de deformación del mapa consta de dos términos:

energía de tracción energía de flexión

donde  son los módulos de elasticidad correspondientes.

La tarea de construir un mapa elástico es minimizar el funcional

Si la división del conjunto de vectores de entrada en clases es fija, entonces la minimización  es un problema lineal con una matriz dispersa de coeficientes. Por lo tanto, en cuanto a las redes de cuantificación vectorial, se aplica el método de división: fijar  - buscar -  buscar datos - buscar  datos  - ... El algoritmo converge a un mínimo (local) .

El método de mapas elásticos permite resolver todos los problemas que resuelven los mapas autoorganizados de Kohonen, sin embargo, tiene mayor regularidad y predictibilidad. A medida que aumenta el módulo de flexión , los mapas elásticos se acercan a los componentes principales lineales. A medida que ambos módulos elásticos disminuyen, se convierten en redes de cuantificación vectorial de Kohonen. Actualmente, los mapas elásticos se utilizan ampliamente para el análisis de datos multivariados en bioinformática . [10] El software correspondiente está publicado y disponible gratuitamente en el sitio web del Instituto Curie ( París ) [11] [12] .

La figura muestra los resultados de la visualización de datos para el cáncer de mama . Estos datos contienen 286 ejemplos que indican el nivel de expresión de 17816 genes [13] . Están disponibles en línea como un caso de prueba ahora clásico para la visualización y el mapeo de datos [14] .

Redes de cuantificación vectorial supervisadas

El problema de la clasificación se está resolviendo . El número de clases puede ser cualquiera. Presentamos el algoritmo para dos clases, y . Inicialmente, para entrenar el sistema, se reciben datos cuya clase es conocida. Tarea: encontrar para la clase una cierta cantidad de vectores de código , y para la clase una cantidad (posiblemente diferente) de vectores de código de tal manera que la red de Kohonen resultante con vectores de código ( combinamos ambas familias) se clasifique de acuerdo con lo siguiente regla de decisión:

si para el vector de señales de entrada el vector de código más cercano ("el ganador", que "se lleva todo" en la capa de Kohonen) pertenece a la familia , entonces pertenece a la clase ; si el vector de código más cercano pertenece a la familia , entonces pertenece a la clase .

Un politopo Voronoi-Dirichlet está asociado con cada vector de código de la familia fusionada . Denotamos estos poliedros , respectivamente. Una clase en el espacio de señales, según la regla de decisión, corresponde a una unión , y una clase corresponde a una unión . La geometría de tales uniones de poliedros puede ser muy compleja (ver la figura para un ejemplo de una posible división en clases).

Las reglas de aprendizaje de red en línea se basan en la regla básica de aprendizaje de red de cuantificación vectorial. Sea la entrada del sistema un vector de señal cuya clase se conoce. Si el sistema lo clasifica correctamente, el vector de código correspondiente se desplaza ligeramente hacia el vector de señal ("recompensa").

Si se clasifica incorrectamente, el vector de código correspondiente se desplaza ligeramente en la dirección opuesta a la señal ("castigo")

¿ Dónde  está el paso de aprendizaje? Para garantizar la estabilidad, se utiliza un método en línea con una tasa de aprendizaje decreciente. También es posible utilizar diferentes pasos para "animar" la decisión correcta y "castigar" la equivocada.

Esta es la versión más simple (básica) del método [15] . Hay muchas otras modificaciones.

Notas

  1. ¿Cuántos tipos de redes Kohonen existen? Archivos de preguntas frecuentes de Internet. Educación en línea . Consultado el 31 de agosto de 2008. Archivado desde el original el 11 de mayo de 2008.
  2. Hecht-Nielsen, R. (1990), Neurocomputación, Lectura, MA: Addison-Wesley, ISBN 0-201-09355-3 .
  3. Kohonen, T. (1989/1997/2001), Self-Organizing Maps, Berlín-Nueva York: Springer-Verlag. Primera edición 1989, segunda tercera edición 1997, edición ampliada 2001, ISBN 0-387-51387-6 , ISBN 3-540-67921-9
  4. Kohonen, T. (1988), Learning Vector Quantization, Neural Networks, 1 (suplemento 1), 303.
  5. Wasserman, F. Ingeniería de neurocomputadoras: teoría y práctica = computación neuronal. teoría y práctica. — M .: Mir, 1992. — 240 p. — ISBN 5-03-002115-9 . Copia archivada (enlace no disponible) . Consultado el 1 de septiembre de 2008. Archivado desde el original el 30 de junio de 2009. 
  6. Diagramas de Voronoi y Delaunay interactivos en tiempo real con código fuente . Consultado el 1 de septiembre de 2008. Archivado desde el original el 1 de septiembre de 2008.
  7. 1 2 3 Zinoviev A. Yu. Visualización de datos multidimensionales . - Krasnoyarsk: Ed. Universidad Técnica Estatal de Krasnoyarsk, 2000. - 180 p.
  8. Disertación de T. Hastie : Hastie T. , Principal curves and Surfaces Archivado el 21 de febrero de 2017 en Wayback Machine , disertación de doctorado, Stanford Linear Accelerator Center, Stanford University, Stanford, California, EE. UU., noviembre de 1984. También en línea PCA Archivado el 7 de noviembre de 2018 en Wayback Machine . El estudio de las variedades principales comenzó con este trabajo.
  9. Yin H. Learning nonlinear principal manifolds by self-organizing maps Archivado el 6 de marzo de 2019 en Wayback Machine , en: Gorban AN et al (Eds.), LNCSE 58, Springer, 2007. ISBN 978-3-540-73749- 0
  10. Gorban AN, Kegl B., Wunsch D., Zinovyev AY (Eds.), Principal Manifolds for Data Visualization and Dimension Reduction , Series: Lecture Notes in Computational Science and Engineering 58, Springer, Berlín - Heidelberg - Nueva York, 2007, XXIV, 340 pág. 82ilus. ISBN 978-3-540-73749-0 (y también en línea Archivado el 16 de marzo de 2019 en Wayback Machine ).
  11. VIMIDA: un applet de Java para la visualización de datos de micromatrices . Consultado el 6 de septiembre de 2008. Archivado desde el original el 9 de octubre de 2008.
  12. ViDaExpert: un software para la visualización de datos vectoriales multidimensionales . Consultado el 6 de septiembre de 2008. Archivado desde el original el 26 de abril de 2012.
  13. Wang Y., Klijn JG, Zhang Y., Sieuwerts AM, Look MP, Yang F., Talantov D., Timmermans M., Meijer-van Gelder ME, Yu J. et al. Perfiles de expresión génica para predecir metástasis a distancia de cáncer de mama primario con ganglios linfáticos negativos. Lancet 365 (2005), 671-679.
  14. Colectores principales para cartografía de datos y reducción de dimensiones, Leicester, Reino Unido, agosto de 2006. Una página web con conjuntos de datos de micromatrices de prueba proporcionados a los participantes del taller . Archivado el 24 de septiembre de 2008 en Wayback Machine .
  15. Fundamentos de DLVQ . Consultado el 7 de noviembre de 2018. Archivado desde el original el 19 de diciembre de 2018.

Véase también