我喜欢在 Batch SOM 收敛时停止执行。 我可以使用什么误差函数来确定收敛性?
最佳答案
我很确定你指的是成本函数而不是误差函数。
SOM 不需要误差函数(也不需要成本函数)。
在机器学习分类法的顶层,SOM 是一种无监督学习技术——没有目标向量,因此没有要最小化的“目标向量”减去“value_at_the_current_iteration”。
另一种思考方式:成本函数的作用是最小化一些成本;在 ML 中,它是模型计算和提供的数据之间的差值。在 SOM 中,没有为此目的向算法提供数据。
(我意识到这有点令人困惑,因为创建网络的输入数据通常被称为“训练数据”——可能这就是输入数据在监督 ML 技术中的作用,这比无监督的。这可能也令人困惑,因为 Teuvo Kohonen,被誉为“发明”SOM 的人,最初将它们称为一类神经网络——当然 NN 是一种监督技术并且确实依赖于成本函数(通常是梯度血统。))
最后,为了确定,我检查了自己的 SOM 代码以及 Marsland 的 ML 教科书“机器学习:算法视角”中的代码。在我和他的代码中,唯一的停止标准是用户在调用主函数时传入的“最大迭代”值。
关于algorithm - (批处理)SOM(自组织映射,又名 "Kohonen Map")的收敛标准?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2557289/