APP下载

改进粒子群算法优化SVM参数的遥感图像分类

2018-05-17于梦馨刘波汤恩生

航天返回与遥感 2018年2期
关键词:适应度分类器粒子

于梦馨 刘波,2,3 汤恩生



改进粒子群算法优化SVM参数的遥感图像分类

于梦馨1刘波1,2,3汤恩生4

(1 湖南农业大学信息科学技术学院,长沙 410128)(2 邵阳学院湘西南农村信息化服务湖南省重点实验室,邵阳 422000)(3 湖南省农村农业信息化工程技术研究中心,长沙 410128)(4 中国空间技术研究院,北京 100094)

文章使用支持向量机(SVM)分类算法,结合当下应用较为广泛的智能优化算法,对SVM的参数进行优化选取,以期能够提高遥感图像的分类精度。针对粒子群算法(PSO)优化SVM分类器参数时,存在着容易早熟收敛、分类精度相对较低、容易陷入局部最优解的问题,提出了一种以自适应权重粒子群算法(SAPSO)为基础,引入遗传算法交叉算子的混合优化算法(SAPSO-GA),利用这种改进的算法优化SVM参数对遥感图像进行分类。文章以一景Quick Bird卫星遥感影像为例,对影像进行图像融合等预处理,然后分别使用PSO-SVM算法和SAPSO-GA-SVM算法进行土地利用分类,比较分析两种算法的分类精度,结果表明,改进的算法提高了粒子群算法的搜索性能,能够寻找更佳SVM分类器参数,获得较高的分类精度。

支持向量机 粒子群算法 遗传算法 遥感图像分类

0 引言

近30年来,遥感技术及其应用发展迅速,遥感影像凭借广阔的覆盖度、迅速的时效性和较高水平的经济效益等特点,已经在多个领域得到了广泛的应用,如气象、环境、国土规划等,并且成为人们获得有效数据和信息的重要来源之一。对这些海量遥感影像数据进行分类识别,来获得更准确、更高分类精度的地物信息,已经成为一个迫切需要解决的问题[1-3]。目前国内外学者将一系列的机器学习算法应用于遥感图像的分类研究,如决策树、人工神经网络、K-means等。理论上,这些机器学习算法想要获得比较高的分类精度,其所选的训练样本数量必须足够多,而对训练数据进行标注需要耗费大量的人力物力和时间成本[4];在一些实际应用中很难保证选取足够的训练数据,使这些算法具有一定的局限性。而支持向量机(SVM)分类算法具有小样本、非线性以及高维模式识别的特点,相比于其他机器学习算法具有独特的优势,使其在手写识别、图像分类,语言识别等诸多分类研究领域中得到了广泛的应用[5]。研究表明,使用径向基核函数(RBF)的SVM的分类精度受核参数和惩罚因子的影响较大,和共同影响着支持向量机对测试集的分类精度以及推广能力,决定了样本特征子空间分布的复杂程度,而通过对错分率的控制来影响SVM的推广能力[6],不恰当的参数的选择,会导致SVM分类精度的下降。因此,SVM的参数优化是很多学者一直关注的问题[7]。为了寻找最佳的SVM分类器参数,减少分类时间,提高分类精度,文献[8-10]使用粒子群(Particle Swarm Optimization,PSO)算法对SVM参数进行寻优,文献[11-12]应用遗传算法(Genetic Algorithm,GA)对进行寻优,文献[13]提出了双重变异粒子群算法,以期寻找更佳的参数组合。本文在前人的研究基础上,提出了一种以自适应权重粒子群算法为基础,融合遗传优化算法交叉思想的混合寻优算法,用于SVM分类器参数的寻优,提高遥感影像的分类精度。

1 SVM和PSO原理

1.1 SVM基本原理

支持向量机是由Vapnik首先提出的,它的分类原理是有限的样本特征值在分类模型的复杂性和自学习能力之间寻找最佳的平衡点,使目标函数达到最佳泛化能力[14]。传统的学习算法,如人工神经网络,只考虑分类器对训练样本的拟合情况,容易出现过度拟合的情况,导致其推广能力降低。SVM以结构化风险最小化为原则,它将样本数据映射到一个高维的空间里,并在其中寻找且建立一个最大分类间隔的超平面作为决策曲面,在决策曲面的两边建立两个平行的超平面1、2,1与2的间距越大,SVM分类器的误差越小[15]。图1为SVM分类示意。1,2上的样本为支持向量,所以寻找最优分类超平面的问题可以转化成优化模型[15-17]

