J'essaie de regrouper certaines images en fonction des angles entre les parties du corps.MATLAB: aide nécessaire avec la mise en grappe SOM (Self-Organizing Map)
Les caractéristiques extraites à partir de chaque image sont:
angle1 : torso - torso
angle2 : torso - upper left arm
..
angle10: torso - lower right foot
Par conséquent, les données d'entrée est une matrice de taille 1057x10, où 1057 représente le nombre d'images, et 10 représente les angles des parties du corps avec le torse. De même, un testSet est une matrice de 821 x 10.
Je souhaite que toutes les lignes des données d'entrée soient regroupées avec 88 grappes. Ensuite, je vais utiliser ces clusters pour trouver les clusters dans lesquels TestData se situe?
Dans un travail précédent, j'ai utilisé K-Means clustering ce qui est très simple. Nous demandons simplement à K-Means de regrouper les données en 88 groupes. Et implémentez une autre méthode qui calcule la distance entre chaque ligne dans les données de test et les centres de chaque cluster, puis choisissez les plus petites valeurs. C'est le cluster de la ligne de données d'entrée correspondante.
J'ai deux questions:
(1) Est-il possible de le faire en utilisant SOM dans Matlab? AFAIK SOM sont pour le regroupement visuel. Mais j'ai besoin de connaître la classe réelle de chaque grappe pour pouvoir ensuite étiqueter mes données de test en calculant à quel groupe elle appartient.
(2) Avez-vous une meilleure solution?
Pourquoi voulez-vous exactement 88 clusters? Qu'est-ce que SOM? Quel est votre problème? Trouvez-vous les angles entre les parties du corps à partir de l'image, ou est-ce l'algorithme de clustering? –