基于神经网络的分类
神经网络是 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−(netmj +θmj )/ θ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)表示。
图 3-9 基于BP 神经网络的分类过程框图