式中 为第i个样本的特征和类别标签;w为分类超平面的法向量,为分界面到支持向量的宽度,值越大,则分界面宽度越小;为从低维空间向高维空间的映射;b为偏差项;c为惩罚因子;是为解决不可分问题而引入的松弛项。

径向基核函数的表达式为

核参数的取值对分类精度的影响较大。而惩罚因子则通过对错分率的控制来影响SVM的推广能力,如果惩罚因子取一个相对较大的值,则训练样本的拟合程度较高,SVM分类器的推广能力较弱。从式(2)中可以看出,函数与和无关,仅为的函数,先求解进而就可以求得和,最后确定最优分类超平面。

1.2 粒子群算法的基本原理

粒子群算法(PSO)是一种智能优化算法[18],在1995年,由Eberhart博士和kennedy博士通过对鸟类捕食行为的研究而提出的。在粒子群算法中,个体被称为“粒子”,在一个维搜索空间中,设X=(x1,x2,,x),V=(v1,v2,…,v,在每一次迭代中,粒子通过跟踪个体极值(best)和群体极值(best)来更新自身的速度和位置,个体极值(best)即粒子本身找到的最优解,P=(p1,p2,…,p);群体极值(best)即整个种群中所找到的最优解,P=(p1,p2,…,p);粒子更新自身速度和位置为

式中为惯性权重;v为粒子的速度;x为粒子位置;为迭代寻优的次数;1、2为分布在0到1之间的随机数;1、2为学习因子;P为个体最优解;P为种群最优解[15]。

PSO是根据自己的速度来决定搜索,它保留了基于种群粒子的全局搜索方法,使用速度—位移模型。该算法容易实现,参数少,避免了遗传算法交叉、变异的复杂操作。

2 改进的粒子群优化算法

2.1 改进惯性权重的粒子群优化算法

集合PSO和GA两种算法的优点,本文提出一种以自适应权重粒子群算法(SAPSO)为基础,引入遗传算法(GA)交叉算子的混合寻优算法,以此来提高粒子群算法的搜索性能。首先,将标准粒子群算法中的惯性权重进行改进,采用一种非线性的动态惯性权重系数公式,来平衡粒子群算法的全局和局部搜索能力[15]

式中为粒子当前的目标函数值;avg和min分别为当前所有粒子的平均值和最小值。

惯性权重描述的是粒子的当前速度受先前速度的影响,当取值较大时,粒子的前一速度影响较大,有利于全局搜索;当取值较小时,粒子前一速度影响较小,此时更有利于后期局部搜索。通过调节惯性权重的取值来跳出局部极小值。的值随着粒子目标函数值的改变而改变,所以称为自适应权重。

2.2 引入遗传交叉算子的粒子群优化算法

在遗传算法中,交叉和变异是最主要的两个操作步骤,它们完成了由父代到子代个体间的信息传递,保证了个体的优化进程[19],所以本文拟将遗传算法中的交叉思想与粒子群算法相结合,增加种群粒子的多样性,改善粒子群算法容易早熟收敛,陷入局部最优解的问题。在本文改进的算法中,交叉的具体思想为:在每一次迭代中,把粒子的适应度值按从大到小进行排序,粒子的适应度值越大,其适应性就越好,本文的适应度函数为3-fold交叉验证下分类准确率的平均值。首先选取适应度值较高的粒子直接进入下一代,以保证下一代粒子相对较优;同时把适应度值较高的前一半粒子的位置和速度赋给适应度值较低的后一半粒子,这部分粒子进行两两随机交叉,然后产生相同数目的子代粒子,并由子代粒子替换父代粒子;其中子代粒子的位置、速度的计算为

式中为0到1之间的随机数;parent1(),parent2()为两个不同的父代粒子的速度;parent1(),parent2()为两个不同的父代粒子的位置;这样既利用了PSO算法的快速收敛能力,还可以通过GA算法的交叉步骤产生新粒子,增加粒子的多样性,跳出局部最优。改进粒子群算法(SAPSO-GA)具体步骤如下:

1)初始化相关参数以及种群粒子的速度,计算粒子的初始适应度值。

