MATLAB: grupowanie w samoorganizującą się mapę (SOM)

Próbuję połączyć kilka obrazów w zależności od kątów między częściami ciała.

Funkcje wyodrębnione z każdego obrazu to:

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

Dlatego dane wejściowe są matrycą o rozmiarze 1057x10, gdzie 1057 oznacza liczbę obrazów, a 10 oznacza kąty części ciała z tułowiem. Podobnie testSet ma macierz 821x10.

Chcę, aby wszystkie wiersze danych wejściowych były zgrupowane w 88 klastrów. Następnie użyję tych klastrów, aby dowiedzieć się, do których klastrów należą TestData?

W poprzedniej pracy użyłemGrupowanie K-Means co jest bardzo proste. Po prostu prosimy K-Means, aby zebrać dane w 88 klastrów. I zaimplementuj inną metodę, która oblicza odległość między każdym wierszem danych testowych a środkami każdego klastra, a następnie wybierz najmniejsze wartości. Jest to klaster odpowiedniego wiersza danych wejściowych.

Mam dwa pytania:

Czy można to zrobić za pomocąSOM w MATLABIE? AFAIK SOM są przeznaczone do wizualnego grupowania. Ale muszę znać rzeczywistą klasę każdego klastra, aby móc później oznaczyć moje dane testowe, obliczając, do którego klastra należy.

Czy masz lepsze rozwiązanie?

questionAnswers(1)

yourAnswerToTheQuestion