【神经网络】自组织特征映射网络(SOM)
自组织特征映射网络(SOM)
Self-Organizing Feature Map Neural Networks
- BP学习算法是一种典型的有监督学习算法,特点:每一个输入都有一个对应的理想输出
- 自组织特征映射网络为无监督学习算法,只有样本,没有理想输出
- 用途:聚类分析,分类
SOM网络及其学习算法
网络模型
输入为 n n n维:
X = [ x 1 , x 2 , . . . , x n ] T X=[x_1,x_2,...,x_n]^T X=[x1,x2,...,xn]T
输出层有 p p p个结点:
Y = [ y 1 , y 2 , . . . , y p ] T Y=[y_1,y_2,...,y_p]^T Y=[y1,y2,...,yp]T
每个输入结点 i i i和输出节点 j j j之间都有权值连接:
W j = [ w j 1 , w j 2 , . . . , w j n ] T , j = 1 , . . . p W_j=[w_{j1},w_{j2},...,w_{jn}]^T,j=1,...p Wj=[wj1,wj2,...,wjn]T,j=1,...p
输入输出关系:
输入输出之间为竞争关系,输出层只有1个结点能够输出(set to 1),其他的结点将被抑制(set to 0)
竞争规则
计算每个输出节点权值和输入之间的二范数,最小的能够输出:
u j = { 1 , i f ∥ W j − X ( k ) ∥ 2 → min 0 , o t h e r w i s e u_j=\begin{cases}1,&if\Vert W_j-X(k)\Vert^2\rarr\min\\0,&otherwise\end{cases} uj={1,0,if∥Wj−X(k)∥2→minotherwise
学习算法
学习权值 W j W_j Wj
算法1:
给定训练集 { X ( k ) } \{X(k)\} {X(k)}
初始化
W j ( 0 ) W_j(0) Wj(0)为比较小的随机数, k ← 0 k\larr0 k←0
如果有先验知识,可以根据先验知识进行初始化
利用 X ( k ) X(k) X(k),更新 W j W_j Wj:
寻找和 X ( k ) X(k) X(k)距离最小的权值矢量 W q W_q Wq:
min j { ∥ W j − X ( k ) ∥ } = ∥ W q − X ( k ) ∥ = d q , ( ∥ X − Y ∥ = ( ∑ i ( x i − y i ) 2 ) 1 / 2 ) \min\limits_j\{\Vert W_j-X(k)\Vert\}=\Vert W_q-X(k)\Vert=d_q,(\Vert X-Y\Vert=(\sum_i(x_i-y_i)^2)^{1/2}) jmin{∥Wj−X(k)∥}=∥Wq−X(k)∥=dq,(∥X−Y∥=(∑i(xi−yi)2)1/2)
定义以获胜权值 W q W_q Wq为中心的邻域范围 N q ( t k ) N_q(t_k) Nq(tk),其中 t k t_k tk为该权值获胜的次数,更新该邻域范围内的权值:
W j ( t k + 1 ) = W j ( t k ) + α ( t k ) [ X ( k ) − W j ( t k ) ] , j ∈ N q ( t k ) W_j(t_k+1)=W_j(t_k)+\alpha(t_k)[X(k)-W_j(t_k)],j\in N_q(t_k) Wj(tk+1)=Wj(tk)+α(tk)[X(k)−Wj(tk)],j∈Nq(tk)
其中 α ( t k ) \alpha(t_k) α(tk)为学习步长: 0 < α ( t k ) < 1 0<\alpha(t_k)<1 0<α(tk)<1
邻域定义:满足 ∥ W j − W q ∥ ≤ N q ( t k ) \Vert W_j-W_q\Vert\leq N_q(t_k) ∥Wj−Wq∥≤Nq(tk)的所有 j j j结点
事先要定义半径,半径也可以是可变的
k ← k + 1 k\larr k+1 k←k+1,直到网络收敛
算法2:
在算法1的 W j W_j Wj更新部分做了一些改进:
使得 d j k 2 = ∥ X ( k ) − W j ∥ 2 d_{jk}^2=\Vert X(k)-W_j\Vert^2 djk2=∥X(k)−Wj∥2
计算 h j ( k ) = e − d j k 2 ( k ) 2 σ 2 ( k ) h_j(k)=e^{-\frac{d_{jk}^2(k)}{2\sigma^2(k)}} hj(k)=e−2σ2(k)djk2(k)——高斯函数
权值更新算法为(所有权值都可以修改,但修改程度不一样):
W j ( k + 1 ) = W j ( k ) + α ( k ) h j ( k ) [ X ( k ) − W j ( t k ) ] , j = 1 , 2 , . . . , p W_j(k+1)=W_j(k)+\alpha(k)h_j(k)[X(k)-W_j(t_k)],j=1,2,...,p Wj(k+1)=Wj(k)+α(k)hj(k)[X(k)−Wj(tk)],j=1,2,...,p
其中 σ 2 ( k ) = σ 0 2 e − k / τ 1 , σ 0 2 , τ 1 \sigma^2(k)=\sigma_0^2e^{-k/\tau_1},\sigma_0^2,\tau_1 σ2(k)=σ02e−k/τ1,σ02,τ1为需要合适选择的固定参数。推荐 τ 1 = 1000 ln σ 0 \tau_1=\frac{1000}{\ln\sigma_0} τ1=lnσ01000
其他部分与算法1相同
如果 W j = X ( k ) , h j ( k ) = 1 W_j=X(k),h_j(k)=1 Wj=X(k),hj(k)=1,如果 W j ≠ X ( k ) , h j ( k ) W_j\not=X(k),h_j(k) Wj=X(k),hj(k)根据高斯函数减小
在这个算法中,在竞争中获胜的权值获得的更新最大,离获胜权值越远的结点的权值更新越小。
其他还有一些改进算法
- 定义合适的 α ( t k ) \alpha(t_k) α(tk),使得它随权值更新的次数变化而变化,如果更新次数增加,步长应减小
讨论
算法的收敛性
- 该算法经过训练应该将样本分为 p p p个子空间 V j V_j Vj,每个子空间的的中心矢量为 V j ∗ V_{j^*} Vj∗,也被称为 V j V_j Vj的聚类中心
- 通过证明可得: W j → V j ∗ , j = 1 , . . . , 0 W_j\rarr V_{j^*},j=1,...,0 Wj→Vj∗,j=1,...,0
竞争算法(Competitive Learning Algorithm,CL)
- Winner-takes-all
- 是一种典型的无监督算法
- 通过竞争算法寻找聚类中心,权值矢量就是中心的近似值
邻域的选择
- 算法1中邻域范围鲜明,只有邻域内的权值才能被修改
- 算法2中选择了类似高斯函数的平滑函数,使得所有的权值都可以修改
学习步长的选择
- 获胜次数越多,学习步长越小;使得在竞争过程中,所有的结点都能有修改机会
如何使用SOM网络进行分类
在训练过程结束后,所有的权值都已经收敛。接下来使用下面的算法即可进行分类
计算输入矢量 X X X和所有权矢量之间的距离:
d j = ∥ X − W j ∥ , j = 1 , . . . , p d_j=\Vert X-W_j\Vert,j=1,...,p dj=∥X−Wj∥,j=1,...,p
寻找所有 d j d_j dj中最小的距离 d q d_q dq
d q = min j { ∥ X − W j ∥ } d_q=\min\limits_j\{\Vert X-W_j\Vert\} dq=jmin{∥X−Wj∥}
定义 y i y_i yi:
y i = { 1 , i f j = q 0 , i f j ≠ q y_i=\begin{cases}1,&if\quad j=q\\0,&if\quad j\not=q\end{cases} yi={1,0,ifj=qifj=q
分类
将输入 X X X分为第 q q q类
【神经网络】自组织特征映射网络(SOM)相关推荐
- 利用ANN作图——自组织特征映射网络(SOFM)探究及实现
利用ANN作图--自组织特征映射网络(SOFM)探究及实现 在研究生的<人工智能>课堂上学习了利用人工神经网络(ANN)解决问题的基本思想与方法,在学习了自组织特征映射网络(SOFM)之后 ...
- 什么是自组织特征映射网络?
什么是自组织特征映射网络?
- SOM -- 自组织特征映射网络
SOM的优缺点 优点:SOM由于地形序的影响,最后产生的聚类结果具有比较高的的可视化和可解释性,而且与K-Means不同的是,由于每次增量的更新所有的质心,因此他受初始质心选取的影响很小. 缺点:没有 ...
- 机器学习 竞争神经网络与自组织特征映射神经网络(SOFM)
本文按照 案例-分析-代码-原理 四段式进行介绍,为便于有一定理论基础的童鞋进行学习,将原理以链接其他博客的形式给出,有兴趣的童鞋可以跳转进行学习和推敲. [案例介绍]利用竞争神经网络和自组织特征隐射 ...
- 自组织特征映射(SOFM或SOM)网络解决旅行商问题(TSP)
自组织特征映射(Self-Organizing Feature Map)网络介绍: 由输入层,输出层神经元节点构成的神经网络(由输入层,隐层神经元节点构成的神经网络) 无监督学习 学习准则是胜者为王学 ...
- 机器学习之自组织特征映射神经网络(SOM)
SOM是一类"无监督学习"模型,一般的用法是将高维的input数据在低维的空间表示,因此SOM天然是一种降维方法.除了降维,SOM还可以用于数据可视化,以及聚类等应用中[2]. 定 ...
- 自组织特征映射神经网络(SOFM)
1981年芬兰 Helsink 大学的 T·Kohonen 教授提出一种自组织特征映射网 (Self-Organizing Feature Map , SOFM ), 又称 Kohonen 网 . K ...
- 关于SOM(self-organized map)自组织特征映射神经网络的理解
som网络结构 对SOM进行理解,首先要明确它的定位. 首先它是神经网络的一种,那么就有属于神经网络共同的性质.比如输入层,输出层.刚好,SOM网络只有这两层. (上面两张是典型的som网络结构图) ...
- SOFM自组织特征映射第一步:选取样本点
1.选取三种指数,均为栅格数据,进行栅格裁剪统一大小,并归一化处理 栅格裁剪步骤:数据管理工具->栅格->栅格处理->裁剪 归一化步骤:Spatial Analyst工具->叠 ...
最新文章
- python pymysql
- linux学习之shell基础篇
- 非此即彼的逻辑错误_辩证思维与逻辑思维相对立
- Java线程同步:synchronized锁住的是代码还是对象
- Netsclaer配置
- C# 线程手册 第三章 使用线程 Monitor.TryEnter()
- PyQt5案例汇总(完整版)
- datatable怎么根据两列分组_公司要IT转型,我该怎么办?用Python进行数据处理
- Java基础篇(04):日期与时间API用法详解
- 关于iOS原生条形码扫描,你需要注意的两三事
- IPython 的使用
- JavaScript之继承(原型链)
- 李彦宏被泼水,是“多数人的暴力”还是“群众的宣泄”
- 18个黑科技网站,你想要的软件都能找到,请收藏!!!
- MongoDB官网下载和安装(ZIP安装)
- 800家电子元器件供应商及代理商
- html代码鼠的故事游戏,分享一个html+js实现打地鼠游戏的实例代码
- 超小型模块:IDO-SOM2D01可应用于物联网智能网关等领域
- 配合屏幕录像专家,又小又清晰!
- combo是什么意思啊(combo卡是什么意思)
热门文章
- Gmod lua插件(Dishonored_Jump)解析
- k30pro刷鸿蒙,k30pro没有高刷的个人看法
- 应用服务器巡检,服务器巡检-常规检查项
- HTML店铺,店铺排行.html
- 野生酸枣营养价值吃法 野生酸枣的功效与作用
- ubuntu安装sogou中文输入法
- PHP学习笔记(整理完成)
- c语言结构体学习整理(结构体初始化,结构体指针)
- smtp 发送html格式,如何发送HTML格式的电子邮件?
- 【转载】胖客户端(C/S模式) 、瘦客户端(B/S模式) 和智能客户端(SC/S模式)三种模式的比较