2)寻找初始极值,根据初始粒子的适应度值确定个体极值best和群体极值best。

3)根据式(6)更新惯性权重;根据式(4)、(5)更新粒子的速度和位置。

4)计算每个粒子当前位置的适应度值;把粒子的适应度值按照从大到小进行排序,选取适应度值较高的前一半粒子直接进入下一代,并将速度和位置赋给适应度值较低的后一半粒子,这部分粒子进行两两随机交叉,产生相同数目的粒子,并由子代粒子替换亲代粒子。

5)根据新粒子的适应度值更新个体极值best和群体极值best。

6)若满足停止条件或超过最大迭代次数,则输出最优解;否则跳转至步骤(3)继续搜索。

图2为本文改进算法的技术流程图。

3 改进粒子群算法优化SVM参数在遥感图像分类中的应用

3.1 算法验证

为了验证本文提出的改进算法的分类性能,使用UCI数据库中著名的Iris数据集对算法进行验证[15],Iris数据集共有150个样本,有Setosa、Versicolor和Virginica三个类别,从每个类别中随机抽取30组试验数据作为训练集,剩下的数据作为测试集,分别用PSO-SVM和本文改进的算法SAPSO-GA-SVM进行试验(其中进化代次数为200,种群数目为10,的范围为0.1~100,的范围为0.01~10,学习因子1=1.5,2=1.7,惯性权重max=0.9,min=0.4,),得到试验结果见表1。

表1 Iris试验结果

Tab.1 Iris experimental result

试验结果表明本文改进的算法的分类精度优于PSO-SVM,改进的算法可纠正4个错分样本,分类精度提高了2.67%。

3.2 遥感图像分类

本文选取1幅Quick Bird高分辨率卫星影像数据,分别利用PSO-SVM和SAPSO-GA-SVM两种方法对研究区进行土地利用分类试验。本文所选研究区大小是560像素×560像素。首先对影像进行相关预处理,然后采用 ENVI 软件中NNDiffuse Pan Sharpening方法将全色波段与多光谱波段进行融合,融合得到的为新的样本数据。选取影像一角,融合效果比较如图3所示。

本文通过遥感影像的目视解译,对研究区建立植被、裸地、道路、水域、建筑阴影共6个类别的分类样本,样本数共2 240个。对数据进行归一化处理,利用3-fold交叉验证法进行分类器训练及验证,即将训练数据集分为几部分去训练分类器并同时验证它,目的是在验证过程中实现最优的分类精度[20]。本文算法的具体参数设置如下,种群数目为20,的范围为0.1~100,的范围为0.01~10,学习因子1=1.9,2=2,惯性权重取最大值max=0.9,最小值min=0.4,粒子的最大进化代数为200次。然后分别采用PSO-SVM和SAPSO-GA-SVM对研究区进行分类,整个分类过程在Windows10 MATLAB2016Ra的环境下实现。

图3 影像融合前后比较

3.3 结果分析

评价分类结果是遥感影像分类过程中一项重要的工作。常用的遥感影像分类结果的精度评价方法有混淆矩阵、总体分类精度、Kappa系数等。为了验证本文改进算法的有效性,用改进算法的分类结果与PSO-SVM方法的分类结果进行了比较。本文取多次试验的平均值,从表2试验结果分析可得,SAPSO-GA-SVM算法的分类精度要优于PSO-SVM算法的分类精度,平均分类精度提高了5.07%。在对参数的优化过程中,改进算法的惩罚因子取值相对较高,即分类允许的误差较小。时间上,改进PSO-SVM算法运算量略有增加,但计算简单,搜索时间在PSO-SVM的基础上略有增加。为了更直观显示两种算法的分类效果,本文选取研究区中2块局部区域进行对比分析,其中区域1内主要为水体和建筑,区域2为居民区,分类结果如图4所示。

