Press "Enter" to skip to content

无监督学习系列—探索自组织映射

学习自组织映射的工作原理及其为什么是一种有用的无监督学习算法

Image by teckhonc @Unsplash.com

自组织映射(SOMs)是一种用于聚类和高维数据可视化的无监督神经网络。SOMs使用竞争学习算法进行训练,网络中的节点(也称为神经元)会争夺代表输入数据的权利。

SOM的架构由一个2D节点网格组成,每个节点与一个权重向量相关联,该向量表示SOM解决方案中的质心。这些节点被组织在一起,使得相似的数据点周围有组织的节点,从而产生一个表示底层数据的层次结构。

SOMs通常用于各种任务,例如:

  • 数据可视化
  • 异常检测
  • 特征提取
  • 聚类

我们还可以将SOMs视为无监督学习中最简单的神经网络版本的可视化!

虽然一开始可能会感到困惑,但自组织映射(或称为Kohonen映射,以其发明者命名)是一种能够从数据中绘制出底层结构的有趣类型的算法。它们可以描述如下:

  • 一个单层的无监督神经网络,没有反向传播。
  • 一个受限制的k-means解决方案,其中节点具有影响其他节点移动的能力(在k-means的上下文中,节点被称为质心)。

在这篇博文中,我们将对SOM模型进行一些实验。之后,我们将将自组织映射应用于一个真实的用例,以便能够看到该算法的主要特点和局限性。

理解SOMs的学习过程

为了理解SOMs的学习过程,让我们首先在2维空间中绘制一个玩具数据集。

我们将创建一个包含以下数据集的numpy数组,并在之后绘制它:

import numpy as npX = np.array([[1, 2], [2, 1], [1, 3], [1, 2.5], [3.1, 5], [4, 10], [3.6, 5.4], [2...
Leave a Reply

Your email address will not be published. Required fields are marked *