基于优化的BP神经网络遥感影像分类
。
罗小波1刘明培1,2(1.重庆邮电大学计算机学院中韩GIS研究所,重庆,400065;2.西南大学资源环境学院,重庆,400065)摘要:在网络结构给定的情况下,利用遗传算法的全局寻优能力得到一组权值和阈值作为BP神经网络的初始权值和阈值,来避免BP神经网络易陷入局部极小的缺陷,同时也可以提高网络的收敛速度。
然后再利用BP神经网络的局部寻优能力,对权值和阈值进行进一步的精细调整。实验结果表明,把这种基于遗传算法的BP神经网络应用于遥感影像监督分类,具有较高的分类精度。
关键词:BP神经网络;遗传算法;遥感影像分类1引言随着遥感技术的快速发展,遥感技术已经广泛应用于各个领域。其中,遥感影像分类是其重要组成部分。
近年来,随着人工神经网络理论的快速发展,神经网络技术日益成为遥感影像分类中的有效手段,特别是对高光谱等影像数据,更是具有许多独特的优势。
一般我们把采用BP(Back-propogation)算法的多层感知器叫做BP神经网络,它是目前研究得最完善、应用最广泛的神经网络之一。
与经典的最大似然法相比,BP神经网络最大的优势就是不要求训练样本正态分布。但是,它具有结构难以确定、容易陷入局部极小、不易收敛等缺陷。在本文中,网络的结构由用户根据问题的复杂度确定。
在进行网络训练之前,利用遗传算法的全局寻优能力确定网络的初始权值和阈值;然后利用BP学习算法的局部寻优能力对网络进行进一步的精细调整。最后利用训练后的网络进行遥感影像监督分类。
结果表明,基于遗传算法的BP神经网络进行遥感影像监督分类,具有较高的分类精度。2BP神经网络2.1网络结构BP神经网络的结构一般包括输入层、中间隐层、输出层。
在模式识别中,输入层的神经元个数等于输入的特征个数,输出层的神经元个数等于需要分类的类别数。隐层可以为一层或多层,但一般的实际应用中一层隐层就可以满足要求。
而各隐层的神经元个数需要根据实际问题的复杂度而定。以单隐层为例,其结构示意图如图1。
为了实现一种通用的遥感影像分类手段,除了提供默认的网络结构外,还为使用者提供了根据实际问题的复杂度自行确定网络隐层数与各隐层神经元数的功能。
这为一些高级用户提供了灵活性,但这种灵活性在一定程度上增加了使用的难度,有时也需要一个实验的过程,才能取得满意的效果。
图1BP神经网络结构2.2BP学习算法算法的基本步骤如下:(1)将全部权值与节点的阈值预置为一个小的随机数。(2)加载输入与输出。在n个输入节点上加载一n维向量X,并指定每一输出节点的期望值。
每次训练可以选取新的同类或者异类样本,直到权值对各类样本达到稳定。(3)计算实际输出y1,y2,…,yn。(4)修正权值。
权值修正采用了最小均方(LMS)算法的思想,其过程是从输出节点开始,反向地向第一隐层传播由总误差诱发的权值修正。
下一时刻的互连权值Wij(t+1)由下式给出:土地信息技术的创新与土地科学技术发展:2006年中国土地学会学术年会论文集式中,j为本节点的输出;i则是隐层或者输入层节点的序号;或者是节点i的输出,或者是外部输入;η为学习率;α为动量率;δj为误差项,其取值有两种情况:A.若j为输出节点,则:δj=yj(1-yj)(tj-yj)其中,tj为输出节点j的期望值,yj为该节点的实际输出值;B.若j为内部隐含节点,则:土地信息技术的创新与土地科学技术发展:2006年中国土地学会学术年会论文集其中k为j节点所在层之上各层的全部节点。
(5)在达到预定的误差精度或者循环次数后退出,否则,转(2)。2.3基于遗传算法的网络学习算法遗传算法具有全局寻优、不易陷入局部极小的优点,但局部寻优的能力较差。而BP学习算法却具有局部寻优的优势。
因此,如果将两种算法结合起来构成混合训练算法,则可以相互取长补短获得较好的分类效果。
主要思路如下:(1)利用遗传算法确定最优个体A.把全部权值、阈值作为基因进行实数编码,形成具有M个基因的遗传个体结构,其中M等于所有权值、阈值的个数。
B.设定种群规模N,随机初始化这N个具有M个基因的结构。C.适应度的计算:分别用训练样本集对N组权值、阈值进行训练,得出各自网络期望输出与网络实际输出的总误差e,适应度f=1.0-e。
D.进行遗传算子操作,包括选择算子、交叉算子和变异算子,形成新的群体:其中,选择算子采用了轮盘赌的方法,交叉算子采用了两点交叉。E.反复进行C、D两步,直到满足停止条件为止。
停止条件为:超出最大代数、最优个体精度达到了规定的精度。(2)把经过GA优化后的最优个体进行解码操作,形成BP神经网络的初始权值和阈值。(3)采用BP学习算法对网络进行训练,直到满足停止条件。
停止条件为:①达到最大迭代次数;②总体误差小于规定的最小误差。网络训练结束后,把待分数据输入训练好的神经网络,进行分类,就可以得到分类结果影像图。
3应用实例实现环境为VC++6.0,并基于Mapgis的二次开发平台,因为二次平台提供了一些遥感影像的基本处理函数,如底层的一些读取文件的基本操作。
实验中使用的遥感影像大小为500×500,如图1所示。该影像是一美国城市1985年的遥感影像图。
根据同地区的SPOT影像及相关资料,把该区地物类别分为8类,各类所对应的代码为:C1为水体、C2为草地、C3为绿化林、C4为裸地、C5为大型建筑物、C6为军事基地、C7为居民地、C8为其他生活设施(包括街道、道路、码头等)。
其中,居民地、军事设施、其他生活设施的光谱特征比较接近。
图1TM原始影像(5,4,3合成)在网络训练之前,经过目视解译,并结合一些相关资料,从原始图像上选取了3589个类别已知的样本组成原始样本集。
要求原始样本具有典型性、代表性,并能反映实际地物的分布情况。把原始样本集进行预处理,共得到2979个纯净样本。这些预处理