Self-Organizing Map

自组织映射网络

无监督学习的一种神经网络模型,适用于将高维空间的数据映射到低维空间,降维

概述

SOM 的结构是一个由神经元组成的二维平面网络,每个神经元包含:一组坐标,一组和输入数据 x 维度对应的参数 w。

在训练过程中,输入数据被一个一个投入到 SOM 中,每一次投入在二维平面上找一个和输入数据最临近的神经元 A,然后设定一个范围,更新 A 周围所有神经元的参数。

多次迭代下来,二维平面中的神经元参数 w 会逐渐拟合到输入数据 x 上,最终到达降维的效果。

计算过程

输入数据,计算当前数据 x 和每个神经元的 欧氏距离,当然也可以其他距离。

寻找最近的神经元,使用高斯函数设定一个邻域范围,然后用以下公式更新

  • 表示学习率
  • h(t) 表示设定的邻域函数

结果

结果表现为一个映射,即将所有的输入数据都分配到对应的 SOM 上。

因为神经元参数和输入数据的维度是对应的,所以可以计算二者之间的距离,距离越短,认为神经元约靠近输入数据。

在 SOM 网络中,可以绘制一个神经元之间的距离热力图,就可以观察出数据在哪里聚集,哪里稀疏。最终达成了降维的效果。

图中颜色偏蓝,表示距离近,越红表示距离远。