自组织特征映射的主要目的是将任意维数的输入信号模式转变为一维或二维的离散映射,并且以拓扑有序的方式实现这个变换。呈现给网络的每个输入模式,通常包含面对平静背景的一个局部化活动区域或“点”,这个点的位置和性质通常随输入模式的实现不同而不同,因此网络中所有神经元赢经历输入模式的足够次数的不同实现,确保有机会完成恰当的自组织过程。
负责形成自组织映射的算法,第一步进行网络突触权值的初始化。这个工作可以从随机数产生器中挑选较小的值赋予它们,这样做在特征映射上没有加载任何先验的序。一旦网络被恰当初始化,在后续的自组织映射的形成中有三个主要过程。
1.竞争。对每个输入模式,网络中的神经元计算它们各自的判别函数的值。这个判别函数为神经元之间的竞争提供基础,具有判别函数最大值的特定神经元成为竞争的胜利者。
2.合作。获胜神经元决定兴奋神经元的拓扑邻域的空间位置,从而提供这样的相邻神经元合作的基础。
3.突触调节。最后的这一机制使兴奋神经元通过它们突触权值的适当调节以增加它们关于该输入模式的判别函数值,所做的调节使获胜神经元对以后相似输入模式的响应增强了。
竞争过程
令m表示输入数据的空间维数,从输入空间中随机选择输入模式(向量)记为
(1)
x
=
[
x
1
,
x
2
,
…
,
x
m
]
T
x=[x_1,x_2,\dots,x_m]^T \tag{1}
x=[x1,x2,…,xm]T(1)
网络中每个神经元的突触权值向量和输入空间的维数相同,神经元
j
j
j的突触权值向量记为
(2)
w
j
=
[
w
j
1
,
w
j
2
,
…
,
w
j
m
]
T
,
j
=
1
,
2
,
…
,
l
w_j=[w_{j1},w_{j2},\dots,w_{jm}]^T,j=1,2,\dots,l\tag{2}
wj=[wj1,wj2,…,wjm]T,j=1,2,…,l(2)
其中
l
l
l是网络中神经元的总数。为了找到输入向量
x
x
x和突触权值向量
w
j
w_j
wj的最佳匹配,对
j
=
1
,
2
,
…
,
l
j=1,2,\dots,l
j=1,2,…,l比较内积
w
j
T
x
w_j^Tx
wjTx并选择最大者,等价于向量
x
x
x和
w
j
w_j
wj的欧氏距离最小化。用索引
i
(
x
)
i(x)
i(x)表示最优匹配向量
x
x
x的神经元下标,则有
(3)
i
(
x
)
=
a
r
g
m
i
n
j
∣
∣
x
−
w
j
∣
∣
,
j
∈
A
i(x)=argmin_j||x-w_j||,j\in\mathcal{A}\tag{3}
i(x)=argminj∣∣x−wj∣∣,j∈A(3)
激活模式的连续输入空间通过网络中神经元之间的竞争过程映射到神经元的离散输出空间。
合作过程
获胜神经元位于合作神经元的拓扑邻域中心,关键是如何定义神经生物学上的拓扑邻域。生物大脑中有个侧向相互作用现象,指的是,一个点火激活的神经元倾向于激活它紧接的领域内的神经元而不是和它隔的远的神经元。于是在这里,可以对获胜神经元拓扑邻域内的激活程度按侧向距离光滑缩减。
设
h
j
,
i
h_{j,i}
hj,i表示以获胜神经元
i
i
i为中心的拓扑邻域内的一组神经元的激活程度,其中一个神经元记为
j
j
j。假定
h
j
,
i
h_{j,i}
hj,i是侧向距离
d
j
,
i
d_{j,i}
dj,i的单峰函数,并有一下两个要求:
1.在
d
j
,
i
=
0
d_{j,i}=0
dj,i=0处达到最大值,并以
d
j
,
i
=
0
d_{j,i}=0
dj,i=0为中心对称。
2.拓扑邻域
h
j
,
i
h_{j,i}
hj,i的幅度值按侧向距离
d
j
,
i
d_{j,i}
dj,i的增加而单调递减,
d
j
,
i
→
∞
d_{j,i}\rightarrow\infty
dj,i→∞时趋于零。
满足这些要求的一个选择是高斯函数
(4)
h
j
,
i
=
e
x
p
(
−
d
j
,
i
2
2
σ
2
)
,
j
∈
A
h_{j,i}=exp(-\frac{d_{j,i}^2}{2\sigma^2}),j\in\mathcal{A}\tag{4}
hj,i=exp(−2σ2dj,i2),j∈A(4)
其中
σ
\sigma
σ是拓扑邻域的“有效宽度”,决定靠近获胜神经元的兴奋神经元在学习过程中参与的程度,邻域的大小随时间收缩。
(5)
σ
(
n
)
=
σ
0
e
x
p
(
−
n
τ
1
)
n
=
0
,
1
,
2
,
…
\sigma(n)=\sigma_0exp(-\frac{n}{\tau_1})\ n=0,1,2,\dots\tag{5}
σ(n)=σ0exp(−τ1n) n=0,1,2,…(5)
其中
σ
0
\sigma_0
σ0是初始值,
τ
1
\tau_1
τ1是设定的时间常数,
n
n
n是离散时间步。
自适应过程
为了使网络成为自组织的,要求神经元
j
j
j的突触权值向量
w
j
w_j
wj随输入向量
x
x
x改变。
(6)
Δ
w
j
=
η
h
j
,
i
(
x
)
(
x
−
w
j
)
\Delta w_j=\eta h_{j,i(x)}(x-w_j)\tag{6}
Δwj=ηhj,i(x)(x−wj)(6)
(7)
w
j
(
n
+
1
)
=
w
j
(
n
)
+
η
(
n
)
h
j
,
i
(
x
)
(
n
)
(
x
(
n
)
−
w
j
(
n
)
)
w_j(n+1)=w_j(n)+\eta(n)h_{j,i(x)}(n)(x(n)-w_j(n))\tag{7}
wj(n+1)=wj(n)+η(n)hj,i(x)(n)(x(n)−wj(n))(7)
其中学习率
η
(
n
)
\eta(n)
η(n)从
η
0
\eta_0
η0开始时间
n
n
n增加而下降
(8)
η
(
n
)
=
η
0
e
x
p
(
−
n
τ
2
)
,
n
=
0
,
1
,
2
,
…
\eta(n)=\eta_0exp(-\frac{n}{\tau^2}),n=0,1,2,\dots\tag{8}
η(n)=η0exp(−τ2n),n=0,1,2,…(8)
自适应过程的排序和收敛阶段
1.自组织或排序阶段。在自适应的第一阶段形成权值向量的拓扑排序,可能需要1000次迭代或更多,可能需要仔细考虑学习率和邻域函数,一般可以取
η
0
=
0.1
,
τ
2
=
1000
,
τ
1
=
1000
l
o
g
σ
0
\eta_0=0.1,\tau_2=1000,\tau_1=\frac{1000}{log\sigma_0}
η0=0.1,τ2=1000,τ1=logσ01000。
2.收敛阶段。自适应过程的第二阶段需要微调特征映射从而提供输入空间的准确统计量。达到收敛的迭代次数依赖输入空间的维数,一般来说,迭代次数至少是神经元数目的500倍,可能需要进行几千次甚至上万次的迭代。邻域函数应仅包括获胜神经元的最近邻域,最终减到一个或零个邻域神经元。
性质
给定连续输入空间向量 x x x,SOM给出离散输出空间神经元 i ( x ) i(x) i(x),神经元 i ( x ) i(x) i(x)的突触全指向量可以视为神经元只想输入空间的指针。
核自组织映射
Kohonen的自组织映射算法对于探测大量高维数据是很强大的工具,然而存在两个局限:
1.由算法提供的输入空间概率密度函数的估计缺少精度。
2.算法的构成中不存在可以用于最优化的目标函数,考虑算法的非线性随机特征,缺少目标函数是对于收敛性的证明这一问题变的更加困难。因此Van Hulle(2002b)提出基于核的自组织映射,改善了拓扑映射。