表2 分类结果

Tab.2 Classification result

图4 分类结果

从图4中可以看出,区域1内,PSO-SVM算法将部分水体和阴影混淆,而改进的算法明显改善了水体和阴影的混淆情况,提高了影像的分类精度;区域2内,PSO-SVM算法的分类结果稍有混乱,阴影、道路、建筑物三者有不同程度的混淆,居民区的建筑物和阴影被错分的像元较多,部分道路和建筑物也有混淆;而改进的算法更好地区分了居民区的阴影和建筑物,仅有少量的建筑物和道路混淆。综上所述,较PSO-SVM算法,SAPSO-GA-SVM算法的分类结果更加准确。

4 结束语

本文针对粒子群算法(PSO)优化SVM分类器参数时,存在着容易早熟收敛,分类精度相对较低、容易陷入局部最优解的问题,提出了一种以自适应权重粒子群算法(SAPSO)为基础,引入遗传算法交叉算子的混合优化算法(SAPSO-GA),改进算法在Windows10 MATLAB2016Ra编程实现,综合了GA、PSO算法的优点。通过对Iris数据集和遥感影像分类的试验可知,SAPSO-GA-SVM算法从整体上提高了SVM算法的分类性能,主要体现在以下方面:

1)通过采用非线性的动态惯性权重系数公式,可以更好地平衡PSO算法的全局搜索能力和局部改良能力。对于适应度值较优的粒子,其所对应的惯性权重系数较小,从而保护了该粒子;反之对于适应度值较差的粒子,其所对应的惯性权重系数较大,使得该粒子能够向较好的搜索区域靠拢。

2)融入了GA算法的交叉思想,产生了新的个体,增加了粒子的多样性,克服了标准粒子群算法在处理某些实际问题时容易陷入局部优解的问题。

上述2个方面的改进相辅相成,能够快速有效地寻找最佳 SVM 分类器参数,提高SVM分类精度,试验结果表明,改进的SVM 算法具有较高可行性。

[1] 李萌. 基于支持向量机的高分遥感影像分类技术研究与应用[D]. 北京: 中国地质大学, 2015. LI Meng. A High Spatial Resolution Remote Sensing Image Classification Study Based on SVM Algorithm and Application[D]. Beijing: China University of Geosciences, 2015. (in Chinese)

[2] 刘丹. 基于支持向量机与k-means混合分类模型的多光谱遥感影像分类研究[D]. 昆明: 昆明理工大学, 2013. LIU Dan. Research on Multi Spectral Remote Sensing Image Classification Based on the Hybrid Model of SVM and k-means[D]. Kunming: China Kunming University of Science and Technology, 2013. (in Chinese)

[3] 高幸. 基于SVM的图像分类与标注方法的研究[D]. 北京: 北京交通大学, 2015. GAO Xing. Research of Image Classification and Annotation Based on SVM[D]. Beijing: China University of Geosciences, 2015. (in Chinese)

[4] 蒋韬. 基于遗传粒子群优化算法的遥感图像分类方法研究与应用[D]. 北京: 首都师范大学, 2013. JIANG Tao. Research and Application of Remote Sensing Image Classification Based on Genetic Particle Swarm Optimization (PSO) Algorithm[D] . Beijing: Capital Normal University, 2015. (in Chinese)

[5] 王振武, 孙佳骏, 于忠义, 等. 基于支持向量机的遥感图像分类研究综述[J]. 计算机科学, 2016, 43(9): 11-17. WANG Zhenwu, SUN Jiajun, YU Zhongyi, et al. Review of Remote Sensing Image Classification Based on Support Vector Machine[J]. Computer Science, 2016, 43(09): 11-17. (in Chinese)

[6] 施冬艳. 基于GA-PSO优化分层DT-SVM混合核的遥感图像分类研究[D]. 南京: 南京邮电大学, 2014. SHI Dongyan. The Classification and Application of Remote Sensing Image Based on GA-PSO Optimization and HDT-SVM[D]. Nanjing: Nanjing University of Posts and Telecommunications, 2014. (in Chinese)

