我想在批量SOM达到收敛时停止执行。有什么错误函数可以用来判断收敛性吗?
回答:
在讨论SOM的收敛性时,对于给定的地图尺寸(n x m),你想知道算法是否已经运行了足够的迭代次数,以确保地图是“稳定”的。这意味着,简单来说,如果地图被多次重新训练,新输入(观察)是否会被放置在相同的neurons/代码向量上?(忽略每次训练时地图排列可能会发生变化的事实,只要这些簇仍然以稳定的方式排列,这都是可以接受的)。
为了帮助回答是否已经运行了足够的迭代次数,请参考下面的学术论文。这两篇论文还涉及到什么样的地图尺寸是合适的(什么样的n x m值有助于确保SOM的收敛?)。
这里给出了一种在论文中很受欢迎的传统方法:
评估自组织地图可靠性的统计工具(Bodt, Cottrell, Verleysen)
最近,出现了一种看起来相当有前景的方法:
自组织地图的收敛标准,硕士论文,Benjamin h. ott(罗德岛大学)
在我看来,这篇论文写得非常好,读起来很愉快。更棒的是,这项研究已被编写成一个SOM收敛测试,包含在一个(不太为人所知的)R语言包中,称为popsom
。可以查看一下: