首页 > 解决方案 > 使用随机分布初始化自组织图和使用网络的第一个输入进行初始化有什么区别吗?

问题描述

当使用随机分布初始化 SOM 时,网络可能会正确收敛,但在使用输入初始化时则不会。为什么 ?

标签: tensorflowneural-networksom

解决方案


权重初始化不佳会导致神经元纠缠,并在拓扑映射中成为问题。问题是当两个应该相距很远的神经元最终代表同一个输入数据集群时。

使用您的第一个输入作为初始化可能会导致此问题。然而,一个相对简单的检查是使用 Sammon Mapping 将聚类节点的维度减少为彼此之间距离的二维表示。这可以被可视化为具有连接相邻对的线的节点。然后可以从折叠自身的 Sammon 映射中辨别出不稳定的学习过程。

萨蒙地图

带褶皱的 Sammon 地图

这并不意味着使用输入数据初始化权重是一个坏主意,但是我建议使用随机输入数据作为初始化,并使用 numpy.random.seed() 之类的东西,因为使用输入数据可以加快学习速度过程。


推荐阅读