之前学过SOM,但后来因为用的少,所以忘了其原理,只知道SOM是有一层神经网络上的神经元相互竞争,最终实现样本的自动聚类。好像是每个神经元表示一个聚类中心。

后来随着一些记忆的丢失,开始对这个方法变得模糊。每个神经元不是代表一个操作吗?怎么就表示样本的聚类中心了?他的损失函数是什么?是怎么实现训练的?

最近,选修了一门《人工神经网络》课程,又接触到一些相关知识,才又对这个方法了解起来。防止自己忘记,所以写篇博客记录一下。

(1)胜者为王学习规则 WTA (winner-take-all) 

最早接触WTA是在WTA-AE中,认为WTA仅仅是一种特殊的网络结构,或网络训练技巧。学习中才发现,WTA是一种发展很早的学习规则,是一种竞争学习规则,用于无监督学习。定义如下:

WTA (winner-take-all) 与 自组织映射 SOM (self organizing map)的理解

(2)两个向量的点积越大,表明两者越近似。

值得注意的是这句话,我认为这是对于理解SOM最重要的一句话。

根据上面的WTA的介绍,只有获胜的神经元才有权调整其权向量,权向量的调整方式是:使该“神经元的权向量”与当前“输入样本的特征向量”变得更像/欧式距离减小。所以,结果就是,神经元的权向量逐渐偏向样本向量的聚类中心。

因为权向量的更新方式是:用“样本向量”直接更新“神经元的权重向量”。

所以:在SOM中我们称竞争层的每个神经元为聚类中心(或类似的意义),实际上指的是该神经元的权向量是样本的聚类中心,(我的理解是,神经元本身是一个计算节点,包含一些参数,又不是一个数据,怎么能称为聚类中心呢?所以之前把神经元说成聚类中心使我难以理解)。

所以,在用SOM作聚类时,要保证竞争层的权向量长度/维度要与输入样本特征的长度/维度相等。换言之,竞争层的上一层的神经元个数要与样本特征的矢量长度相等。

 

参考:《人工神经网络理论及应用(韩力群,施彦)》

更多SOM的理解与应用可参考:SOM(自组织映射神经网络)——理论篇

                                                   SOM(自组织映射神经网络)——案例篇

 

 

相关文章:

猜你喜欢
相关资源
相似解决方案