:)
当我在捍卫我的论文提案时,我的一位教授问我为什么要指定SOM中的迭代次数?他说,我们应该采取收敛标准来停止训练。
但是,据我所知,我们没有目标向量,因此我们无法将成本降至最低。
我的问题首先是,为什么需要MAX_ITERATIONS;其次,是什么让我们确信我们选择的迭代次数会给出最佳的映射。 :(
P.S。根据经验,我尝试在颜色数据集上使用1000次迭代和10000次迭代。似乎10000次迭代不能提供更好的可视化1000. :(
答案 0 :(得分:2)
所以,你和你的教授都是对的:你应该对迭代次数和收敛标准指定一个硬上限。
收敛标准 - 虽然您在SOM中的权利是无人监管的,因此没有目标向量,但它们仍可被视为最小化某些成本函数。一般来说,大多数无监督的机器学习方法可以尝试和做一些事情,例如最小化未计入方差,最大化信息增益等。对于SOM,我特别使用权重增量作为标准。也就是说,当额外的迭代没有将SOM的权重改变超过某个阈值时,停止迭代。
迭代上限 - 即使收敛标准到位,如果SOM没有收敛(您不希望它永远运行),则需要硬上限。如果你使用我的重量增量的示例标准,则可能存在权重在迭代之间保持振荡的情况,从而导致永远不会满足标准。
快乐的SOMING!
答案 1 :(得分:0)
您隐式拥有目标成本函数以在SOM中最小化。 SOM类似于多维尺度(MDS)。目的是保持拓扑关系;因此,SOM的每次迭代实际上是为了最小化“源空间中任意两点的距离”和“目标空间中相同两点的距离”之间的误差,除了在SOM中,使用神经元表示这些相似点。目标空间。这也是SOM如何用于聚类的。
迭代过程可以被认为与梯度下降相同。当最小化二次误差成本函数时,它也容易被局部最小值捕获。这也可以解释为什么即使经过大量的迭代,SOM也可能导致“扭结”。