Self-Organizing Map
自组织映射网络
无监督学习的一种神经网络模型,适用于将高维空间的数据映射到低维空间,降维。
概述
SOM 的结构是一个由神经元组成的二维平面网络,每个神经元包含:一组坐标,一组和输入数据 x 维度对应的参数 w。
在训练过程中,输入数据被一个一个投入到 SOM 中,每一次投入在二维平面上找一个和输入数据最临近的神经元 A,然后设定一个范围,更新 A 周围所有神经元的参数。
多次迭代下来,二维平面中的神经元参数 w 会逐渐拟合到输入数据 x 上,最终到达降维的效果。
计算过程
输入数据,计算当前数据 x 和每个神经元的 欧氏距离,当然也可以其他距离。
寻找最近的神经元,使用高斯函数设定一个邻域范围,然后用以下公式更新
- 表示学习率
- h(t) 表示设定的邻域函数
结果
结果表现为一个映射,即将所有的输入数据都分配到对应的 SOM 上。
因为神经元参数和输入数据的维度是对应的,所以可以计算二者之间的距离,距离越短,认为神经元约靠近输入数据。
在 SOM 网络中,可以绘制一个神经元之间的距离热力图,就可以观察出数据在哪里聚集,哪里稀疏。最终达成了降维的效果。
图中颜色偏蓝,表示距离近,越红表示距离远。