基于神经网络的分类

神经网络是 80 年代中期迅速兴起的一门非线性科学,它在遥感分类中的应用目前尽管还处在初级阶段,但由于其所具有的一些优点,已日益引起人们的注意。许多学者对神经网络用于遥感图像分类进行了尝试,如 Yoshida 等人利用神经网络进行土地覆盖分类(Yoshida and Omatu 1994);章杨清等人利用神经网络并引入分维向量进行土地覆盖分类。

神经网络与传统分类方法的区别在于:①在处*²问题时,人工神经网络并不基于某个假定的概率分布;在非监督分类中,从特征空间到模式空间的映射是通过网络的自组织来完成,是一种聚类过程;在监督分类中,网络通过对训练样本的学习,获得网络的权值,形成分类器。②神经网络通常具有较好的容错特性,有利于解决遥感模式的“同物异谱”和“异物同谱”问题。

神经网络的模型很多,其中 BP(back-propagation)网络是目前应用较多的一种多层神经网络;BP 网络在分类时,首先是根据样本数据网络本身进行自学习,然后利用学习结果对整个图像进行分类。BP 网络的结构如图 3—8 所示,网络由分为不同层次的节点集合组成,每一层的节点输出送到下一层节点,这些输出值由于连接权值不同而被放大、衰减或抑制。除了输入层外, 每一节点的输入为前一层所有节点输出值的加权和,每一节点的激励值由节点输入、激励函数及偏置量决定。

如图 3—8 所示,输入模式的各分层作为第 1 层各节点的输入,在第 m 层,第 j 个节点的输入值为:

Nm−1

net mj

= ∑Wmij Ii i=1

j = 1,2,Λ , M ο (3 - 22)

这里,M 为第 m 层的节点数,Ii 为上一层第 i 个节点的输出值;Wmij 为上一层第 i 个节点对 m 层第 j 个节点的权重;Nm-1 为(m-1)层的节点数。节点的输出值为:

Omj=f(netmj)。

其中,f 为激励函数,常选 S 型函数:

O mj

= 1

1 + e−(netmjmj )/ θ0

(3 - 23)

θmj 为偏置量,θ0 的作用是改变激励函数的形状。继续前推,在第 n 层,第 j 个网络节点的输入值为:

N n−1

输出值为:

net nj =

∑WnijI i ,

i=1

Onj=f(netnj)。

在学习阶段,设网络输入样本 Xp={Xpi},期望输出值为 O′j={Xpk}, 网络系统输出值为 Oj={Opk},对每一输入模式样本,平方误差 Ep 为:

1

E p = ∑( X pk

k

O pk ) (3 - 24)

而对于全部学习样本,系统的均方误差为:

E = ∑∑( X

O ) 2

(3 - 25)

2 P p k

pk pk

为了使(3-25)式收敛,调整连接权值与偏置值,每次调整的增量△

Wmij与梯度 - ∂E / ∂Wmij 成正比,即:

∂E

△Wmij = −η

mij

= ηδ mjOi (3 − 26) η为一常数,δmj 为误差函数,Oi 为隐藏层输出值, 对输出单元:

对隐藏单元:

δmj=(O′j-Oj)f′j(netmj)

=(O′j-Oj)Oj(1-Oj);

δmj=f′(netmj)

=Oj(1-Oj)。

通过学习得到各层各节点的权系数,然后对图像数据进行计算,得到输出结果,根据其结果与每类期望值之间的精度,与哪类相比精度高就归为哪类。

基于 BP 神经网络的分类过程可用框图(图 3-9)表示。

基于神经网络的分类 - 图1

图 3-9 基于BP 神经网络的分类过程框图