Pregunta

Estoy intentando agrupar algunas imágenes dependiendo de los ángulos entre las partes del cuerpo.

Las características extraídas de cada imagen son:

angle1 : torso - torso
angle2 : torso - upper left arm
..
angle10: torso - lower right foot

Por lo tanto los datos de entrada es una matriz de tamaño 1057x10, donde 1057 representa el número de imágenes, y 10 stands para ángulos de partes del cuerpo con torso. Del mismo modo un testset es 821x10 matriz.

Quiero todas las filas de datos de entrada a agruparse con 88 grupos. A continuación, voy a utilizar estos grupos para encontrar qué grupos lo hace caer en TestData?

En un trabajo anterior, he utilizado K-means clustering que es muy sencillo . Sólo pedimos K-medias para agrupar los datos en 88 grupos. Y poner en práctica otro método que calcula la distancia entre cada fila de datos de prueba y los centros de cada clúster, a continuación, elegir los valores más pequeños. Este es el grupo de la fila de datos de entrada correspondiente.

Tengo dos preguntas:

  1. ¿Es posible hacer esto utilizando SOM en MATLAB? Que yo sepa SOM son para el agrupamiento visual. Pero necesito saber la clase real de cada grupo para que más tarde pueda etiquetar mis datos de prueba mediante el cálculo de la cual se agrupan al que pertenece.

  2. ¿Tiene una mejor solución?

¿Fue útil?

Solución

auto-organización mapa (SOM) es un método de agrupación considerada como una variante sin supervisión del href="http://en.wikipedia.org/wiki/Artificial_neural_network" rel="noreferrer"> Red neuronal artificial (ANN) competitivas de aprendizaje técnicas para entrenar la red (nodos compiten entre sí para mostrar la activación más fuerte a unos datos dados)

www.lohninger.com/helpcsuite/kohonen_network _-_ background_information.htm

Se puede pensar en SOM como si consiste en una cuadrícula de nodos interconectados (forma cuadrada, hexagonal, ..), donde cada nodo es un vector de N-dim de pesos (mismo tamaño dimensión que los puntos de datos que queremos cluster).

La idea es simple; dado un vector como entrada a SOM, nos encontramos con el nodo armario para que, a continuación, actualizar sus pesos y los pesos de los nodos vecinos para que se aproximan a la del vector de entrada (de ahí el nombre de auto-organización ). Este proceso se repite para todos los datos de entrada.

plotsompos

Los grupos formados se implícitamente definida por cómo los nodos se organizan y forman un grupo de nodos con pesos similares. Se los puede ver visualmente con facilidad.

plotsomnd

SOM son de una manera similar a la algoritmo K-Means pero diferente en que no imponemos un número fijo de grupos, en vez especificamos el número y forma de los nodos de la red que queremos que se adapte a nuestros datos.

Básicamente cuando se tiene un SOM entrenada, y desea clasificar un nuevo vector de entrada de prueba, sólo tiene que asignarlo al más cercano (distancia como una medida de similitud) nodo en la red ( Mejor unidad de adaptación BMU), y dar como predicción de la clase [mayoría] de los vectores que pertenecen a ese nodo BMU.

plotsomhits

En MATLAB, se puede encontrar un número de cajas de herramientas que implementan SOM:

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top