sábado, 10 de mayo de 2014

REDES NEURONALES - MAPAS AUTOORGANIZADOS DE KOHONEN (SOM)

-          ¿Qué es un Mapa Autoorganizado o SOM?
Los mapas autoorganizados o SOM (Self-Organizing Maps), también llamados redes de Kohonen son un tipo de red neuronal no supervisada, competitiva, distribuida de forma regular en una rejilla de, normalmente, dos dimensiones.
Su finalidad es descubrir la estructura subyacente de los datos introducidos en ella. A lo largo del entrenamiento de la red, los vectores de datos son introducidos en cada neurona y se comparan con el vector de peso característico de cada neurona.
La neurona que presenta menor diferencia entre su vector de peso y el vector de datos es la neurona ganadora (o BMU) y ella, y sus vecinas verán modificados sus vectores de pesos.
Este tipo de mapas permiten reducir la dimensionalidad de los vectores de entrada para representarlos mediante una matriz de distancias unificada (U-matriz) generalmente consistente en una matriz 2D, apta para la visualización como una imagen plana.



-          ¿Cuál es la estructura de SOM?
- Matriz de neuronas: Las neuronas se distribuyen de forma regular en una rejilla de dos dimensiones, que pueden ser rectangulares o hexagonales, en las que cada neurona puede tener cuatro o seis vecinos respectivamente.

- Espacio de entrada: Los datos de entrada corresponden a un vector de N componentes por cada atributo que queramos comprar, siendo esta dimensión la misma del vector de pesos sinápticos asociado a cada una de las neuronas de la rejilla.

- Espacio de salida: Corresponde con la posición (2D) en el mapa de cada neurona.

- Relación entre neuronas: Entre todas las neuronas hay una relación de vecindad que es la clave para conformar el mapa durante la etapa de entrenamiento. Esta relación viene dada por una función.


-          ¿Para qué sirven los SOM?
El SOM es, en realidad, un tipo de algoritmo para clasificar observaciones.
Se elige un gran número de clústers 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.
Este proceso es conceptualmente similar al MDS que transforma observaciones similares en puntos cercanos del espacio bidimensional.
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.

-          ¿En qué se usan los SOM?
Aplicación de SOM a la visualización de datos
Las dos características descritas anteriormente hacen especialmente atractivo el uso de SOM.

Para representación de datos:
Reducción de la multidimensionalidad: Podemos representar conjuntos de datos de gran número de atributos en mapas 2D.

Asociación de elementos con atributos similares: Visualmente podemos ver de forma rápida como quedan agrupados elementos que tienen valores próximos entre sí.

Aparte de estas razones a nivel técnico tenemos además muchas ventajas como son:
-   Facilidad de implementación: La implementación de un sistema SOM es relativamente fácil y se adapta perfectamente al modelo de procesado en paralelo por lo que es también muy fácilmente optimizable.
- Abstracción de los datos de entrada: Los SOM son totalmente transparentes a la naturaleza de los datos de entrada, tan solo se limitan a comparar vectores de entrada con los pesos sinápticos de las neuronas de la rejilla. Esto hace que pueda ser usado en gran variedad de problemas sin tener necesidad de cambiar la aplicación base.

- Facilidad de integración con otras técnicas: Esta técnica se puede compaginar con otras técnicas de obtención de conocimiento como pueden ser las redes bayesianas realizando un pre procesado del conjunto de datos.

Recientemente se está produciendo un crecimiento del uso de mapas SOM gracias a su potencia y facilidad de uso para trabajar en campos como la estadística.

Además una vez obtenida el mapa, la representación no tiene por qué limitarse a una rejilla rectangular, como se puede apreciar en la siguiente imagen.

Ilustración 2. Ejemplo de uso de SOM en aplicaciones estadísticas


   -       ¿Cómo se estrenan los Mapas Autoorganizados?
Inicialización de los vectores del mapa de Kohonen. Se puede hacer de muchas formas diferentes: aleatoriamente dentro del rango de variación de cada variable, y con una distribución determinada: uniforme, gaussiana, o bien aleatoriamente con valores pequeños, mucho menores que ese rango de variación; usando vectores del conjunto de entrenamiento, lo cual hace que no tenga uno que preocuparse por el rango de variación; o bien usando algún algoritmo tal como el k-medias, que permite tener ya inicialmente una población de vectores que cubre más o menos el espacio de entrada. Por defecto, lo que se suele hacer es usar vectores del conjunto de entrenamiento, que suele ser el valor por defecto en la mayoría de los programas; normalmente no hay que preocuparse demasiado de esta fase.

Entrenamiento:
  • Se escoge aleatoriamente un vector del conjunto.
  • Se calcula el vector más cercano de entre los del mapa, y se le denomina ganador;
  • Se cambia el valor de ese vector y de otros vectores en su vecindad de forma que se acerquen más al vector de entrada. El tamaño de la vecindad disminuirá a lo largo del entrenamiento; esa es la clave de la autoorganización.
  • Normalmente el entrenamiento se divide en dos fases: una primera en la que la vecindad disminuye, y cuya longitud viene a ser entre 5 y 10 veces el tamaño del conjunto de entrenamiento (una vez más, regla de cocina), y una segunda en la que la vecindad permanece fija (a veces llamada fase de autoorganización), que suele durar entre 50 y 100 veces el tamaño del conjunto de entrenamiento.
  • La tasa de cambio de los vectores ganadores y su vecindad también varía durante el entrenamiento; tiene al principio un valor, y va disminuyendo hasta ser cero al final de la fase. Normalmente, para la primera fase se suele usar una tasa del orden de 0.1, y para la segunda, valores bastante menores (la décima parte, aproximadamente; aunque todas estas cantidades son recetillas de usuario habitual que pueden variar ligeramente en algún problema en particular).
-   Resumiendo:

El entrenamiento consiste en encontrar valores para los pesos sinápticos W.
Para cada paso del entrenamiento (época) se introduce un vector de datos correspondiente a una entrada seleccionada aleatoriamente y se calcula la similitud entre este vector y el peso de cada neurona.
  
La neurona más parecida al vector de entrada será la neurona ganadora (Best-Matching Unit ó BMU). Generalmente se usa la distancia euclídea para medir esta similaridad entre pesos sinápticos.

Tras esto, los vectores de pesos de la BMU y sus vecinos son actualizados de forma que se acercan al vector de entrada.


- En el vídeo podemos observar el avance de la tecnología en el futuro: Un bolígrafo _ LA COMPUTADORA DEL FUTURO

 



No hay comentarios:

Publicar un comentario