【原】浅谈自组织映射算法(SOM)

浅谈自组织映射算法(SOM)

0. 写在最最前

自组织映射算法(SOM)或许对大家来说比较陌生,实际上,她早在1981年就被提出 [1] ,是人工神经网络(ANN)大家族的一员,与自适应共振理论(ART)、认知机网络(很遗憾,这个词仅在百度百科中出现,没有搜索到其他相关资料,疑为神经认知机误写)成兄弟关系。
在笔者研究SOM之前,曾经用ART2实现过聚类(参考github/ART2py/python3),然而效果并不理想,从而转而研究SOM。事实上,SOM效果仅仅是一般,并不比现有的其他网络效果理想。尽管如此,SOM作为有意义的尝试,同样值得我们学习。
欢迎转载,转载需表明出处。遵从知识共享协议。如有错误,欢迎指正。

1. 基本概念和流程 [2]

SOM神经网络采用的算法称为Kohonen算法,它的基本思想是:网络输出层的各神经元通过竞争来获得对输入层的响应机会,最后只有一个神经元获胜。获胜的神经元对它临近的神经元的影响由近及远,由兴奋逐渐转为抑制,那些与获胜神经元有关的各连接权朝着有利于它竞争的方向转变。
SOM网络的典型拓扑结构
SOM网络的典型拓扑结构,图侵删

SOM网络的算法如下:
1. 初始化
对输出层各权向量赋予较小的随机数并进行归一化处理,得到 wj^ ,
j=1,2,3...m ,建立初始优胜邻域 Nj(0)
和学习率 α 初值。m为输出层神经元数目。
2. 接受输入
从训练集中随机取一输入模式并进行归一化处理,得到 Xp^p=1,2,...n ,n为输入层神经元数目。
3. 寻找获胜节点
计算的点积,从中找到点积最大的获胜节点*j。如果输入模式未经归一化,应按式

dj=||X^Wj^||=mj=1[XWj^]2

计算欧式距离,从中找出距离最小的获胜节点
4. 定义优胜邻域
j 为中心确定t时刻的权值调整域,一般初始邻域 Nj(0) 较大,训练过程中 Nj(t) 随训练时间收缩。
5. 调整权值
对优胜邻域)(*tNj内的所有节点调整权值 Nj(t)
wij(t+1)=wij(t)+α(t,N)[xpiwi,j(t)i1,2,...njNj(t)
式中 wij(t) 为神经元i从0到n在j时刻的权值;
6. 结束判定
当学习率 α(t)αmin 时,结束训练;不满足结束条件时,转到步骤2继续。

SOM
SOM流程图,图侵删

2. 优势和不足

2.1 优点:

  1. 自适应性。SOM属于无监督网络,所以不区分训练集和测试集。
  2. 拓扑保形特性 [4] 。通过神经元之间的竞争实现大脑神经系统中的“近兴奋远抑制”功能,并具有把高维输入映射到低维的能力。

2.2 局限 [2,3]

  1. 网络训练时,有些神经元始终不能获胜,成为“死神经元”。
  2. 和ART网络不一样,SOM网络在没有经过完整的重新学习之前,不能加入新的类别。
  3. 当输入模式较少时,分类结果依赖于模式输入的先后次序。

Kohonen已经证明:在学习结束时.每个权系数向量wj都近似落入到由神经元j所对应的类别的输入模式空间的中心,可以认为权系数向量wj形成了这个输入模式空间的概率结构。所以,权系数向量Wj可作为这个输入模式的最优参考向量。

3.代码

  1. matlab工具使用 参考 http://blog.sina.com.cn/s/blog_7671b3eb0100y4kl.html
  2. python工具包 参考pySOM https://gitee.com/hoops/pySOM
    (为什么是这个网址呢?因为这个是我写的,哈哈~~)

参考文献

[1] 百度百科 https://baike.baidu.com/item/SOM%e7%ae%97%e6%b3%95/19453654 2017-12-9
[2] CSDN http://blog.csdn.net/u011308691/article/details/19175675 2017-12-9
[3] CSDN http://blog.csdn.net/wj176623/article/details/52526617 2017-12-9
[4] 百度百科 https://baike.baidu.com/item/%e8%87%aa%e7%bb%84%e7%bb%87%e7%89%b9%e5%be%81%e6%98%a0%e5%b0%84 2017-12-9

  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
自组织映射神经网络(***人脑特征启发而提出的非常特殊的神经网络。它也被称为Kohonen网络或者胜者独占单元(WTU)。SOM网络中的神经元之间通过计算输入向量之间的相似度来建立拓扑关系,即相似的输入向量会在SOM网络中被映射到相邻的神经元上。这样,SOM网络能够将高维的输入数据映射到二维或三维的拓扑结构上,从而实现数据的可视化和聚类分析。SOM网络在模式识别、数据挖掘和图像处理等领域都有广泛的应用。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [自组织神经网络介绍:自组织特征映射SOM(Self-organizing feature Map),第三部分](https://blog.csdn.net/weixin_30652879/article/details/95509793)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [undefined](undefined)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [tensorflow实现人脸分类自组织映射神经网络SOM代码](https://download.csdn.net/download/huorantiancai/12040648)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

A.Star

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值