MATLAB: SOM-Clustering (Self-Organizing Map)

Ich versuche, einige Bilder abhängig von den Winkeln zwischen Körperteilen zu gruppieren.

Die aus jedem Bild extrahierten Funktionen sind:

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

Daher sind die Eingabedaten eine Matrix der Größe 1057 x 10, wobei 1057 für die Anzahl der Bilder und 10 für die Winkel der Körperteile mit dem Oberkörper steht. Ebenso ist ein TestSet eine 821x10-Matrix.

Ich möchte, dass alle Zeilen in den Eingabedaten mit 88 Clustern geclustert werden. Dann werde ich diese Cluster verwenden, um herauszufinden, in welche Cluster TestData fällt.

In einer früheren Arbeit habe ich verwendetK-Means Clustering Das ist sehr einfach. Wir bitten K-Means lediglich, die Daten in 88 Cluster zu gruppieren. Implementieren Sie eine weitere Methode, mit der der Abstand zwischen jeder Zeile in den Testdaten und den Mittelpunkten jedes Clusters berechnet wird, und wählen Sie dann die kleinsten Werte aus. Dies ist der Cluster der entsprechenden Eingabedatenzeile.

Ich habe zwei Fragen:

Ist es möglich, dies mitSO M in MATLAB? AFAIK SOMs sind für visuelle Clustering. Aber ich muss die tatsächliche Klasse jedes Clusters kennen, damit ich später meine Testdaten kennzeichnen kann, indem ich berechne, zu welchem ​​Cluster sie gehören.

Hast du eine bessere Lösung?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage