自组织特征映射神经网络(SOM)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
x1 x2
xn
Kohonen 认为神经网络在接受外界激励时, 各区域会有不同的响应特征, 各连接权会有不同的分布变化。 邻近的神经元相互激励,较远的神经元相互抑制; 响应最强的区域形成一个局部峰值 (称为Bubble—墨西哥帽)。 同时,权向量也将以某一矢量为中心形成局部区域。 SOM网络既是按此原理构成。
CH.6
自组织特征映射神经网络
Neural Network
Learning Algorithm
h Supervised Learning NN (有监督、有教师) h 自组织特征映射 -- Self Organization Feature Mapping (SOM)
Y (k ) D(k )
X (k )
k ← k + 1,
goto (ii),
直到网络收敛为止。
2 算法 II (改进算法): 在算法 I 中的 (ii).d 中采用如下算法修改权值: 首先令 d = X (k ) − W j
2 jk 2
计算 其中
h j (k ) = e σ (k ) = σ 02 e− k /τ , σ 02 , τ 1
j = 1, 2,..., p
W j = X (k ), W j ≠ X (k ),
h j (k ) = 1;
h j (k ) 按高斯曲线下降,
--使得在竞争中获胜的权值得到修改的程度最大, 而离获胜者越远,权值得到修改的程度越小。 还有其它改进算法 例如: α (t ) 的改进,使其与当前单元对应的权值修改次数有关,
…
{ X (k ) } -- 矢量样本集。
例如 N=1024.
2 码本设计
(1) 选定码本规模: Β = { B j }, j = 1,..., N 每个 B j 为 L 维矢量 (本例 L =9)
(2) SOM网络结构
(2) SOM网络结构
各权矢量:
q
U out d q = min{d j }
W j = [ w j1 , w j 2 ,..., w jL ]T
k
1 + C ( j)
4 如何应用SOM网络进行分类?
学习结束后(权值已收敛), 用下述方法对输入 X 进行分类: (1) 计算 X 与所有权矢量
yq = 1
.
… . . … …
W j 的距离:
d j = X −W j ,
(2) 在所有
j = 1,..., p
dq :
(第
j
x1 x2 q 个单元的输出为
) Unsupervised Learning NN (无监督、无教师)学习神经网络 -- Kohonen 提出(1981年), 用于自动分类、寻找聚类中心.
6.1 SOM 神经网络及其学习算法
一、网络模型 输入: n 维, 输出:
X = [ x1 , x2 ,..., xn ] p 个节点, Y = [ y , y ,..., y ]T p 1 2
j*
接到 j *后, 以其为地址, 从B中读出 B j*, 用
B j* ≈ X ( k )
j*
-- 达到大规模压缩数据。
为实现矢量量化,主要包括两方面:
(1) 寻找最佳矢量 B j* ;
(2) 码本设计 (设计一个好的码本); (1) 寻找最佳矢量: 给定X(k), 如何在 { B j }中寻找一个最接近X(k)的矢量 B j* ? ( 可用最小距离准则: 计算 d j = X ( k ) − B j , 找出最小距离 d j* = min{d j } j 标号为 j * 的矢量 B j* 即为对应X(k)的最佳矢量。 解决出路:并行算法,并行机。 (2) 码本设计问题: 重要而困难的问题! • 传统方法: 例如 LBG 方法, 计算量大,不易实现。 • 神经网络方法,尤其SOM网络, 开辟新的途径,引起研究兴趣。 以图像压缩为例,讨论如何用SOM网络,解决这两个问题。 二、 SOM网络图象数据压缩方法 数字图象: NXM点阵,每像素8bit, 1 将图象数据转化为矢量数据 像素P(m,n): 0-255之间的数。用P(m,n)构成矢量 (如用3X3窗口):
⎡P ⎢ 1,1 ⎢ P2,1 ⎢ P ⎢ ⎣ 3,1
共7396个训练矢量。 码本规模:N=512 用 SOM 网络进行矢量量化,实现图像数据压缩
k
随修改次数增加,使
α (tk ) ↓ 。
三、讨论
1 关于算法的收敛性(简述) 设可将输入样本集合 { X ( k ), k = 1,..., M } 划分为 p 个子区间 每个 V j 中有一个中心矢量 于是可证明: W j 2 竞争学习算法
→ V j*
V j*
-- 聚类中心, 在物理上
j = 1,..., p
q
q
信道
接收器 SOM
Bq
图像 恢复
ˆ ( m, n, t ) P
网络
( 在发射端和接收端,
SOM网络的权 { W j
} 即是码本;
重构图象
对每个由图象数据构成的矢量 X(k), 接收 q
找出一个最接近的 Wq
在接收SOM网络中取出 Wq
ˆ ( m, n, t ) P
传输标号 q
( 通过上述方法达到图象压缩的目的; 对于多媒体数据存储问题, 将上述框图中的信道改为存储媒体即可。 举例:将多媒体图象存到光盘里, 先训练好相应的SOM网络, 将训练好的权矢量 及其一系列标号存到盘里, 播放时再利用SOM网络及其标号重构图象。 由此可节省大量存储空间。
xn
dj
中,找出最小距离
(3) 于是令:
⎧1 , if j = q yj = ⎨ ⎩0 , if j ≠ q
d q = min{ X − W j }
1,其余为 0 )
(4) 分类: 将 X 分为
q
类
-- 输出为 1 的单元所对应的类别作为分类结果。
6.2 SOM 网络在矢量量化中的应用
一、矢量量化 标量量化: 将采样信号 x (t1 ), x (t2 ) ,… 一个一个地进行量化; 矢量量化: 先将一组信号表示成一个矢量
d2 jk ( k ) 2σ 2 ( k )
h j (k ) = e
−
(高斯函数)
W j (k + 1) = W j (k ) + α (k ) h j (k )[ X (k ) − W j (tk )]
一般须满足: 0 < α (tk ) < 1 此外,有的改进算法还与当前单元所对应的权值修改次数有关,与修改次数成反比。 c0 例如,设 C(j) 第 j 单元权值的修改次数,取 α (t , j ) = log
二、学习算法
1 算法 I: (i) 初始化:
- 各权矢量
W j 的确定
wji (0) ← Small random numbers(也可根据先验知识); , k ← 0; (ii) 输入 X(k) , 对 W 做下述操作: j c 求出 与 X(k) 最接近的权矢量 W , q 2 1/ 2 min{ W j − X (k ) = Wq − X (k ) = d q , ( X − Y = ( ∑ i ( xi − yi ) ) ) j d 定义单元 q 所在的邻域为 Nq (tk ), 将 Nq (tk ) 中各单元的权进行修改, 其它权值不变:
V j* 是
Vj , V j 的质心。
(Competitive Learning, CL)
仅修改竞争中获胜单元及其邻域的权值, 而在竞争中失败单元的权值不修改。 -- Winner-takes-all, 胜者为王; 赢家通吃。 通过竞争算法,建立起模式聚类中心 (权矢量趋近于各个聚类中心矢量)。 典型的“无教师”学习(Unsupervised Learning)算法。 3 学习算法中邻域的选取 算法 I: W j − Wq ≤ N q (tk ) ; 算法 II: 4 学习步长的选取、改进
x(t )
…
tk X (k ) = [ x(tk +1 ), x(tk + 2 ),..., x(tk + n )]T
t1 t2
t
然后对整个矢量统一进行量化 -- 一组一组地量化; 为什么矢量量化? 数据压缩! -- 一种非常有效的压缩方法。 举例: 用标量量化法, 将采样信号 x (t1 ) ,… ,x (tn )的值经信道传输到接收端, 用数字通信方法,设每个信号值用 8 bit表示, 传送n个信号值,需要 8n bits; ( 用矢量量化方法传输信号,原理思路如下面框图所示:
⎡P 1,1 ⎢ ⎢ P2,1 ⎢ ⎣ P3,1 P 1,2 P2,2 P3,2 P 1,3 ⎤ ⎥ P2,3 ⎥ P3,3 ⎥ ⎦
⎡P ⎡P 1,1 ⎤ 1,4 ⎤ ⎢P ⎥ ⎢P ⎥ 1,2 1,5 X (1) = ⎢ . ⎥ , X (2) = ⎢ . ⎥ , ⎢ . ⎥ ⎢ . ⎥ . . ⎢ ⎥ ⎢ ⎥ ⎣ P3,3 ⎦ ⎣ P3,6 ⎦
2 1
−
d2 jk ( k ) 2σ 2 ( k )
--高斯函数 为要适当选取的常数。有人建议取 τ 1 =
修改权值算法:
1000 ln σ 0
W j (k + 1) = W j (k ) + α (k ) h j (k )[ X (k ) − W j (tk )] ,
其它步骤与算法 I 相同。 由上面算法 可见, 对于 对于
x(t )
矢量 构成
B
码本
B 信道
X (k )
发送端
从码本中找到
j*
j*
接收端
B j*
B j*
信号 恢复
ˆ (t ) x
B j* ,仅发射 j *
从码本中读出
( 原理: 在发送端从码本中找到一个最佳矢量 B j* 来代替要被传送的矢量 X ( k ) , 仅需传送标号 j * 即可。 在接收端建立相同的码本B, 为传送 X ( k ),可不必传送 B j* 本身, 亦即: j* x(t ) X ( k ) B B ˆ (t ) x
W j (tk + 1) = W j (tk ) + α (tk )[ X (k ) − W j (tk )] ,
其中 α (tk ) 是学习步长, 邻域 (iii)
j ∈ N j (tk )
0 < α (tk ) < 1
Nq (tk ) 的选取:
例如选在
W j − Wq ≤ N q (tk ) 内的所有的 j 单元。
直到网络收敛为止。
( 步骤(iii) 为并行计算; ( 步骤(iv) 也可由神经网络实现并行计算。
3
应用SOM网络进行数据压缩 (1) 用SOM算法训练构成SOM网络 ; (2) 用训练好的 SOM网络按下面系统框图操作: B
矢量 构成 码本
P ( m, n, t )
B
X (k )
SOM 网络 发送端
应用举例:
应用 SOM 矢量量化方法进行图像数据压缩 (06级研究生杨清山)
训练图像: Lena 图像(256×256×8 bit) 训练样本集构造:将图像分成3×3的子块,
由子块构成矢量:
⎡P ⎡P 1,1 ⎤ 1,4 ⎤ ⎤ P P ⎢ ⎥ ⎢ ⎥ 1,2 1,3 ⎥ ⎢P ⎢P 1,2 ⎥ 1,5 ⎥ P2,2 P2,3 ⎥ ⇒ X (1) = ⎢ ⎥ , X (2) = ⎢ ⎥ ," ⇒ { X (k )} ⎥ ⎢ # ⎥ ⎢ # ⎥ P3,2 P3,3 ⎥ ⎦ ⎢ P3,3 ⎥ ⎢ P3,6 ⎥ ⎣ ⎦ ⎣ ⎦
算 法
W1
WN
x1 ( k ) x2 ( k ) ... xL ( k )
k ← 0;
Wj 与
X(k) 的距离 d j = X ( k ) − W j ,
d j 中找出最小距离 j = 1,..., N ; 用SOM算法修改权矢量 W j
k ← k + 1,
goto (iii),
j = 1,..., N ; d q = min{d j }, 输出标号 q ;
(3) 学习算法
(取定 L、N) (i) 初始化: Wj (0) ← [0,255] 之间的随机数; (ii) 构造图像矢量样本集 { X(k) }, (iii) 输入 X(k), 由各 U j计算出 (iv) 由输出单元 U 在所有 out (v) (vi)
d1 U1
…
dj
Uj
Wjቤተ መጻሕፍቲ ባይዱ
… U N
dN
SOM
T
输出层
.
.
. … …
…
输入层的每个节点与第 j 个输出单元之间的连接权记为:
W j = [ w j1 , w j 2 ,..., w jn ]T ,
j = 1,..., p
j =q 2 ⎧ ⎪1 , if W j − X (k ) → min yj = ⎨ ⎪ ⎩0 , otherwise
输出: 以竞争方式进行输出.在竞争中获胜的单元有输出(为 1 ); 其余单元无输出(为 0). 竞争原则: 具有与当前输入 X 距离最近的 权矢量 Wq 的单元 q 为竞争获胜者, 即