3

我也在做一个需要对时间序列数据进行聚类的项目。我正在使用在 MATLAB 中工作的 SOM 工具箱进行聚类,并遇到以下问题:“我们如何确定哪些数据属于哪个集群?” SOM 从数据集中随机选择数据样本,并为每个数据样本找到 BMU。据我所知,数据样本标识符在 SOM 算法中不被视为数据的维度。如果是这样,那么我们如何跟踪样本?我认为这不能解决som_bmus这个问题。知道如何在不更改 SOM 工具箱中包含的任何功能的情况下做到这一点吗?

4

2 回答 2

1
y=vec2ind(output)

将为您提供 MATLAB 生成的输出的索引号。使用此信息,您可以查看哪些输入数据属于哪个神经元#。

只需在脚本中直接使用上面的代码,剩下的就交给它了。

于 2014-08-12T14:54:09.103 回答
0

我知道这是一个老话题,但也许对其他人仍然有用。

您的问题是关于确定什么应该是集群还是哪些数据属于哪个神经元?如果这是最后一个,我相信 GulshanS 已经正确回答了,但如果是关于如何确定什么是集群以及什么不是集群的问题,仍然没有答案。您可以通过邻居连接来做到这一点,黑暗区域大多显示“墙”,这是集群的断线。

聚类分析与 SOM 所做的不同。SOM 确定连接并分配 BMU,最终成为具有神经元的预定网格。多个数据输入可以属于一个神经元。多个神经元可以属于一个集群,但这些不是 SOM 的输出。

于 2016-08-23T14:56:08.050 回答