(《机器学习》完整版系列)第5章 神经网络——5.2 RBF网络(单层RBF就可解决异或问题)与ART网络(实现“自适应谐振”)
单层RBF神经网络就可解决异或问题。
ART网络已发展出一个了一个算法族,需要理解它是如何实现“自适应谐振”的。
RBF网络
径向基函数网络RBF如图5.3所示,此图为缩略图,即一个圆圈代表一组圆圈。
分为两部分:左边的虚线框确定神经元中心
c
\boldsymbol{c}
c,可用聚类算法找出各类的中心作为神经元中心,右边虚线框为一个前馈神经网。 下面我们将右边虚线框展开成图5.4(此时
c
\boldsymbol{c}
c为已确定,视为常数):
显然,图5.4是一个类BP网络,其特点是使用径向基函数 ρ \rho ρ作为隐层神经元的激活函数。 当然不是套用前述BP网络更新公式,而是依其思路导出自己的更新公式。
RBF网络的输出是一个实数值,用于回归预测任务,而BP网络的输出是一个向量,用于分类任务。
我们构造一个单层RBF神经网络解决异或问题,异或问题的训练集即为异或真值表5.1。
作单层RBF神经网络,如图5.5所示。
隐层四个点的坐标即为图5.5中的四个点,即
C
i
j
=
(
i
,
j
)
,
i
,
j
∈
{
0
,
1
}
\mathbf{C}_{ij}=(i,j),\,i,j \in \{0,1\}
Cij=(i,j),i,j∈{0,1},由【西瓜书式(5.19)】有
ρ
(
x
,
C
i
j
)
=
e
−
β
∥
x
−
C
i
j
∥
2
=
{
1
,
(
x
=
C
i
j
)
e
−
β
或
e
−
2
β
,
(
x
≠
C
i
j
)
\begin{align} \rho (\boldsymbol{x},\mathbf{C}_{ij}) & =\mathrm{e}^{-\beta {\Vert\boldsymbol{x}-\mathbf{C}_{ij} \Vert}^2 }\notag \\ & = \begin{cases} 1\, , & \qquad (\boldsymbol{x}=\mathbf{C}_{ij}) \\ \mathrm{e}^{-\beta}\ \text{或}\ \mathrm{e}^{-{2}\beta }\, , & \qquad (\boldsymbol{x}\neq \mathbf{C}_{ij}) \end{cases} \tag{5.10} \end{align}
ρ(x,Cij)=e−β∥x−Cij∥2={1,e−β 或 e−2β,(x=Cij)(x=Cij)(5.10)
其中,参数
β
\beta
β采取共享方式。 若以式(5.10)的值表示亮度,则取足够大的
β
\beta
β,使得
e
−
β
<
1
2
\mathrm{e}^{-\beta}< \frac{1}{2}
e−β<21,表示“灯暗”。
再设隐层两白圈至输出结点的权重为1,两灰圈至输出结点的权重为0,则由【西瓜书式(5.18)】,该RBF的输出为
φ
(
x
)
=
{
1
+
e
−
2
β
,
(
白灯亮时
)
2
e
−
β
,
(
灰灯亮时
)
\begin{align} \varphi (\boldsymbol{x}) = \begin{cases} 1+\mathrm{e}^{-{2} \beta}\, , & \qquad (\text{白灯亮时}) \\ 2\mathrm{e}^{-\beta}\, , & \qquad (\text{灰灯亮时}) \end{cases} \tag{5.11} \end{align}
φ(x)={1+e−2β,2e−β,(白灯亮时)(灰灯亮时)(5.11)
再增加一阶跃函数【西瓜书图5.2(a)】变换,即
y
=
s
g
n
(
φ
(
x
)
−
1
)
y=\mathrm{sgn}(\varphi (\boldsymbol{x})-1)
y=sgn(φ(x)−1),
则该网络实现了异或运算。
ART网络
ART网络已发展出一个了一个算法族,【西瓜书】对ART进行了简介,这里结合图5.6作进一步说明,以便理解如何实现“自适应谐振”的。
如图5.6所示是ART网络的简单情况,组成如下:
- 左则为网络部分,由两层神经元构成两个子系统:比较层 C C C和识别层 R R R;
- 右则为控制部分:由阈值 ρ \rho ρ 、重置Reset和逻辑控制信号组成,其中,两个逻辑控制信号 G 1 G_1 G1和 G 2 G_2 G2,分别制控两个子系统;
- 输入层结点(向量 x \boldsymbol{x} x的分量)与比较层 C C C的神经元是一一对应的。 输入层输入的向量 x \boldsymbol{x} x称为模式(因为ART网络初期用于模式识别,故有此名),最简单的模式为黑白图像,对应的向量就是二值向量,即分量为0或1;
- 比较层 C C C和识别层 R R R之间,为有向全连接,前向连接权重矩阵为 W \mathbf{W} W,图示的 w \boldsymbol{w} w代表从 C C C的一个神经元出发射向R所有神经元的一组射线的权重向量,后向连接权重矩阵为 T \boldsymbol{T} T,图示的 t \boldsymbol{t} t代表从 R R R的一个神经元出发射向 C C C所有神经元的一组射线的权重向量。
ART网络的功能分解:
(1)识别层
R
R
R的记忆功能:
R
R
R层的每个神经元充当聚类(聚类概念请参考第9章)的一个簇中心,
K
K
K个神经元代表
K
K
K个簇(类),设第
k
k
k个神经元为
r
k
r_k
rk,如何使它代表第
k
k
k簇(类)呢?方法就是让这个神经元把第
k
k
k簇(类)中心点的向量(坐标)存起来,这里,不光是存起来,还将其作为后向连接的权重向量
t
\boldsymbol{t}
t,如图5.7所示。
图5.7中可以看出权重向量
t
\boldsymbol{t}
t是从
r
k
r_k
rk出发的向量,故后向连接的权重向量
t
\boldsymbol{t}
t称为外星权重向量,相应地,前向连接的权重向量
w
\boldsymbol{w}
w称为内星权重向量。
(2)识别层 R R R的识别功能: R R R层可以用一个前馈神经网络来实现,即对一个输入模式 x \boldsymbol{x} x,该层通过竞争产生一个响应结点 r k r_k rk,说明输入模式 x \boldsymbol{x} x“疑似”属于结点 r k r_k rk,再交由比较层决策。
(3)识别层 R R R的学新功能:当输入模式 x \boldsymbol{x} x不能归入R的任一簇(类)中时,该层产生一个新结点,作为一个新的簇(类)。 通过这种方法 R R R层“不忘旧知识,学习新知识”。
(4)比较层 C C C的比较功能:针对上述“疑似”情况,计算 x \boldsymbol{x} x与结点 r k r_k rk(后向连接权重向量 t \boldsymbol{t} t)的相似度,当相似度超过阈值 ρ \rho ρ时,认为该输入模式 x \boldsymbol{x} x属于结点 r k r_k rk。
(5)优化功能:当比较层 C C C认为输入模式 x \boldsymbol{x} x属于结点 r k r_k rk时,调整该结点 r k r_k rk的前向连接权重向量 w \boldsymbol{w} w和后向连接权重向量 t \boldsymbol{t} t,使该输入模式 x \boldsymbol{x} x和该结点 r k r_k rk间更适配,即 x \boldsymbol{x} x更易激活该结点 r k r_k rk,并获得更高的相似度,其几何解释为:簇(类) r k r_k rk由于 x \boldsymbol{x} x的加入,其重心会向 x \boldsymbol{x} x稍作偏移。 两组权重同时调整,故为“谐振”。
(6)控制功能:逻辑控制信号 G 1 G_1 G1控制网络的运行阶段,当 G 1 = 1 G_1=1 G1=1指示比较层让道,让输入模式 x \boldsymbol{x} x直接通过,以便实现上述(1),当(1)完成后,调整 G 1 = 0 G_1=0 G1=0完成网络的后续功能。 下一次输入前再设 G 1 = 1 G_1=1 G1=1。 信号 G 2 = 0 G_2=0 G2=0针对识别层控制:当输入 x = 0 \boldsymbol{x}=0 x=0时,它与任意向量 w \boldsymbol{w} w的内积都为0,产生不了竞争胜出结点,这种特殊情况由信号 G 2 = 0 G_2=0 G2=0指定某结点胜出。
有了上述功能分解,就可以得到ART网络的运行流程,原理如下(略去表达式):
(1)网络初始化:主要是初始化识别层各结点的前向连接权重向量 w \boldsymbol{w} w和后向连接权重向量 t \boldsymbol{t} t,以及阈值 ρ \rho ρ及逻辑控制信号 G 1 G_1 G1和 G 2 G_2 G2;
(2)输入新 x \boldsymbol{x} x:此时 G 1 = 1 G_1=1 G1=1,故模式 x \boldsymbol{x} x直接穿过比较层 C C C,经 W \mathbf{W} W到达识别层 R R R;
(3) 产生响应结点 r k r_k rk:即上述识别层 R R R的识别功能,并置 G 1 = 0 G_1=0 G1=0;
(4)比较:即上述比较层 C C C的比较功能,当认为该输入模式 x \boldsymbol{x} x属于结点 r k r_k rk,转入(7),否则:
(5)重置Reset:取消对 x \boldsymbol{x} x的识别结果,恢复 G 1 = 1 G_1=1 G1=1,返回(2)进行重新识别,此时,将上轮的“疑似”结点排除在识别范围之外,重新识别的结果实际上是上轮的第2名结点(“次疑似”结点)胜出,若存在该胜出结点,则转入(7),否则:
(6) R R R增加新结点:当(5)的识别范围为空时转入此步,实现上述识别层 R R R的学新功能;
(7)优化网络:上述优化功能起作用;
(8)至此,已完成了一个样本 x \boldsymbol{x} x的学习,以此为基础可以输入下一个模式 x \boldsymbol{x} x:置 G 1 = 0 G_1=0 G1=0,返回(2)学习新样本,此循环可以不断地学习。
本文为原创,您可以:
- 点赞(支持博主)
- 收藏(待以后看)
- 转发(他考研或学习,正需要)
- 评论(或讨论)
- 引用(支持原创)
- 不侵权
上一篇:5.1 误差逆传播算法(BP算法)
下一篇:5.3 SOW网络(“灯阵”面板)、Elman网络(将训练集转化时序数据)、Boltzmann机(达到Boltzmann分布)
相关文章
- (《机器学习》完整版系列)第5章 神经网络——5.3 SOW网络(“灯阵”面板)、Elman网络(将训练集转化时序数据)、Boltzmann机(达到Boltzmann分布)
- 腾讯面试——机器学习面试全流程案例
- 机器学习笔记之生成对抗网络(一)逻辑介绍
- 机器学习笔记之深度信念网络(三)贪心逐层预训练算法
- 机器学习笔记之深度信念网络(二)模型构建思想(RBM叠加结构)
- Linux集群和自动化维1.4.4 Linux下CPU使用率与机器负载的关系与区别
- Apache Spark机器学习3.6 结果解释
- 《Python机器学习实践指南》——导读
- 如何解决机器重启后MySql服务跑不起来了1067,附解决过程
- Ingenu宣布将联合MEC Telematik推出覆盖整个中东的机器网络