[7] 汪海燕, 黎建辉, 杨风雷. 支持向量机理论及算法研究综述[J]. 计算机应用研究, 2014, 31(5): 1281-1286. WANG Haiyan, LI Jianhui, YANG Fenglei. Overview of Support Vector Machine Analysis and Algorithm[J]. Application Research of Computers, 2014, 31(05): 1281-1286. (in Chinese)

[8] FEI Weisheng, WANG Junming, MIAO Binyu, et al. Particle Swarm Optimization-based Support Vector Machine for Forecasting Dissolved Gases Content in Power Transformer Oil[J]. Energy Conversion and Management, 2009, 50(6): 1604-1609.

[9] 余梓唐. 基于粒子群算法优化支持向量机汽车故障诊断研究[J]. 计算机应用研究, 2012, 29(2): 572-574. YU Zitang. Automotive Fault Diagnosis Based on SVM and Particle Swarm Algorithm[J]. Application Research of Computers, 2012, 29(2): 572-574. (in Chinese)

[10] 臧卓, 林辉, 杨敏化. 基于PSO-SVM的高光谱数据降维的可靠性研究[J]. 中国农学通报, 2011, 27(31): 47-52. ZANG Zhuo, LIN Hui, YANG Minhua. Reliability Study on Dimension Reduction of Hyperspectral Data Based on PSO-SVM Algorithm[J]. Chinese Agricultural Science Bulletin, 2011, 27(31): 47-52. (in Chinese)

[11] 刘希亮, 赵学胜, 陆锋, 等. 基于GA-SVM的露天矿抛掷爆破抛掷率预测[J]. 煤炭学报, 2012, 37(12): 1999-2005. LIU Xiliang, ZHAO Xuesheng, LU Feng, et al. A GA-SVM based Model for Throwing Rate Prediction in the Open-pit Cast Blasting[J]. Journal of China Coal Society, 2012, 37(12): 1999-2005. (in Chinese)

[12] ZHOU Jiashuai, WANG Qi, GAO Jun. An Approach for Load Balancing in Mapreduce via Dynamic Partitioning[J]. Journal of Computer Research and Development, 2013, 50(suppl): 369-377.

[13] 张军, 王远强, 朱新山. 改进PSO优化神经网络的短时交通流预测[J]. 计算机工程与应用, 2017, 53(14): 227-231. ZHANG Jun, WANG Yuanqiang, ZHU Xinshan. Short-term Prediction of Traffic Flow Based on Neural Network Optimized Improved Particle Swarm Optimization[J]. Computer Engineering and Applications, 2017, 53(14): 227-231. (in Chinese)

[14] 由佳, 张怀清, 陈永富, 等. 基于“高分四号”卫星影像洞庭湖湿地信息提取[J]. 航天返回与遥感, 2016, 37(4): 116-122. YOU Jia, ZHANG Huaiqing, CHEN Yongfu, et al. Comparative Study of Dongting Lake Wetland Information Extraction Based on GF-4 Satellite Image[J]. Spacecraft Recovery & Remote Sensing, 2016, 37(04): 116-122. (in Chinese)

[15] 张俊红, 刘昱, 马文朋, 等. 基于 GAPSO-SVM 的航空发动机典型故障诊断[J]. 天津大学学报, 2012, 45(12): 1057-1061. ZHANG Junhong, LIU Yu, MA Wenpeng, et al. Typical Fault Diagnosis of Aircraft Engine Based on GAPSO-SVM[J]. Journal of Tianjin University, 2012, 45(12): 1057-1061. (in Chinese)

[16] 徐晓明. SVM参数寻优及其在分类中的应用[D]. 大连: 大连海事大学, 2014. XU Xiaoming. SVM Parameter Optimization and Its Application in the Classification[D]. Dalian: Dalian Maritime University, 2014. (in Chinese)

[17] 廖周宇, 王钰婷, 谢晓兰, 等. 基于粒子群优化的支持向量机人脸识别[J]. 计算机工程, 2017, 43(12): 248-254. LIAO Zhouyu, WANG Yuting, XIE Xiaolan, et al. Face Recognition by Support Vector Machine Based on Particle Swarm Optimization[J]. Computer Engineering, 2017, 43(12): 248-254. (in Chinese)

