6

我喜欢在 Batch SOM 收敛时停止执行。我可以使用什么误差函数来确定收敛?

4

2 回答 2

5

我很确定您的意思是成本函数而不是误差函数。

SOM 不需要误差函数(也不需要成本函数)。

在机器学习分类的顶层,SOM 是一种无监督学习技术——没有目标向量,因此没有“目标向量”减去“value_at_the_current_iteration”来最小化。

另一种思考方式:成本函数的作用是最小化一些成本;在 ML 中,它是模型计算和提供的数据之间的差异。在 SOM 中,没有为此目的向算法提供数据。

(我意识到这有点令人困惑,因为创建网络的输入数据通常被称为“训练数据”——这可能是输入数据在有监督机器学习技术中的作用,这比无监督机器学习技术更常见。这可能也令人困惑,因为“发明” SOM 的人 Teuvo Kohonen 最初将它们称为一类神经网络——当然,NN 是一种有监督的技术,并且确实依赖于成本函数(通常是梯度下降)。 )

最后,为了确定,我检查了我自己的 SOM 代码以及 Marsland 的 ML 教科书“机器学习:算法视角”中的代码。在我的代码和他的代码中,唯一的停止标准是用户在调用主函数时传入的“最大迭代”值。

于 2010-04-01T01:03:52.133 回答
2

在谈论 SOM 的收敛性时,对于给定的地图大小 (nxm),您想知道是否已经运行了足够的算法迭代以确保地图是“稳定的”。这意味着,松散地说,如果地图被重新训练多次,地图的新输入(观察)是否会放置在相同的神经元/码本向量上?(忽略地图的排列可能会在每次都训练,只要簇仍然以稳定的方式排列就可以了)。

为了帮助回答是否有足够的迭代已经运行的问题,请参阅下面列出的学术论文。这两篇论文还涉及到什么地图大小是合适的问题(什么 nxm 值有助于确保 SOM 的收敛?)。

这里给出了在论文中流行的一种传统方法:

用于评估自组织地图可靠性的统计工具(Bodt、Cottrell、Verleysen)

最近,出现了这种方法,看起来很有希望:

自组织地图的收敛标准,硕士论文,Benjamin h。ott(罗德岛大学)

在我看来,这篇论文写得很好,读起来很愉快。同样令人高兴的是,这项研究已被编写为 R 中一个(相当未知的)包中的 SOM 收敛测试,称为popsom. 看看这个:

波索姆

于 2014-06-26T23:33:35.550 回答