MATLAB: кластеризация самоорганизующейся карты (SOM)
Я пытаюсь сгруппировать некоторые изображения в зависимости от углов между частями тела.
Функции, извлеченные из каждого изображения:
angle1 : torso - torso
angle2 : torso - upper left arm
..
angle10: torso - lower right foot
Поэтому входные данные представляют собой матрицу размером 1057x10, где 1057 обозначает количество изображений, а 10 обозначает углы частей тела с туловищем. Аналогичным образом набор тестов представляет собой матрицу 821x10.
Я хочу, чтобы все строки во входных данных были сгруппированы с 88 кластерами. Затем я буду использовать эти кластеры, чтобы найти, в какие кластеры попадают TestData?
В предыдущей работе я использовалK-средства кластеризации что очень просто. Мы просто просим K-Means сгруппировать данные в 88 кластеров. И реализуйте другой метод, который вычисляет расстояние между каждой строкой в тестовых данных и центрами каждого кластера, а затем выбирает наименьшие значения. Это кластер соответствующей строки входных данных.
У меня есть два вопроса:
Можно ли сделать это с помощьюSOM в MATLAB? AFAIK SOM предназначены для визуальной кластеризации. Но мне нужно знать фактический класс каждого кластера, чтобы впоследствии я мог пометить свои тестовые данные, рассчитав, к какому кластеру он принадлежит.
У вас есть лучшее решение?