2012-09-27 20 views
6

Muszę napisać klasyfikator (model z mieszaniną Gaussa), który będzie używany do rozpoznawania akcji ludzkich. Mam 4 zestawy danych wideo, z których każdy zawiera 12 akcji, które chcę rozpoznać. Wybieram 3 z nich jako zestaw treningowy i 1 z nich jako zestaw testowy. Dla każdej ramki wydobywam 907 cech, które są moimi obserwacjami. Zanim zastosuję model GM na zbiorze treningowym, uruchomię na nim PCA. Rozważam tylko 50 komponentów.Wizualizacja klastrów modeli mieszanin Gaussowskich w MATLAB

Buduję model GM z jednym skupiskiem każdej akcji.

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

Teraz chcę mieć wizualnie do zrozumienia, jeśli grupowanie działa dobrze lub dane są błędnie zaklasyfikowana.

Czy to możliwe? Masz coś takiego? enter image description here

Odpowiedz

11

Nie jestem w pobliżu kodu, który napisałem, aby je wykonać, ale pamiętam, na które funkcje warto się przyjrzeć.

Zacznij tutaj z plot_gaussian_ellipsiod. można dodatkowo dodać gmdistribution i ezcontour skończyć z czymś takim:

enter image description here

Albo na 3d danych, można użyć plot3 i plot_gaussian_ellipsiod:

enter image description here