数字图像处理 第12章-目标识别
本章中介绍的模式识别方法主要分为两大领域:决策理论方法和结构方法。
第一类方法处理的是使用定量描绘子来描述的各种模式,如长度、面积和纹理等。
第二类方法处理的是由定性描绘子来描述的各种模式。
12.1 模式和模式类
模式是描绘子的组合。
在有关模式识别文献中经常使用特征来表示描绘子。模式类是指具有某些共同属性的一族模式。
模式类用 ω 1 , ω 2 , … ω W ω_1,ω_2,…ω_W ω1,ω2,…ωW表示,其中 W W W是模式类数。由机器完成的模式识别是对不同的模式赋予不同类别的技术,这种技术是自动的,并且尽可能地减少人的干预。
实践中常用的三种模式组合是向量(用于定量描述)、串和树(用于结构描述)。模式向量类似于下列表示:
x
=
[
x
1
x
2
⋅
⋅
⋅
x
n
]
x= \begin{bmatrix} \begin{matrix} x_1 \\x_2\\· ··\\x_n\\\end{matrix} \end{bmatrix}
x=
x1x2⋅⋅⋅xn
其中,每个分量x表示第i个描绘子,n是与该模式有关的描绘子的总数。
在某些应用中,模式特性可由结构关系来很好地描述。例如,指纹识别基于痕迹特性的相互关系,这种相互关系称为细节。与它们的相对尺寸和位置一起,这些特性是描述指纹脊线特性的主要分量,如指纹的断点、分支、合并和不连续线段。这类识别问题通常用结构的方法会得到很好解决,因为这种问题不仅定量度量每种特性,而且这些特性间的空间关系决定了类别的成员。
而对许多应用来说,一种更有效的方法是使用树形描述。基本上,多数层次排序方案都会导致树结构。
12.2 基于决策理论方法的识别
决策理论方法识别是以使用决策(或判别)函数为基础的。
12.2.1 匹配
基于匹配的识别技术通过一个原型模式向量来表示每个类。根据一种预先定义的度量,将一个未知模式赋予最接近的类。最简单的方法是最小距离分类器,如其名称所示,最小距离分类器计算该未知模式与每个原型向量间的(欧氏)距离。它选择最小距离来决策。我们还将探讨一种基于相关的方法,该方法可根据图像用公式来直接表达,因此相当直观。
最小距离分类器
假设我们把每个模式类的原型定义为该类模式的平均向量:
m
j
=
1
N
j
∑
x
∈
ω
j
x
j
j
=
1
,
2
,
⋅
⋅
⋅
,
W
m_j={1\over N_j}∑_{x∈ω_j}x_j\quad j=1,2,···,W
mj=Nj1x∈ωj∑xjj=1,2,⋅⋅⋅,W
其中,
N
j
N_j
Nj 是来自
ω
j
ω_j
ωj类模式向量的数量,求和操作是对所有这些向量执行的。如以前那样,W 是模式类的数量。如前所述,求未知模式向量x的类成员的一种方法是,将它赋给其最接近的原型类。使用欧氏距离求接近程度可将该问题简化为计算如下距离度量:
D
j
(
x
)
=
∣
∣
x
−
m
j
∣
∣
j
=
1
,
2
,
⋅
⋅
⋅
,
W
D_j(x)=||x-m_j||\quad j=1,2,···,W
Dj(x)=∣∣x−mj∣∣j=1,2,⋅⋅⋅,W
其中,
∣
∣
a
∣
∣
=
(
a
T
a
)
1
/
2
||a||=(a^Ta)^{1/2}
∣∣a∣∣=(aTa)1/2是欧几里得范数。然后,若
D
i
(
x
)
D_i(x)
Di(x)是最小距离,则把x赋给类
ω
i
ω_i
ωi。也就是说,最小距离意味着该式表示最好的匹配。选择最小距离等同于计算函数
d
j
(
x
)
=
x
T
m
j
−
1
2
m
j
T
m
j
j
=
1
,
2
,
⋅
⋅
⋅
,
W
d_j(x)=x^Tm_j-{1\over2}m_j^Tm_j\quad j=1,2,···,W
dj(x)=xTmj−21mjTmjj=1,2,⋅⋅⋅,W
并在
d
i
(
x
)
d_i(x)
di(x)获得最大数值时,将x划归类
ω
i
ω_i
ωi。
对于一个最小距离分类器,类
ω
i
ω_i
ωi和类
ω
j
ω_j
ωj之间的决策边界为
d
i
j
(
x
)
=
d
i
(
x
)
−
d
j
(
x
)
=
x
T
(
m
i
−
m
j
)
−
1
2
(
m
i
−
m
j
)
T
(
m
i
+
m
j
)
=
0
d_{ij}(x)=d_i(x)-d_j(x)=x^T(m_i-m_j)-{1\over 2}(m_i-m_j)^T(m_i+m_j)=0
dij(x)=di(x)−dj(x)=xT(mi−mj)−21(mi−mj)T(mi+mj)=0
该式给出的决策面是连接m,和m,的线段的垂直等分线。n=2时,垂直等分线是条直线,n=3时,它是一个平面,n>3时,称其为一个超平面。
相关匹配
大小为 m*n 的模版 w(x,y)与图像f(x,y)的相关可表示为
c
(
x
,
y
)
=
∑
∑
w
(
s
,
t
)
f
(
x
+
s
,
y
+
t
)
c(x,y)=∑∑w(s,t)f(x+s,y+t)
c(x,y)=∑∑w(s,t)f(x+s,y+t)
其中,求和的上下限取w和f的共同范围。对变量x和y的所有偏移值计算该式,以便w的所有元素访问f的每个像素,这里假设f大于w。就像空间卷积通过卷积定理与函数的傅里叶变换相联系那样空间相关通过相关定理与函数的变换相联系:
f
(
x
,
y
)
☆
w
(
x
,
y
)
↔
F
∗
(
u
,
v
)
W
(
u
,
v
)
f(x,y)☆ w(x,y)↔ F*(u,v)W(u,v)
f(x,y)☆w(x,y)↔F∗(u,v)W(u,v)
其中,☆表示空间相关,
F
∗
F*
F∗是F的复共轭。
我们使用如下的归一化相关系数:
γ
(
x
,
y
)
=
∑
s
∑
t
[
w
(
s
,
t
)
−
w
ˉ
]
[
f
(
x
+
s
,
y
+
t
)
−
f
ˉ
x
y
]
{
∑
s
∑
t
[
w
(
s
,
t
)
−
w
ˉ
]
2
∑
s
∑
t
[
f
(
x
+
s
,
y
+
t
)
−
f
ˉ
x
y
]
2
}
1
2
γ(x,y)={∑_s∑_t[w(s,t)-\bar w][f(x+s,y+t)-\bar f_{xy}]\over \{∑_s∑_t[w(s,t)-\bar w]^2∑_s∑_t[f(x+s,y+t)-\bar f_{xy}]^2\}^{1\over 2}}
γ(x,y)={∑s∑t[w(s,t)−wˉ]2∑s∑t[f(x+s,y+t)−fˉxy]2}21∑s∑t[w(s,t)−wˉ][f(x+s,y+t)−fˉxy]
其中,求和的上下限取w和f的共同范围,而
w
ˉ
\bar w
wˉ是模板的平均值(只计算一次),
f
ˉ
x
y
\bar f_{xy}
fˉxy是f中与w重合区域的平均值。通常,我们将w称为模板,而将相关称为模板匹配。
γ(x,y)的值域为[-1,1],因而f和w的幅度变化是归一化的。当归一化的w和f中对应的归一化区域相同时,γ(x,y)出现最大值。这说明了最大相关(即最好可能的匹配)。当两个归一化函数在该式的意义下表现出最小相似性时,会出现最小值。相关系数不能用傅里叶变换来计算,因为该式中存在非线性项(除法和平方)。
下图说明了刚才讨论的步骤的机理
12.2.2 最佳统计分类器
就像在大多数处理度量和判读物理事件的领域中那样,在模式识别中对概率的考虑变得十分重要,因为此时模式类通常会随机生成。
基础知识
来自类别
ω
i
ω_i
ωi的特定模式x的概率表示为
p
(
ω
i
/
x
)
p(ω_i/x)
p(ωi/x)。如果模式分类器判断x来自类
ω
j
ω_j
ωj,而实际上它来自类
ω
i
ω_i
ωi,那么分类器就会导致一次损失,表示为
L
i
j
L_{ij}
Lij。由于模式x可能属于所考虑的 W个类中的任何一个类,故将模式x赋予类
w
j
w_j
wj的平均损失为
r
j
(
x
)
=
∑
k
=
1
W
L
k
j
p
(
ω
k
/
x
)
r_j(x)=∑^W_{k=1}L_{kj}p(ω_k/x)
rj(x)=k=1∑WLkjp(ωk/x)
该式在决策理论术语中通常称为条件平均风险或损失。
由条件概率的公式,可以推导出如下公式:
r
j
(
x
)
=
1
p
(
x
)
∑
k
=
1
W
L
k
j
p
(
x
/
ω
k
)
P
(
ω
k
)
r_j(x)={1\over p(x)}∑^W_{k=1}L_{kj}p(x/ω_k)P(ω_k)
rj(x)=p(x)1k=1∑WLkjp(x/ωk)P(ωk)
其中,
p
(
x
/
ω
k
)
p(x/ω_k)
p(x/ωk)是来自类
ω
k
ω_k
ωk的模式的概率密度函数,
P
(
ω
k
)
P(ω_k)
P(ωk)是类
ω
k
)
ω_k)
ωk)出现的概率(有时这些概率称为先验概率)。
由于 1/p(x)为正,并且对所有的
r
j
(
x
)
,
j
=
1
,
2.
…
,
W
r_j(x),j=1,2.…,W
rj(x),j=1,2.…,W都是如此,则可以把上式简化为:
r
j
(
x
)
=
∑
k
=
1
W
L
k
j
p
(
x
/
ω
k
)
P
(
ω
k
)
r_j(x)=∑^W_{k=1}L_{kj}p(x/ω_k)P(ω_k)
rj(x)=k=1∑WLkjp(x/ωk)P(ωk)
分类器有 W个可能的类,任何给定的未知模式可从这些类中选择。
如果分类器为每个模式x计算 r 1 ( x ) , r 2 ( x ) , … , r W ( x ) r_1(x),r_2(x),…,r_W(x) r1(x),r2(x),…,rW(x),并将该模式以最低损失赋给相应的类,则关于所有决策的总体平均损失将是最低的。这种将总体平均损失降至最低的分类器称为贝叶斯分类器。
因此,如果
r
i
(
x
)
<
r
j
(
x
)
,
j
=
1
,
2
,
…
W
且
j
≠
i
r_i(x)<r_j(x),j= 1,2,…W且j≠i
ri(x)<rj(x),j=1,2,…W且j=i,那么贝叶斯分类器将未知模式x赋给类
ω
i
ω_i
ωi。换句话说,如果对所有的j且j≠i有
r
j
(
x
)
=
∑
k
=
1
W
L
k
j
p
(
x
/
ω
k
)
P
(
ω
k
)
<
∑
q
=
1
W
L
q
j
p
(
x
/
ω
q
)
P
(
ω
q
)
r_j(x)=∑^W_{k=1}L_{kj}p(x/ω_k)P(ω_k)<∑^W_{q=1}L_{qj}p(x/ω_q)P(ω_q)
rj(x)=k=1∑WLkjp(x/ωk)P(ωk)<q=1∑WLqjp(x/ωq)P(ωq)
那么x将赋给类
ω
i
ω_i
ωi。通常,正确决策的损失通常被赋予零值,而不正确决策的损失通常被赋予相同的非零值(譬如值1)。
在这些条件下,损失数变为
L
i
j
=
1
−
δ
i
j
L_{ij}=1-δ_{ij}
Lij=1−δij
式中,i=j时
δ
i
j
δ_{ij}
δij=1,i≠j时
δ
i
j
δ_{ij}
δij=0。该式子说明不正确决策的损失是1,正确决策的损失是0。
将前面的几个式子整理一下,得到:
r
j
(
x
)
=
P
(
x
)
−
p
(
x
/
ω
j
)
P
(
ω
j
)
r_j(x)=P(x)-p(x/ω_j)P(ω_j)
rj(x)=P(x)−p(x/ωj)P(ωj)
如果对所有的i≠j有:
p
(
x
)
−
p
(
x
/
ω
i
)
P
(
ω
i
)
<
P
(
x
)
−
p
(
x
/
ω
j
)
P
(
ω
j
)
p(x)-p(x/ω_i)P(ω_i)<P(x)-p(x/ω_j)P(ω_j)
p(x)−p(x/ωi)P(ωi)<P(x)−p(x/ωj)P(ωj)
那么贝叶斯分类器将模式 x 赋给类 ω i ω_i ωi。
高斯模式类的贝叶斯分类器
我们先考虑一个一维问题,该问题包含有由高斯密度决定的两个模式类(W=2)
这两个模式类的均值分别为
m
1
m_1
m1和
m
2
m_2
m2,标准差分别为
σ
1
σ_1
σ1和
σ
2
σ_2
σ2。则贝叶斯决策函数的形式为:
d
j
(
x
)
=
p
(
x
/
ω
j
)
P
(
ω
j
)
=
1
2
π
σ
j
e
−
(
x
−
m
j
)
2
2
σ
j
2
P
(
ω
j
)
j
=
1
,
2
d_j(x)=p(x/ω_j)P(ω_j)={1\over \sqrt {2π}σ_j}e^{-(x-m_j)^2\over 2σ^2_j}P(ω_j)\quad j=1,2
dj(x)=p(x/ωj)P(ωj)=2πσj1e2σj2−(x−mj)2P(ωj)j=1,2
协方差矩阵是对称的和半正定的。我们还可以使用如下形式:
d
j
(
x
)
=
l
n
P
(
ω
j
)
−
1
2
l
n
∣
C
j
∣
−
1
2
[
(
x
−
m
j
)
T
C
j
−
1
(
x
−
m
j
)
]
d_j(x)=lnP(ω_j)-{1\over 2}ln|C_j|-{1\over 2}[(x-m_j)^TC^{-1}_j(x-m_j)]
dj(x)=lnP(ωj)−21ln∣Cj∣−21[(x−mj)TCj−1(x−mj)]
该式中的决策函数是超二次曲面(n 维空间中的二次函数),因为出现在该式中的x的分量的各项没有高于二次的。毫无疑问,高斯模式的贝叶斯分类器的作用至多是将一个通用二阶决策面放到两个模式类之间。然而,如果模式总体确实是高斯的,则在分类中不会有其他曲面所产生的损失小于平均损失。
12.2.3 神经网络
两个模式类的感知机
在这种最基本的形式中,感知机学习一个线性决策函数,该决策函数对分两个线性可分的训练集。图 12.14(a)图示地显示了两个模式类的感知机模型。这个基本装置的响应基于其输入的加权和,即
d
(
x
)
=
∑
i
=
1
n
w
i
x
i
+
w
n
+
1
d(x)=∑_{i=1}^nw_ix_i+w_{n+1}
d(x)=i=1∑nwixi+wn+1
这是一个与模式向量的分量有关的线性决策函数。称为权重的系数
w
i
i
=
1
,
2
,
…
,
n
,
n
+
1
w_i\quad i=1,2,…,n,n+1
wii=1,2,…,n,n+1在对输入求和前,对这些输入进行修正,并馈送到阈值单元中。在这一意义上,权重类似于人类神经系统中的神经突触。将求和连接的输出映射为该装置的最终输出的函数,有时称为激活函数。
当 d(x)>0时,阈值单元使感知机的输出为+1,这表明模式x被识别为属于类
ω
i
ω_i
ωi。当d(x)<0时,情形正好相反。
当 d(x)=0时,x位于分隔两个模式类的决策面上,这给出了一个不能确定的条件。由感知机实现的决策边界是通过下式得到的:
d
(
x
)
=
∑
i
=
1
n
w
i
x
i
+
w
n
+
1
=
0
d(x)=∑_{i=1}^nw_ix_i+w_{n+1}=0
d(x)=i=1∑nwixi+wn+1=0
这是在n维模式空间中的一个超平面方程。在几何上,前n个系数确定超平面的方向,而最后一个系数
w
n
+
1
w_{n+1}
wn+1与从原点到超平面的垂直距离成正比。因此,如果
w
n
+
1
=
0
w_{n+1}=0
wn+1=0,则超平面通过模式空间的原点。类似地,如果
w
j
=
0
w_j=0
wj=0,则超平面平行于
x
j
x_j
xj轴。
图 12.14(a)中阈值单元的输出取决于 d(x)的符号。替代测试整个函数来确定它是正还是负,我们可以对
w
n
+
1
w_{n+1}
wn+1项检验加权和的求和部分,此时系统的输出是
O
=
{
+
1
∑
i
=
1
n
w
1
x
1
>
−
w
n
+
1
−
1
∑
i
=
1
n
w
i
x
i
<
−
w
n
+
1
O=\begin{cases} +1\quad∑_{i=1}^nw_1x_1>-w_{n+1}\\ -1\quad ∑_{i=1}^nw_ix_i<-w_{n+1} \end{cases}
O={+1∑i=1nw1x1>−wn+1−1∑i=1nwixi<−wn+1
该实现等同于图 12.14(a)并显示在图 12.14(b)中,唯一的不同是,阈值函数被量
−
w
n
+
1
-w_{n+1}
−wn+1取代,且常量单位输入不再出现。
训练算法
线性可分的类:用于求两个线性可分训练集的权重向量解的一种简单迭代算法如下。对于两个分别属于类 ω 1 ω_1 ω1和类 ω 2 ω_2 ω2的扩充模式向量的训练集,令 w ( 1 ) w(1) w(1)表示初始权重向量,它可能是任意选择的。
然后,在第k步迭代中,如果
y
(
k
)
∈
ω
1
y(k)∈ω_1
y(k)∈ω1且
w
T
(
k
)
y
(
k
)
≤
0
w^T(k)y(k)≤0
wT(k)y(k)≤0,则使用下式代替w(k):
w
(
k
+
1
)
=
w
(
k
)
+
c
y
(
k
)
w(k+1)=w(k)+cy(k)
w(k+1)=w(k)+cy(k)
其中,c是一个正的修正增量。相反,如果
y
(
k
)
∈
ω
2
y(k)∈ω_2
y(k)∈ω2且
w
T
(
k
)
y
(
k
)
≥
0
w^T(k)y(k)≥0
wT(k)y(k)≥0,则使用下式代替 w(k):
w
(
k
+
1
)
=
w
(
k
)
−
c
y
(
k
)
w(k+1)=w(k)-cy(k)
w(k+1)=w(k)−cy(k)
否则,保持 w(k)不变:
w
(
k
+
1
)
=
w
(
k
)
w(k+1)=w(k)
w(k+1)=w(k)
该算法仅当正被考虑的模式在训练序列第k步被错误分类时,才改变w。假设修正增量c为正,现在它是一个常量。该算法有时称为固定增量校正准则。
当两个类的整个训练集循环通过机器而不出现任何错误时,该算法收敛。如果模式的两个训练集是线性可分的,那么固定增量校正准则会在有限步内收敛。称为感知机训练定理的该结果的证明。
不可分的类:实际上,线性可分的模式类是个例外,通常情况并非如此。
考虑准则函数
J
(
w
)
=
1
2
(
r
−
w
T
y
)
2
J(w)={1\over 2}(r-w^Ty)^2
J(w)=21(r−wTy)2
其中,r是期望的响应(即当扩充后的训练模式向量y属于类
ω
1
ω_1
ω1时有r=+1,而当y属于类
ω
2
ω_2
ω2时有r =-1)。为在
r
=
w
T
y
r=w^Ty
r=wTy时求该函数的最小值,其任务是在J(w)的相反的梯度方向逐步调整w,即该最小值对应于正确的分类。如果 w(k)表示第k步迭代的权重向量,则通用梯度下降算法可写为
w
(
k
+
1
)
=
w
(
k
)
−
α
[
∂
J
(
w
)
∂
w
]
w
=
w
(
k
)
w(k+1)=w(k)-α[{∂J(w)\over ∂w}]_{w=w(k)}
w(k+1)=w(k)−α[∂w∂J(w)]w=w(k)
其中w(k+1)是w的新值,而α>0给出修正量。
由准则函数得到
∂
J
(
w
)
∂
w
=
−
(
r
−
w
T
y
)
y
{∂J(w)\over ∂w}=-(r-w^Ty)y
∂w∂J(w)=−(r−wTy)y
代入,得:
w
(
k
+
1
)
=
w
(
k
)
−
α
[
r
(
k
)
−
w
T
(
k
)
y
(
k
)
]
y
(
k
)
w(k+1)=w(k)-α[r(k)-w^T(k)y(k)]y(k)
w(k+1)=w(k)−α[r(k)−wT(k)y(k)]y(k)
其中初始权重向量 w(1)是任意的。
通过将权重向量中的增量(delta)定义为
Δ
w
=
w
(
k
+
1
)
−
w
(
k
)
Δw=w(k+1)-w(k)
Δw=w(k+1)−w(k)
按 delta 修正算法的形式,则有:
Δ
w
=
α
e
(
k
)
y
(
k
)
Δw=αe(k)y(k)
Δw=αe(k)y(k)
e
(
k
)
=
r
(
k
)
−
w
T
(
k
)
y
(
k
)
e(k)=r(k)-w^T(k)y(k)
e(k)=r(k)−wT(k)y(k)
当模式 y(k)存在时,它是权重向量 w(k)提交的误差。
权重向量 w(k)的误差。如果我们把它更改为 w(k+ 1),但保持模式不变,则误差变为
e
(
k
)
=
r
(
k
)
−
w
T
(
k
+
1
)
y
(
k
)
e(k)=r(k)-w^T(k+1)y(k)
e(k)=r(k)−wT(k+1)y(k)
则
Δ
e
(
k
)
=
−
Δ
w
T
y
(
k
)
Δe(k)=-Δw^Ty(k)
Δe(k)=−ΔwTy(k)
但由于Δw=αe(k)y(k),所以
Δ
e
=
−
α
e
(
k
)
y
T
(
k
)
y
(
k
)
=
−
α
e
(
k
)
∣
∣
y
(
k
)
∣
∣
2
Δe=-αe(k)y^T(k)y(k)= -αe(k)||y(k)||^2
Δe=−αe(k)yT(k)y(k)=−αe(k)∣∣y(k)∣∣2
因此,权重的变化将误差减小了
α
∣
∣
y
(
k
)
∣
∣
2
α||y(k)||^2
α∣∣y(k)∣∣2倍。下一个输入模式开始新的自适应循环,将下一个误差减小
α
∣
∣
y
(
k
+
1
)
∣
∣
2
α||y(k+1)||^2
α∣∣y(k+1)∣∣2倍,依此类推。
多层前馈神经网络
基本结构如图所示:
它由多层结构上相同的计算节点(神经元)排列而成,从而一层中的每个神经元的输出送到下一层的每个神经元的输入。
神经元的形式和感知机模式相同,只不过硬性受限激活函数被替换为了软性受限S形函数。其S形激活函数具有必要的可微分性:
h
j
(
I
j
)
=
1
1
+
e
−
(
I
j
+
θ
j
)
/
θ
o
h_j(I_j)={1\over 1+e^{-(I_j+θ_j)/θ_o}}
hj(Ij)=1+e−(Ij+θj)/θo1
其中
I
j
,
j
=
1
,
2
,
…
,
N
J
I_j,j=1,2,…,N_J
Ij,j=1,2,…,NJ是该网络第J层中的每个节点的激活元素的输入,
θ
j
θ_j
θj是偏移量,
θ
o
θ_o
θo控制“S形”函数的形状。
不同类型的激活函数可用于不同的层,甚至用于神经网络的同一层中的不同节点。
任何层中一个节点的输入,都是来自前一层输出的加权和。
令层K 表示层 J的前一层,层K为层J中的每个节点的激活元素提供输入:
I
j
=
∑
k
=
1
N
k
w
j
k
O
k
I_j=∑_{k=1}^{N_k}w_{jk}O_k
Ij=k=1∑NkwjkOk
其中
j
=
1
,
2.
…
,
N
J
j=1,2.…,N_J
j=1,2.…,NJ,这里N是J中的节点数,
N
k
N_k
Nk是层K中的节点数,
w
j
k
w_{jk}
wjk是层K中的节点的输出
O
k
O_k
Ok在送入层J中的节点之前,修正这些输出的权重。层K的输出为
O
k
=
h
k
(
I
k
)
O_k=h_k(I_k)
Ok=hk(Ik)
其中
k
=
1
,
2
,
⋅
⋅
⋅
,
N
K
k=1,2,···,N_K
k=1,2,⋅⋅⋅,NK
整理一下得到:
h
j
(
I
j
)
=
1
1
+
e
−
(
∑
k
=
1
N
k
w
j
k
O
k
+
θ
j
)
/
θ
o
h_j(I_j)={1\over 1+e^{-(∑^{N_k}_{k=1}w_{jk}O_k+θ_j)/θ_o}}
hj(Ij)=1+e−(∑k=1NkwjkOk+θj)/θo1
反向传播训练
输出层Q中各节点的期望响应
r
q
r_q
rq和相应的真实响应
O
q
O_q
Oq之间的总误差的平方为
E
Q
=
1
2
∑
q
=
1
N
Q
(
r
q
−
O
q
)
2
E_Q=\frac{1}{2}\sum_{q=1}^{N_Q}(r_q-O_q)^2
EQ=21q=1∑NQ(rq−Oq)2
经过一系列的变换可以得到
Δ
w
q
p
=
α
(
r
q
−
O
q
)
h
q
′
(
I
q
)
O
p
=
α
δ
q
O
p
\Delta w_{qp}=\alpha (r_q-O_q){h_q}'(I_q)O_p=\alpha \delta _qO_p
Δwqp=α(rq−Oq)hq′(Iq)Op=αδqOp
由上式可知,根据对网络输入的任何训练模式的表示,就可以知道每个输出节点的期望响应
r
q
r_q
rq应该是多少。
12.3 结构方法
12.3.1 匹配形状数
为了比较根据形状数描述的区域边界,我们可以明确表达一个过程,该过程类似为模式向量引人的最小距离概念。
两个区域边界(形状)之间的相似度k定义为它们的形状数仍保持一致的最大阶。例如,令a和b代表由4方向链码表示的闭合边界的形状数。如果
s
j
(
a
)
=
s
j
(
b
)
j
=
4
,
6
,
8
,
⋅
⋅
⋅
k
s_j(a)=s_j(b)\quad j=4,6,8,···k
sj(a)=sj(b)j=4,6,8,⋅⋅⋅k
s
j
(
a
)
≠
s
j
(
b
)
j
=
k
+
2
,
k
+
4
,
⋅
⋅
⋅
s_j(a)≠s_j(b)\quad j=k+2,k+4,···
sj(a)=sj(b)j=k+2,k+4,⋅⋅⋅
那么这两个形状有一个相似度 k,其中s代表形状数,下标代表阶。两个形状a和b之间的距离定义为它们的相似度的倒数:
D
(
a
,
b
)
=
1
k
D(a,b)={1\over k}
D(a,b)=k1
该距离满足如下性质:
D
(
a
,
b
)
≥
0
D(a,b)≥0
D(a,b)≥0
D
(
a
,
b
)
=
0
,如果
a
=
b
D(a,b)=0,如果 a=b
D(a,b)=0,如果a=b
D
(
a
,
c
)
≤
m
a
x
[
D
(
a
,
b
)
,
D
(
b
,
c
)
]
D(a,c)≤max[D(a,b),D(b,c)]
D(a,c)≤max[D(a,b),D(b,c)]
k或D都可以用于比较这两个形状。如果使用相似度,则k越大,形状就越相似(注意,对于相同的形状,k为无穷大)。当使用距离度量时,情形正好相反。
12.3.2 串匹配
假定两个区域边界a和b已被编码成串,分别表示为
a
1
,
a
2
,
⋅
⋅
⋅
a
n
a_1,a_2,···a_n
a1,a2,⋅⋅⋅an和
b
1
,
b
2
,
⋅
⋅
⋅
,
b
m
b_1,b_2,···,b_m
b1,b2,⋅⋅⋅,bm,
α
\alpha
α表示两个串之间的匹配度,如果
a
k
=
b
k
a_k=b_k
ak=bk,则匹配出现在第k个位置。不匹配的符号数为
β
=
m
a
x
(
∣
a
∣
,
∣
b
∣
)
−
α
\beta =max(|a|,|b|)-\alpha
β=max(∣a∣,∣b∣)−α
当且仅当a=b时
β
=
0
\beta =0
β=0
a和b间的一种简单的相似性度量是比率
R
=
α
β
=
α
m
a
x
(
∣
a
∣
,
∣
b
∣
)
−
α
R={\alpha \over \beta}={\alpha \over max(|a|,|b|)-\alpha}
R=βα=max(∣a∣,∣b∣)−αα
对于完美匹配,R为无限大,而当a和b中没有任何符号匹配时,R为0(此时α=0)。