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?