混合SOM(带MLP)

时间:2016-04-05 18:27:43

标签: neural-network artificial-intelligence self-organizing-maps

有人可以提供一些有关如何将自组织地图与多层感知器正确组合的信息吗?

我最近阅读了一些关于这种技术的文章,与常规MLP相比,它在预测任务中的表现更好。因此,我希望通过聚类输入数据并将结果传递给MLP后端,将SOM用作前端以进行降维。

我目前实现它的想法是用几个训练集训练SOM并确定群集。之后,我使用与SOM集群一样多的输入单元初始化MLP。下一步是使用SOM的输出(其值...... BMU的权重?)训练MLP,如同网络的输入一样(SOM的集群匹配输入单元的输出和0为零)任何其他输入单位?)。

1 个答案:

答案 0 :(得分:3)

没有一种方法可以做到这一点。让我列出一些可能性:

  • 你描述的那个。但是,你的MLP需要有K * D输入,其中K是簇的数量,D是输入维度。没有减少维数。
  • 与您的想法相似,但不是使用权重,只需为BMU发送1,为剩余的集群发送0。然后你的MLP将需要K输入。
  • 与上述相同,但不是1或0,而是将输入向量的距离发送到每个群集。
  • 与上述相同,但不是距离,而是为每个群集计算高斯激活。
  • 由于SOM保留拓扑,因此仅发送BMU的2D坐标(可能在0和1之间归一化)。然后你的MLP将只需要2个输入,你就可以实现真正的极端维数降低。

您可以在这里阅读有关这些想法的内容:Principal temporal extensions of SOM: Overview。它不是将SOM的输出馈送到MLP,而是将SOM馈送到自身。但是,当您尝试从SOM产生一些输出时,您将能够理解各种可能性。