tictoc正方形网络模型_SOM(自组织映射神经网络)——理论篇

本文详细介绍了自组织映射(SOM)的理论基础,包括网络结构、训练过程、邻域函数、高斯和Bubble近邻函数、学习率与邻域范围的衰减等。SOM作为一种无监督的神经网络,适用于高维数据的可视化和聚类,具有保持输入空间拓扑结构的特点。文章通过实例展示了SOM的训练过程,并探讨了不同初始化方法和可视化工具如U-Matrix和Component Plane的作用。
摘要由CSDN通过智能技术生成

da00fceb8845d016572876e9f6be0175.png

SOM介绍

自组织映射(Self-organizing map, SOM)通过学习输入空间中的数据,生成一个低维、离散的映射(Map),从某种程度上也可看成一种降维算法。

SOM是一种无监督的人工神经网络。不同于一般神经网络基于损失函数的反向传递来训练,它运用竞争学习(competitive learning)策略,依靠神经元之间互相竞争逐步优化网络。且使用近邻关系函数(neighborhood function)来维持输入空间的拓扑结构。

维持输入空间的拓扑结构:意味着 二维映射包含了数据点之间的相对距离。输入空间中相邻的样本会被映射到相邻的输出神经元。

由于基于无监督学习,这意味着训练阶段不需要人工介入(即不需要样本标签),我们可以在不知道类别的情况下,对数据进行聚类;可以识别针对某问题具有内在关联的特征。

特点归纳:

  • 神经网络,竞争学习策略
  • 无监督学习,不需要额外标签
  • 非常适合高维数据的可视化,能够维持输入空间的拓扑结构
  • 具有很高的泛化能力,它甚至能识别之前从没遇过的输入样本

网上有很多开源的实现,这里列了一份我在github上搜集的清单:

e6916838e3560bad087a906c735c8c38.png

为了避免空谈理论导致晦涩难懂,我们以miniSom库的部分实现为例,辅助理解训练过程中的一些公式。

JustGlowing/minisom​github.com
08f997a6c78120ec09cde3f672de2cf2.png

网络结构结构

SOM的网络结构有2层:输入层、输出层(也叫竞争层)

6f4d871353b112d9297dca8396a0f91e.png

输入层神经元的数量是由输入向量的维度决定的,一个神经元对应一个特征

SOM网络结构的区别主要在竞争层:可以有1维、2维(最常见的)

竞争层也可以有更高的维度。不过出于可视化的目的,高维竞争层用的比较少

其中,二维平面有2种平面结构:

  • Rectangular
  • Hexagonal

b137722ab4a28a54f52ec6a00fedad2d.png

竞争层SOM神经元的数量决定了最终模型的粒度与规模;这对最终模型的准确性与泛化能力影响很大。

一条经验公式:

竞争层最少节点数量 =

N:训练样本的个数

如果是正方形输出层,边长等于 竞争层节点数再开一次根号,并向上取整就行

训练计算过程

第一步:与其他神经网络相同,需要将Weighs初始化为很小的随机数

第二步:随机取一个 输入样本Xi

第三步:

  1. 遍历竞争层中每一个节点:计算Xi与节点之间的相似度(通常使用欧式距离)
  2. 选取距离最小的节点作为优胜节点(winner node),有的时也叫BMU(best matchin
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值