我正在尝试通过批处理训练来实现一个通用的SOM。我对批量训练的公式有疑问。
我已经在下面的链接中读到了它
http://cs-www.cs.yale.edu/c2/images/uploads/HR15.pdf
https://notendur.hi.is//~benedikt/Courses/Mia_report2.pdf
我注意到权重更新是分配的,而不是在周期结束时添加的-这不会覆盖整个网络之前的值,并且更新公式不包括节点之前的权重,那么它是如何工作的?
当我实现它时,网络中的许多节点变成了NaN,因为在训练结束时,由于梯度降低,许多节点的邻域值变为零,并且更新公式导致除以零。
有没有人能正确解释批处理算法。我在谷歌上搜索过,我看到了很多“改进批处理”或“加速批处理”,但没有直接关于批处理kohonen的内容。在那些确实解释了这个公式的人中,这些公式是相同的,但这并不起作用。
发布于 2018-10-29 22:36:47
您看到的批处理SOM的更新规则就是好的。该算法背后的基本思想是使用整个训练数据集来训练SOM,因此在每次迭代中,神经元的权重都会重新表示最接近的输入的平均值。因此,先前权重的信息在BMU (最佳匹配单元)中。
正如你所说,由于除以零,一些神经元权重会产生NaN。为了克服这个问题,您可以使用总是大于零的邻居函数(例如,高斯函数)。
https://stackoverflow.com/questions/36360807
复制相似问题