混合 SOM(带 MLP)

Hybrid SOM (with MLP)

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

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

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

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

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

您可以在此处阅读这些想法以及更多内容:Principal temporal extensions of SOM: Overview。它不是将 SOM 的输出提供给 MLP,而是将 SOM 提供给自身。但是当您尝试从 SOM 生成一些输出时,您将能够理解各种可能性。