我试图集的一些图像,这取决于角度之间的主体部分。

该功能提取的每一个图像是:

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

因此,该输入数据矩阵的大小1057x10,其中1057代表的数量图像,10个代表角度的身体部位的躯干。同样,testSet是821x10矩阵。

我希望所有行在输入数据集与88集群。然后,我将利用这些集群寻找其集群并TestData落入?

在以前的工作,我用 K-聚集装置 这是非常简单。我们只是要求K-意味着集的数据进88集群。和实施的另一种方法计算之间的距离中的每一行测试的数据和中心的每个群集,然后选择最小值。这是集群的相应输入的数据排。

我有两个问题:

  1. 它是可能做到这一点使用 SOM 在MATLAB?据我所知SOM的是些聚类。但我需要知道实际的类的每个集群,这样我可以在以后的标签我的测试数据是通过计算其它所属的集群。

  2. 你有更好的解决方案吗?

有帮助吗?

解决方案

自组织图(索姆) 是个聚类方法视为无人监督的变化 人工神经网络(ANN).它使用 有竞争力的学习 技术培训网络(节点之间竞争自己要显示最强烈的激活到一定的数据)

www.lohninger.com/helpcsuite/kohonen_network_-_background_information.htm

你能想到的高官,如果它包括一个网格的互相连接节点(正方形的形状、六角形、..),其中每个节点是N-昏暗的矢量的重量(相同的尺寸大小的数据点我们要集群)。

这个想法很简单;给出一个矢量,作为输入到SOM,我们发现的节点 衣橱 到它的,然后更新其重量和重量的邻近节点,以便他们接近输入的向量(因此称之为自组织).这个过程中是重复的所有输入数据。

plotsompos

该集群的形成是隐含的定义如何节点组织起来形成一个节点组有类似的权重。他们可以很容易看出。

plotsomnd

SOM是在一个相似的方式 K-用算法的 但不同之处在于,我们不要强加一个固定数量的集群,而不是我们指定的数量和形状的节点网,我们希望它能够适应我们的数据。

基本上,当你有一个训练有素的索姆,你想进行分类一个新试验的输入向你简单将它分配给最近(距离作为一个相似的措施)的节点网(最好的匹配的单元 BMU),并给予作为预测的[多数]类的矢量属于这BMU节点。

plotsomhits

MATLAB中,您可以找到一些工具箱,实现SOM:

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top