1

我正在尝试通过批量训练来实现通用 SOM。我对批量训练的公式有疑问。

我在下面的链接中读到了它

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

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

我注意到权重更新是在一个时期结束时分配而不是添加的——这不会覆盖整个网络以前的值,而且更新公式不包括节点以前的权重,那么它是如何工作的呢?

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

有人可以正确解释批处理算法。我确实谷歌了它,我看到了很多“改进批处理”或“加速批处理”,但没有直接批处理 kohonen。在那些确实解释了公式的人中,这是相同的,但这是行不通的。

4

1 回答 1

0

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

正如你所说,一些神经元权重由于被零除而产生 NaN。为了克服这个问题,您可以使用始终大于零的相邻函数(例如高斯函数)。

于 2018-10-29T14:36:46.693 回答