人工智能算法进阶:SOM聚类的应用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了人工智能算法进阶:SOM聚类的应用相关的知识,希望对你有一定的参考价值。


OM 即自组织映射,是一种用于特征检测的无监督学习神经网络。它模拟人脑中处于不同区域的神经细胞 分工不同的特点,即不同区域具有不同的响应特征,而且这一过程是自动完成的。SOM 用于生成训练样本的低维 空间,可以将高维数据间复杂的非线性统计关系转化为简单的几何关系,且以低维的方式展现,因此通常在降维问题中会使用它。

人工智能算法进阶:SOM聚类的应用_数据

SOM 的训练过程:

紫色区域表示训练数据的分布状况,白色网格表示从该分布中提取的当前训练数据。

(1) SOM 节点位于数据空间的任意位置,最接近训练数据的节点(黄色高亮部分)会被选中。它和网格中的邻近节点一样,朝训练数据移动。

(2)在多次迭代之后,网格倾向于近似该种数据分布(下图最右)。

人工智能算法进阶:SOM聚类的应用_数据_02

所有的神经元组织成一个网格,网格可以是六边形、四边形……,甚至是链状、圆圈……

网络的结构通常取决于输入的数据在空间中的分布。 SOM的作用是将这个网格铺满数据存在的空间

人工智能算法进阶:SOM聚类的应用_数据_03

人工智能算法进阶:SOM聚类的应用_数据_04

每个神经元由正方形表示,正方形内的粉红色区域表示神经元最接近的数据点的相对数量 - 粉红色区域越大,该神经元表示的数据点越多。

人工智能算法进阶:SOM聚类的应用_深度学习_05

当我们将训练数据输入到网络中时,会计算出所有权重向量的欧几里德距离。权重向量与输入最相似的神经元 称为最佳匹配单元(BMU)。BMU 的权重和 SOM 网格中靠近它的神经元会朝着输入矢量的方向调整。一旦确定 了 BMU,下一步就是计算其它哪些节点在 BMU 的邻域内。



人工智能算法进阶:SOM聚类的应用_迭代_06


(1)将网格的神经元随机定位在数据空间中。

(2)选择一个数据点,按顺序随机或系统地循环遍历数据集。

(3)找到最接近所选数据点的神经元。这种神经元被称为最佳匹配单元(BMU)。

(4)将BMU移近该数据点。 BMU移动的距离由学习速率确定,学习速率在每次迭代后减小。

(5)将BMU的邻居移动到更靠近该数据点的位置,远处的邻居移动得更少。使用BMU周围的半径来识别邻居,并且在每次迭代之后该半径的值减小。

(6)在重复步骤1到4之前,更新学习速率和BMU半径。迭代这些步骤,直到神经元的位置稳定。

SOM 通常用在可视化中。比如右图,世界各国贫困数据的可视化。生活质量较高的国家聚集在左上方,而贫 困最严重的国家聚集在右下方。

SOM 的其它一些应用还包括:

  • 数据压缩
  • 语音识别
  • 分离音源
  • 欺诈检测

人工智能算法进阶:SOM聚类的应用_深度学习_07


以上是关于人工智能算法进阶:SOM聚类的应用的主要内容,如果未能解决你的问题,请参考以下文章

k均值和kmeans的区别

聚类算法总结以及python代码实现

SOM聚类算法(自主映射算法)

常见的六大聚类算法

常见的六大聚类算法

数据挖掘学习——SOM网络聚类算法+python代码实现