深度学习基础--不同网络种类--自组织映射(Self-Organizing Maps, SOM)

自组织映射(Self-Organizing Maps, SOM)

  Kohonen提出了一种神经网络模型。
  自组织映射神经网络, 即Self Organizing Maps (SOM), 可以对数据进行无监督学习聚类。

  SOM是一种比较简单的神经网络,他不像BP网络那样具有三层结构,他只包含输入层和输出层(或称作映射层),由于没有中间的隐藏层(一般视为黑匣子),所以SOM映射之后的输出保持了输入数据原有的拓扑结构,SOM正因为这么一个优点而被应用在数据处理方面。

  SOM是一种无监督的聚类方法。它模拟人脑中处于不同区域的神经细胞分工不同的特点,即不同区域具有不同的响应特征,而且这一过程是自动完成的。自组织映射网络通过寻找最优参考矢量集合来对输入模式集合进行分类。每个参考矢量为一输出单元对应的连接权向量。与传统的模式聚类方法相比,它所形成的聚类中心能映射到一个曲面或平面上,而保持拓扑结构不变。对于未知聚类中心的判别问题可以用自组织映射来实现。

  它的思想很简单,本质上是一种只有输入层–隐藏层的神经网络。隐藏层中的一个节点代表一个需要聚成的类。训练时采用“竞争学习”的方式,每个输入的样例在隐藏层中找到一个和它最匹配的节点,称为它的激活节点,也叫“winning neuron”。 紧接着用随机梯度下降法更新激活节点的参数。同时,和激活节点临近的点也根据它们距离激活节点的远近而适当地更新参数。
在这里插入图片描述

  参考资料:
  http://blog.csdn.net/u011308691/article/details/19175675

SOM算法细节

  主要是分为两个步骤
  1)选择获胜神经元,
  2)更新获胜神经元以及邻接神经元的权值。

  为什么这么做呢?
  答:因为神经网络是模拟人脑的结构以及处理事物的方法,而脑科学研究表明呢,相邻较近的神经元之间可以互相激励,所以在SOM学习的过程中,不仅仅是对获胜神经元进行奖励,同时也对邻接神经元进行奖励。

  那么这个邻接神经元怎么确定?什么样的是邻接的呢?
  答:首先以获胜神经元j为中心设定一个邻域半径,对于邻域半径先有一个初始化的值r,以j为中心,以r为半径的区域(可能是四边形、六边形等)内的神经元都算作是邻接神经元,然后随着学习的进行,会调整邻域函数里面的参数,使得这个邻域半径一点一点变小,直到学习结束。

利用SOM网络进行图像数据压缩

  自组织映射神经网络, 即Self Organizing Maps (SOM), 可以对数据进行无监督学习聚类。
  本项目使用MATLAB编程,实现基于SOM网络(自组织神经网络)的矢量量化方法,进行图像数据压缩。
  更进一步,SOM可以用来聚类(当然,也可以用来降维)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值