2

:)

当我为我的论文提案辩护时,我的一位教授问我为什么我们必须在 SOM 中指定迭代次数?他说,我们应该有一个收敛标准来停止训练。

但是,我知道我们没有目标向量,因此我们无法最小化成本。

我的问题是首先,为什么需要 MAX_ITERATIONS,其次,是什么向我们保证,我们选择的迭代次数会给出最佳映射。:(

PS 根据经验,我尝试在颜色数据集上使用 1000 次迭代和 10000 次迭代。似乎 10000 次迭代并没有提供比 1000 次更好的可视化效果。:(

4

2 回答 2

2

因此,您和您的教授都是对的:您应该指定迭代次数的硬性上限和收敛标准。

收敛标准- 虽然您的权利是 SOM 是无监督的,因此没有目标向量,但它们仍然可以被视为最小化一些成本函数。一般来说,大多数无监督机器学习方法可以尝试做一些事情,比如最小化未解释的方差、最大化信息增益等。特别是对于 SOM,我使用权重增量作为标准。也就是说,当额外的迭代没有改变 SOM 权重超过某个阈值时,停止迭代。

迭代上限- 即使有收敛标准,硬上限也是必要的,以防 SOM 不收敛(您不希望它永远运行)。如果您使用我的权重增量标准示例,那么可能会出现权重在迭代之间不断波动的情况,从而导致永远无法满足标准。

快乐的索明!

于 2011-11-02T23:17:39.610 回答
0

您确实有一个目标成本函数可以在 SOM 中最小化。SOM 类似于多维缩放 (MDS)。目的是保持拓扑关系;因此,SOM 的每一次迭代实际上都是为了最小化“源空间中任意两点的距离”和“目标空间中相同两点的距离”之间的误差,只不过在 SOM 中,那些相似的点用神经元表示目标空间。这也是 SOM 可用于集群的方式。

迭代过程可以看作与梯度下降相同。在最小化二次误差成本函数时,也容易被局部最小值所困。这也可以解释为什么即使经过大量迭代,SOM 也会导致“扭结”。

于 2017-09-12T17:43:19.987 回答