在SOM进行批量培训?

时间:2016-04-01 16:00:22

标签: neural-network som

我正在尝试通过批量培训实施一般SOM。我对批量训练的公式有疑问。

我已在以下链接中了解到它

http://cs-www.cs.yale.edu/c2/images/uploads/HR15.pdf

https://notendur.hi.is//~benedikt/Courses/Mia_report2.pdf

我注意到权重更新是分配而不是在时代结束时添加 - 不会覆盖整个网络的先前值,并且更新公式不包括先前的节点权重,那么如何它甚至可以工作吗?

当我实现它时,网络中的很多节点变成了NaN,因为在训练结束时由于梯度减小而导致很多节点的邻域值变为零,并且更新公式导致除以零。 / p>

有人可以正确解释批处理算法。我这是谷歌,我看到很多"改进批次"或者"加速批次"但没有任何关于直接批量kohonen。在确实解释公式的那些公司中,它们是相同的,并且不起作用。

1 个答案:

答案 0 :(得分:0)

您看到的Batch SOM的更新规则是很好的规则。 该算法背后的基本思想是使用整个训练数据集来训练SOM,因此在每次迭代中,神经元的权重代表了最接近输入的均值。 因此,先前权重的信息位于BMU(最佳匹配单位)中。

正如您所说,某些神经元权重由于被零除而产生NaN。 要解决此问题,您可以使用始终大于零的邻居函数(例如高斯函数)。