2012-09-27 10 views
6

Ich muss einen Klassifikator (Gaussian Mixture Modell) schreiben, um ihn für die Erkennung von menschlichen Aktionen zu verwenden. Ich habe 4 Video-Datensätze, jeder von ihnen enthält 12 Aktionen, die ich erkennen möchte. Ich wähle 3 von ihnen als Trainingssatz und 1 davon als Testset. Für jeden Frame extrahiere ich 907 Features, die meine Beobachtungen sind. Bevor ich das GM-Modell auf dem Trainingssatz anwende, lasse ich PCA darauf laufen. Also ich betrachte nur 50 Komponenten.Gaussian Mixture Modellcluster in MATLAB visualisieren

Ich konstruiere das GM-Modell mit einem Cluster jeder Aktion.

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

Jetzt möchte ich eine visuelle Rückmeldung haben, zu verstehen, wenn das Clustering gut oder die Daten gearbeitet falsch klassifiziert werden.

Ist es möglich, so etwas zu haben? enter image description here

Antwort

11

Ich bin nicht in der Nähe der Code, den ich schrieb, um diese zu machen, aber ich erinnere mich, welche Funktionen es wert sind, zu betrachten.

Beginnen Sie hier mit plot_gaussian_ellipsiod. Sie können weitere gmdistribution und ezcontour hinzufügen mit so etwas zu Ende:

enter image description here

Oder für 3D-Daten, könnten Sie plot3 und plot_gaussian_ellipsiod:

enter image description here