Mindmap
Kohonen Network
Inhalt der Mindmap
Kohonen Network
¿Que es?
- El SOM es, en realidad, un tipo de algoritmo para clasificar observaciones.
- Se elige un gran número de clusters y se colocan en forma de una red bidimensional. La idea es que los representantes de cada grupo (o pesos, según la notación de Kohonen) estén correlacionados espacialmente, de modo que los puntos más próximos en la rejilla sean más parecidos entre sí que los que estén muy separados.
- Si se discretiza el espacio bidimensional dividiéndolo, por ejemplo, en una rejilla de componentes rectangulares se puede definir una aplicación desde el espacio de alta dimensiones original sobre dicho espacio bidimensional.
- Además, se puede tomar la media de los elementos que se encuentran en cada elemento de la rejilla para definir representantes de las clases de la rejilla. Los representantes que están en clases próximas se parecen entre sí. La idea básica del SOM es, así, proporcionar una versión discreta del MDS.
- Si se discretiza el espacio bidimensional dividiéndolo, por ejemplo, en una rejilla de componentes rectangulares se puede definir una aplicación desde el espacio de alta dimensiones original sobre dicho espacio bidimensional.
- Se elige un gran número de clusters y se colocan en forma de una red bidimensional. La idea es que los representantes de cada grupo (o pesos, según la notación de Kohonen) estén correlacionados espacialmente, de modo que los puntos más próximos en la rejilla sean más parecidos entre sí que los que estén muy separados.
- El SOM es, en realidad, un tipo de algoritmo para clasificar observaciones.
Breve HIstoria
- En 1982 T. Kohonen presentó un modelo de red denominado mapas auto-organizados o SOM (Self-Organizing Maps), basado en ciertas evidencias descubiertas a nivel cerebral. Este tipo de red posee un aprendizaje no supervisado competitivo
Arquitectura del SOM
- Un modelo SOM está compuesto por dos capas de neuronas. La capa de entrada (formada por N neuronas, una por cada variable de entrada) se encarga de recibir y transmitir a la capa de salida la información procedente del exterior. La capa de salida (formada por M neuronas) es la encargada de procesar la información y formar el mapa de rasgos. Normalmente, las neuronas de la capa de salida se organizan en forma de mapa bidimensional
- Las conexiones entre las dos capas que forman la red son siempre hacia delante, es decir, la información se propaga desde la capa de entrada hacia la capa de salida. Cada neurona de entrada i está conectada con cada una de las neuronas de salida j mediante un peso wji. De esta forma, las neuronas de salida tienen asociado un vector de pesos Wj llamado vector de referencia (o codebook), debido a que constituye el vector prototipo (o promedio) de la categoría representada por la neurona de salida j. Así, el SOM define una proyección desde un espacio de datos en alta dimensión a un mapa bidimensional de neuronas.
- Entre las neuronas de la capa de salida, puede decirse que existen conexiones laterales de excitación e inhibición implícitas, pues aunque no estén conectadas, cada una de estas neuronas va a tener cierta influencia sobre sus vecinas. Esto se consigue a través de un proceso de competición entre las neuronas y de la aplicación de una función denominada de vecindad , que produce la topología o estructura del mapa. Las topologías más frecuentes son la rectangular y la hexagonal.
- Las neuronas adyacentes pertenecen a una vecindad Nj de la neurona j. La topología y el número de neuronas permanece fijo desde el principio. El número de neuronas determina la suavidad de la proyección, lo cual influye en el ajuste y capacidad de generalización del SOM.
- Durante la fase de entrenamiento, el SOM forma una red elástica que se pliega dentro de la nube de datos originales. El algoritmo controla la red de modo que tiende a aproximar la densidad de los datos. Los vectores de referencia del codebook se acercan a las áreas donde la densidad de datos es alta. Eventualmente unos pocos vectores el codebook están en áreas donde existe baja densidad de datos.
- Las neuronas adyacentes pertenecen a una vecindad Nj de la neurona j. La topología y el número de neuronas permanece fijo desde el principio. El número de neuronas determina la suavidad de la proyección, lo cual influye en el ajuste y capacidad de generalización del SOM.
- Entre las neuronas de la capa de salida, puede decirse que existen conexiones laterales de excitación e inhibición implícitas, pues aunque no estén conectadas, cada una de estas neuronas va a tener cierta influencia sobre sus vecinas. Esto se consigue a través de un proceso de competición entre las neuronas y de la aplicación de una función denominada de vecindad , que produce la topología o estructura del mapa. Las topologías más frecuentes son la rectangular y la hexagonal.
- Las conexiones entre las dos capas que forman la red son siempre hacia delante, es decir, la información se propaga desde la capa de entrada hacia la capa de salida. Cada neurona de entrada i está conectada con cada una de las neuronas de salida j mediante un peso wji. De esta forma, las neuronas de salida tienen asociado un vector de pesos Wj llamado vector de referencia (o codebook), debido a que constituye el vector prototipo (o promedio) de la categoría representada por la neurona de salida j. Así, el SOM define una proyección desde un espacio de datos en alta dimensión a un mapa bidimensional de neuronas.
- Un modelo SOM está compuesto por dos capas de neuronas. La capa de entrada (formada por N neuronas, una por cada variable de entrada) se encarga de recibir y transmitir a la capa de salida la información procedente del exterior. La capa de salida (formada por M neuronas) es la encargada de procesar la información y formar el mapa de rasgos. Normalmente, las neuronas de la capa de salida se organizan en forma de mapa bidimensional
Principal aplicación
- Los SOMs son útiles para visualizar vistas de baja dimensión de datos de alta dimensión
Principales usos
- el reconocimiento de patrones (voz, texto, imágenes, señales, etc), codificación de datos, compresión de imágenes y resolución de problemas de optimización. También se ha utilizado en robótica, comprobándose su utilidad en el diseño de sistemas para controlar el movimiento de un brazo mecánico en un espacio tridimensional. Se utiliza aquí la red para aprender las magnitudes tensoriales necesarias para moverse en un entorno real, considerando los efectos del desgaste que pueden alterar la dinámica del brazo con el transcurso del tiempo.
Reglas de aprendizaje
- Es de tipo OFF LINE, por lo que se distingue una etapa de aprendizaje y otra de funcionamiento. También utiliza un aprendizaje no supervisado de tipo competitivo. Sólo una neurona de la capa de salida se activa ante la entrada, ajustándose los pesos de las conexiones en función de la neurona que ha resultado vencedora.
- Durante la etapa de entrenamiento, se presenta a la red un conjunto de informaciones de entrada para que ésta establezca, en función de la semejanza entre los datos, las diferentes categorías (una por neurona de salida) que servirán durante la fase de funcionamiento para realizar clasificaciones de nuevos datos que se presenten a la red. Los valores finales de los pesos de las conexiones entre cada neurona de la capa de salida con las de entrada se corresponderán con los valores de los componentes del vector de aprendizaje que consigue activar la neurona correspondiente.
- El aprendizaje no concluye después de presentarle una vez todos los patrones de entrada, sino que habrá que repetir el proceso varias veces para refinar el mapa topológico de salida, de tal forma que cuantas más veces se presenten los datos, tanto más se reducirán las zonas de neuronas que se deben activar ante entradas parecidas, consiguiendo que la red pueda realizar una clasificación más selectiva.
- Durante la etapa de entrenamiento, se presenta a la red un conjunto de informaciones de entrada para que ésta establezca, en función de la semejanza entre los datos, las diferentes categorías (una por neurona de salida) que servirán durante la fase de funcionamiento para realizar clasificaciones de nuevos datos que se presenten a la red. Los valores finales de los pesos de las conexiones entre cada neurona de la capa de salida con las de entrada se corresponderán con los valores de los componentes del vector de aprendizaje que consigue activar la neurona correspondiente.
- Proceso de aprendizaje (algoritmo)
- Paso 1. Un vector x es seleccionado al azar del conjunto de datos y se calcula su distancia (similitud) a los vectores del codebook, usando, por ejemplo, la distancia euclídea: kx − mck = m´ın j {kx − mjk}
- Paso 2. Una vez que se ha encontrado el vector más próximo o BMU (best matching unit) el resto de vectores del codebook es actualizado. El BMU y sus vecinos (en sentido topológico) se mueven cerca del vector x en el espacio de datos. La magnitud de dicha atracción está regida por la tasa de aprendizaje. Mientras se va produciendo el proceso de actualización y nuevos vectores se asignan al mapa, la tasa de aprendizaje decrece gradualmente hacia cero. Junto con ella también decrece el radio de vecindad también. La regla de actualización para el vector de referencia dado i es la siguiente: mj (t + 1) = ½ mj (t) + α(t) (x(t) − mj (t)) j ∈ Nc(t) mj (t) j /∈ Nc(t)
- Los pasos 1 y 2 se van repitiendo hasta que el entrenamiento termina. El número de pasos de entrenamiento se debe fijar antes a priori, para calcular la tasa de convergencia de la función de vecindad y de la tasa de aprendizaje. Una vez terminado el entrenamiento, el mapa ha de ordenarse en sentido topológico: n vectores topológicamente próximos se aplican en n neuronas adyacentes o incluso en la misma neurona
- Paso 2. Una vez que se ha encontrado el vector más próximo o BMU (best matching unit) el resto de vectores del codebook es actualizado. El BMU y sus vecinos (en sentido topológico) se mueven cerca del vector x en el espacio de datos. La magnitud de dicha atracción está regida por la tasa de aprendizaje. Mientras se va produciendo el proceso de actualización y nuevos vectores se asignan al mapa, la tasa de aprendizaje decrece gradualmente hacia cero. Junto con ella también decrece el radio de vecindad también. La regla de actualización para el vector de referencia dado i es la siguiente: mj (t + 1) = ½ mj (t) + α(t) (x(t) − mj (t)) j ∈ Nc(t) mj (t) j /∈ Nc(t)
- Paso 1. Un vector x es seleccionado al azar del conjunto de datos y se calcula su distancia (similitud) a los vectores del codebook, usando, por ejemplo, la distancia euclídea: kx − mck = m´ın j {kx − mjk}
- Es de tipo OFF LINE, por lo que se distingue una etapa de aprendizaje y otra de funcionamiento. También utiliza un aprendizaje no supervisado de tipo competitivo. Sólo una neurona de la capa de salida se activa ante la entrada, ajustándose los pesos de las conexiones en función de la neurona que ha resultado vencedora.
Softwares en los que se han implementado
- En R existen unos comandos básicos, en la librería class, que producen unas salidas gráficas más bien pobres. Mejora bastante la librería kohonen. En Tanagra se tiene, en el menú Clustering, un procedimiento llamado Kohonen-SOM pero es bastante pobre. Su utilización es sencilla: basta seguir los pasos básicos que se seguían en el tema de redes neuronales, usando Tanagra.
Informationen
- Beschreibung
- Mindmap am Kohonen Network, erstellt von Kareem Chanfreau am 13/03/2018.
- Erstellt von
- Kareem Chanfreau
- Aufrufe
- 0
- Bewertung