Próbuję zgrupować kilka obrazów w zależności od kątów między częściami ciała.MATLAB: pomoc potrzebna do grupowania samoporządkującej się mapy (SOM)
Cechy z każdego obrazu wyciągnięto to:
angle1 : torso - torso
angle2 : torso - upper left arm
..
angle10: torso - lower right foot
Tak więc dane wejściowe macierzy o rozmiarze 1057x10, gdzie 1057 oznacza liczbę obrazów, a 10 dla kątów blachy z tułowia. Podobnie zestaw testowy to macierz 821x10.
Chcę, aby wszystkie wiersze danych wejściowych były grupowane za pomocą 88 klastrów. Potem użyję tych klastrów, aby znaleźć, do których klastrów wpada TestData?
W poprzedniej pracy użyłem K-Means clustering, co jest bardzo proste. Po prostu poprosiliśmy K-Means, aby zgrupował dane w 88 klastrach. I zaimplementuj inną metodę, która oblicza odległość między każdym wierszem w danych testowych i środkach każdego klastra, a następnie wybierz najmniejsze wartości. Jest to klaster odpowiedniego rzędu danych wejściowych.
Mam dwa pytania:
(1) Czy można to zrobić przy użyciu SOM w MATLAB-ie? AFAIK SOM służą do wizualnego grupowania. Ale muszę znać rzeczywistą klasę każdego klastra, aby później móc oznaczyć moje dane testowe, obliczając, do którego klastra należy.
(2) Czy masz lepsze rozwiązanie?
Dlaczego chcesz dokładnie 88 klastrów? Czym jest SOM? Jaki jest twój problem - czy znajduje on kąty pomiędzy częściami ciała z obrazu, czy jest to algorytm skupienia? –