您的位置:首页 > 其它

SOM学习笔记1

2015-10-31 13:20 211 查看
SOM学习笔记小编打算写两篇,内容来自小编前阶段在工作要解决的预警产品质量在多个ATE上走低的问题。第一篇从理论的角度介绍SOM的网络模型、学习算法,第二篇从应用的角度以demo的形式展示实际的应用。

1.SOM是什么

SOM英文全拼是Self-Organizing Maps,中文一般译作自组织映射网络,它是神经网络的一种,由kohonen提出,属于非监督式学习,它模仿人脑神经元对信息的处理方式,通过自身训练,自动对输入的模式进行聚类。

2.SOM网络模型

SOM网络有两层,分别是InputLayer和OutputLayer。InputLayer与OutputLayer通过权值相连,InputLayer即输入层,其输入一般为高维度向量。OutputLayer的神经元一般放置在二维网格中,输出层近邻的神经元也通过权值连接



3.内星学习规则

SOM是基于内星学习规则而来的,有必要学习下该规则:

假设输入信息为n维向量,该向量与权值向量连接,输出到输出神经元Y中,Y采用硬限幅函数作为传递函数,限定输出为1和0

内星模型训练的目标使得神经元Y只对某些特定的输入向量产生兴奋,即在Y出的神经元输出为1

通过学习速率η对权值进行调整,当Y=1时,权值进行调整,当Y=0时,权值不做调整,最终得到的网络权值趋近于各输入向量的平均值



4.SOM学习算法

设定变量:X=[x1,x2,x3,…,xm]为输入样本,每个样本为m维向量。ωi(k)=[ωi1(k), ω i2(k),…,ωin(k)]为第i个输入节点与输出神经元之间的权值向量

初始化:权值使用较小的随机值进行初始化,并对输入向量和权值做归一化处理

X’ = x/||x||

ω’i(k)= ωi(k)/||ωi(k)||

||x||和||ωi(k)||分别为输入向量和权值向量的欧几里得范数

将样本输入网络:样本与权值向量做内积,内积值最大的输出神经元赢得竞争,记为获胜神经元

更新权值:对获胜的神经元拓扑邻域内的神经元采用内星规则进行更新

ω(k+1)= ω(k)+ η(x- ω(k))

更新学习速率η及拓扑邻域,并对学习后的权值重新归一化

判断是否收敛。如果中心改变很小或达到预设的迭代次数,结束算法

5.SOM的优缺点

优点

表示的结果非常容易理解,这点将在第二篇demo中看到

实现起来比较简单

缺点

计算复杂度高,对相似性的度量非常敏感

不能应用存在缺失值的数据集
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: