简体   繁体   English

用随机分布初始化自组织映射和使用网络的第一个输入初始化有什么区别吗?

[英]Are there any difference initializing Self Organizing Map with random distribution and initialize using the first input to the network?

When initialize SOM with random distribution the network may converge correctly but not, when initialize with the input.当使用随机分布初始化 SOM 时,网络可能会正确收敛,但在使用输入初始化时则不会。 Why ?为什么 ?

Poor weight initialization can lead to entanglement in the neurons, and becomes a problem when it comes to topological mapping.权重初始化不当会导致神经元纠缠,并在涉及拓扑映射时成为一个问题。 The problem is when two neurons that should be far apart have ended up representing the same cluster of input data.问题是当两个本应相距很远的神经元最终表示相同的输入数据集群时。

Using your first input as the initialization could be leading to this problem.使用您的第一个输入作为初始化可能会导致此问题。 However, a relatively easy check is to use Sammon Mapping to reduce the dimensions of the clustering nodes into a 2 dimensional representation of the distance between each other.然而,一个相对容易的检查是使用 Sammon Mapping 将聚类节点的维度降低为彼此之间距离的二维表示。 This can be visualized as the nodes with lines connecting adjacent pairs.这可以可视化为具有连接相邻对的线的节点。 An unstable learning process can then be discerned from a Sammon map that folds over on itself.然后可以从自身折叠的 Sammon 地图中辨别出不稳定的学习过程。

Sammon Map三门地图

Sammon Map with folds带褶皱的 Sammon 地图

This doesn't mean initializing the weights with input data is a bad idea, however I would recommend using random input data as the initialization with the use of something like numpy.random.seed(), as using input data could speed up the learning process.这并不意味着用输入数据初始化权重是一个坏主意,但是我建议使用随机输入数据作为初始化,使用诸如 numpy.random.seed() 之类的东西,因为使用输入数据可以加速学习过程。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 使用 GPU 的自组织地图 - Self Organizing Maps using GPU 如何使用 Tensorflow 对范围内的正态分布随机值进行采样? - How to sampling by a normal distribution random values inside a range by using Tensorflow? 使用数组输入神经网络 - Input to the Neural Network using an array 如何找到张量流中随机输入的训练网络的输出? - How to find the output of a trained network for a random input in tensor flow? 使用来自 Autoencoder 的权重在 tensorflow 中初始化神经网络 - Using weights from Autoencoder to initialize neural network in tensorflow 在Python中使用卷积神经网络的自动驾驶汽车(游戏) - Self Driving Car (Game) using Convolutional Neural Network in Python 如何将单词映射到数字以输入到 Tensorflow 神经网络 - How to map words to numbers for input into Tensorflow Neural Network 使用矩阵作为卷积神经网络的输入 - Using matrices as input to convolutional neural network 张量流中具有分类分布的集合网络 - Ensemble network with categorical distribution in tensorflow 级联神经网络架构和输入使用 TensorFlow - Cascaded Neural Network architecture and input using TensorFlow
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM