2012-09-27 33 views
6

Tengo que escribir un clasificador (modelo de mezcla gaussiana) para utilizarlo en el reconocimiento de acciones humanas. Tengo 4 conjuntos de datos de video, cada uno de ellos contiene 12 acciones que quiero reconocer. Elijo 3 de ellos como conjunto de entrenamiento y 1 de ellos como conjunto de prueba. Para cada cuadro, extraigo 907 características que son mis observaciones. Antes de aplicar el modelo de GM en el conjunto de entrenamiento, ejecuto PCA en él. Entonces considero solo 50 componentes.Visualizar clústeres de modelos de mezclas gaussianas en MATLAB

Construyo el modelo GM con un clúster de cada acción.

gm = gmdistribution.fit(data, cluster_num, 'Options', options, 'CovType','diagonal','Regularize', 1e-10, 'SharedCov', true); 

Ahora quiero tener una retroalimentación visual para entender si la agrupación ha funcionado bien o están mal clasificado los datos.

¿Es posible tener algo como esto? enter image description here

Respuesta

11

No estoy cerca del código que escribí para hacer esto, pero recuerdo qué funciones vale la pena mirar.

Comience aquí con plot_gaussian_ellipsiod. Puede añadir más gmdistribution y ezcontour a terminar con algo como esto:

enter image description here

O, para los datos 3D, se puede usar plot3 y plot_gaussian_ellipsiod:

enter image description here

Cuestiones relacionadas