2012-09-27 13 views
6

Devo scrivere un classificatore (modello di miscela gaussiana) da utilizzare per il riconoscimento dell'azione umana. Ho 4 serie di dati video, ognuno dei quali contiene 12 azioni che voglio riconoscere. Ne scelgo 3 come set di allenamento e 1 come set di test. Per ogni frame estraggo 907 funzioni che sono le mie osservazioni. Prima di applicare il modello GM sul set di allenamento, eseguo PCA su di esso. Quindi considero solo 50 componenti.Visualizza i cluster del modello di miscela gaussiana in MATLAB

Costruisco il modello GM con un cluster di ogni azione.

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

Ora voglio avere un feedback visivo per capire se il raggruppamento ha funzionato bene oppure i dati vengono erroneamente classificati.

È possibile avere qualcosa di simile? enter image description here

risposta

11

Non sono vicino al codice che ho scritto per realizzarli, ma ricordo quali funzioni vale la pena guardare.

Inizia qui con plot_gaussian_ellipsiod. È inoltre possibile aggiungere gmdistribution e ezcontour per finire con qualcosa di simile:

enter image description here

Oppure, per i dati 3D, è possibile utilizzare plot3 e plot_gaussian_ellipsiod:

enter image description here