Kohonen提出了一种神经网络模型。
  自组织映射神经网络, 即Self Organizing Maps (SOM), 可以对数据进行无监督学习聚类。

SOM是一种比较简单的神经网络,他不像BP网络那样具有三层结构,他只包含输入层和输出层(或称作映射层),由于没有中间的隐藏层(一般视为黑匣子),所以SOM映射之后的输出保持了输入数据原有的拓扑结构,SOM正因为这么一个优点而被应用在数据处理方面。

SOM是一种无监督的聚类方法。它模拟人脑中处于不同区域的神经细胞分工不同的特点,即不同区域具有不同的响应特征,而且这一过程是自动完成的。自组织映射网络通过寻找最优参考矢量集合来对输入模式集合进行分类。每个参考矢量为一输出单元对应的连接权向量。与传统的模式聚类方法相比,它所形成的聚类中心能映射到一个曲面或平面上,而保持拓扑结构不变。对于未知聚类中心的判别问题可以用自组织映射来实现。

它的思想很简单,本质上是一种只有输入层–隐藏层的神经网络。隐藏层中的一个节点代表一个需要聚成的类。训练时采用“竞争学习”的方式,每个输入的样例在隐藏层中找到一个和它最匹配的节点,称为它的激活节点,也叫“winning neuron”。 紧接着用随机梯度下降法更新激活节点的参数。同时,和激活节点临近的点也根据它们距离激活节点的远近而适当地更新参数。

与K-Means的比较

同样是无监督的聚类方法,SOM与K-Means有什么不同呢?

(1)K-Means需要事先定下类的个数,也就是K的值。 SOM则不用,隐藏层中的某些节点可以没有任何输入数据属于它。所以,K-Means受初始化的影响要比较大。

(2)K-means为每个输入数据找到一个最相似的类后,只更新这个类的参数。SOM则会更新临近的节点。所以K-mean受noise data的影响比较大,SOM的准确性可能会比k-means低(因为也更新了临近节点)。

(3) SOM的可视化比较好。优雅的拓扑关系图 。

评价指标




参考:

  1. (详细过程推导) 系统学习机器学习之神经网络(四) --SOM
  2. Self Organizing Maps (SOM): 一种基于神经网络的聚类算法
  3. 使用实例 https://github.com/JustGlowing/minisom
  4. (硕士论文)基于som的可视化聚类研究