[18] 龚纯, 王正林. 精通MATLAB最优化计算(第3版)[M]. 北京: 电子工业出版社, 2014. GONG Chun, WANG Zhenglin. Well Versed in MATLAB Optimization Calculation (Third Edition)[M]. Beijing: Electronic Industry Press, 2014. (in Chinese)

[19] 马永杰, 云文霞. 遗传算法研究进展[J]. 计算机应用研究, 2012, 29(04): 1201-1206+1210. MA Yongjie, YUN Wenxia. Research Progress of Genetic Algorithm[J]. Application Research of Computers, 2012, 29(04): 1201-1206+1210. (in Chinese)

[20] 邓曾, 李丹, 柯樱海, 等. 基于改进SVM算法的高分辨率遥感影像分类[J]. 国土资源遥感, 2016, 28(3): 12-18. DENG Zeng, LI Dan, KE Yinghai, et al. An Improved SVM Algorithm for High Spatial Resolution Remote Sensing Image Classification[J]. Remote Sensing for Land and Resources, 2016, 28(3): 12-18. (in Chinese)

(编辑:王丽霞)

Remote Sensing Image Classification Based on Improved PSO Support Vector Machine

YU Mengxin1LIU Bo1,2,3TANG Ensheng4

(1 Information Science and Technology College of Hunan Agricultural University, Changsha 410128, China)(2 Hunan Provincial Key Laboratory of Information Service in Rural of Southwestern Hunan, Shaoyang 422000, China)(3 Hunan Engineering Technology Research Center of Agricultural & Rural Information, Changsha 410128, China)(4 China Academy of Space Technology, Beijing 100094, China)

In order to improve the classification accuracy of remote sensing images, the support vector machine (SVM) classification algorithm is combined with the more widely used intelligent optimization algorithms in the paper. In optimizing the SVM classifier parameters using particle swarm optimization (PSO), serveral issues should be solved, such as premature convergence, low classification accuracy and possibility of local optimal solutions. Therefore, based on self-adaptive particle swarm optimization (SAPSO), the genetic algorithm crossover operator (SAPSO-GA) is proposed. This improved algorithm is used to optimize SVM parameters for classifying the remote sensing images. Taking a Quick Bird remote sensing image as an example,image fusion and other preprocessing are executed, and then the PSO-SVM algorithm and the SAPSO-GA-SVM algorithm are used to classify the land use. The results show that the improved PSO-SVM algorithm can effectively find the best parameters of SVM classifier, and achieve higher classification accuracy.

support vector machine; particle swarm optimization; genetic algorithm; remote sensing image classification

TP75

A

1009-8518(2018)02-0133-08

10.3969/j.issn.1009-8518.2018.02.015

2018-01-09

湘西南农村信息化服务湖南省重点实验室开放基金课题(XAI20150326),湖南省科技厅重点项目(2015NK2145,2016NK2118),2014湖南省教育厅科研一般项目(14C0542),2016年度湖南农业大学“大学生创新性实验计划项目(XCX16094),湖南农业大学团委科技创新立项项目(自科类2016ZK15,2017ZK25)

于梦馨,女,1993年生, 2015年获滨州学院地理信息系统专业学士学位,现在湖南农业大学农业信息工程专业攻读硕士学位,主要研究方向为农业遥感技术与农业物联网技术。E-mail:xin559817@163.com。 刘波,男,1969年生,2008年获中南大学计算机应用专业博士学位,研究方向为物联网技术、农业信息化。E-mail:6633873@qq.com。

猜你喜欢

适应度分类器粒子
改进的自适应复制、交叉和突变遗传算法
学贯中西(6):阐述ML分类器的工作流程
碘-125粒子调控微小RNA-193b-5p抑制胃癌的增殖和侵袭
基于朴素Bayes组合的简易集成分类器①
巧借动态圆突破粒子源遇上有界磁场问题
基于动态分类器集成系统的卷烟感官质量预测方法
一种自适应子融合集成多分类器方法
一种用于抗体快速分离的嗜硫纳米粒子的制备及表征
启发式搜索算法进行乐曲编辑的基本原理分析
问:超对称是什么?