《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 基于支持向量机的地表水环境质量分类模型
基于支持向量机的地表水环境质量分类模型
2014年微型机与应用第21期
笪英云,汪晓东
(浙江师范大学 数理与信息工程学院,浙江 金华321004)
摘要: 建立了一种基于支持向量机的地表水环境质量分类模型,并将其用于浙江省主要市界交界面的地表水环境质量分类。该模型采用径向基核函数,以一对多方式实现多分类。分别以网格搜索、粒子群优化和遗传算法三种优化方法对支持向量机的控制参数进行寻优。实验表明,采用网格搜索法确定支持向量机控制参数可以得到最好的水质分类结果,分类准确率可达到82%,由此证明以支持向量机对水质进行分类是可行的。
Abstract:
Key words :

  摘 要: 建立了一种基于支持向量机的地表水环境质量分类模型,并将其用于浙江省主要市界交界面的地表水环境质量分类。该模型采用径向基核函数,以一对多方式实现多分类。分别以网格搜索、粒子群优化和遗传算法三种优化方法对支持向量机的控制参数进行寻优。实验表明,采用网格搜索法确定支持向量机控制参数可以得到最好的水质分类结果,分类准确率可达到82%,由此证明以支持向量机对水质进行分类是可行的。

  关键词: 支持向量机;水质分类;分类模型;网格搜索;主成分分析

0 引言

  地表水环境质量分类是进行水环境治理保护的一项重要内容,建立地表水环境质量分类模型是对地表水环境质量进行正确分类的一项基础工作。近年来,常见的水环境质量分类方法有综合指数法[1]、灰色聚类法[2]、人工神经网络[3]等,但前两类方法中的模型属于传统模型,并没有很好地解决水环境质量分类中的评价因子和水质等级之间存在的非线性关系[4]。

  支持向量机(Support Vector Machine, SVM)[5]作为近年发展起来的一种机器学习方法,是一种建立在统计学习理论和结构风险最小化原则基础上的监督式学习方法[6],能很好地解决小样本、非线性、高维数和局部极小点等问题,已成为机器学习界的研究热点之一[7]。目前,SVM已广泛应用于统计分类、回归分析和时间序列预测等实际问题。SVM作为分类模型,无论是训练速度还是分类准确率均明显优于神经网络[8]。因此,本文尝试将SVM分类模型用于地表水环境质量分类。

1 支持向量机分类

  SVM的研究最初是针对模式识别中的二类线性可分问题,对于二类线性不可分问题则通过非线性映射,将数据由低维空间映射到高维特征空间,使其在高维空间线性可分,进而得到最优分类超平面,实现问题的求解。

  设输入空间Rn中的训练集为:

  1.png

  通过非线性映射到高维Hilbert空间H,得到新的训练集:

  2.png

  若在高维特征空间建立一最优超平面:

  3.png

  其中,V_O0%93ZA$8L@N[~F0~QOAY.png是最优超平面的法向量,b是最优超平面的偏移量。对于部分不能被最优超平面直接分开的数据,通过引入松弛变量ξi使约束条件弱化,同时由惩罚因子C控制对错分样本的惩罚程度。则二类线性不可分的原始问题可以转化为:

  4.png

  再引入拉格朗日乘数αi≥0,βi≥0,得:

  5.png

  根据Wolfe对偶定义,对L关于V_O0%93ZA$8L@N[~F0~QOAY.png、b、ξ求极小,可得:

  6.png

  然后将上述极值条件代入拉格朗日函数,对α求极大,获得其对偶问题:

  7.png

  同时得到分类函数:

  8.png

  其中,8+.png为核函数。最优超平面仅依赖于相应αi不为零的训练点(xi,yi)所对应的输入xi,称其为支持向量(Support Vector, SV)。选择不同的核函数,可以生成不同的SVM,本文选用径向基核函数:8++.png,γ为核函数宽度。

2 支持向量机地表水环境质量分类模型

  用SVM对地表水环境质量进行分类有两个问题需要考虑:首先水质分类问题属于多分类问题,要采用多分类的SVM;其次从SVM分类算法可以看出,惩罚因子C及径向基核函数宽度γ是SVM的两个控制参数,训练时需对它们进行调整,即存在控制参数寻优问题。

  2.1 多分类方法

  SVM多分类的方法有多种[9],常用的有一对一(One Against One)和一对多(One Against All)两种方法[10],由于一对一分类器训练速度比较慢,故本文采用一对多方法。

  2.2 控制参数寻优

  交叉验证(Cross Validation, CV)是一种用来验证分类器性能的统计分析方法,常用的CV方法有几种,本文采用k-fold Cross Validation(k-CV),其基本思想是将原始样本分成k组,每个子集样本分别做一次验证集,同时剩下的k-1组子集样本作为训练集,得到k个模型,取这k个模型验证集的分类准确率的平均值作为此分类器的性能指标。

  采用径向基核函数时需要调节惩罚因子C和核函数宽度γ两个SVM控制参数,本文使用3种控制参数寻优方法,分别是网格搜索法(Grid Search)、粒子群优化算法(Particle Swarm Optimization, PSO)和遗传算法(Genetic Algorithm, GA)。

  网格搜索法分两步进行,其基本原理是先在大范围内粗略寻找较佳参数,采用k-CV方法对训练集进行测试,并得到使分类准确率较高的控制参数。再在上述控制参数附近的小范围内精确搜索,再次进行寻优,找到最优参数。PSO是一种基于群体智能的演化计算方法,它是通过粒子在解空间追随最优的粒子进行搜索的。本文中利用PSO对SVM参数优化时以对训练集进行CV得到的准确率作为适应度函数,最大进化次数设置为200,种群最大数量设置为20。GA是通过模拟“优胜劣汰,适者生存”的自然界演化法则而生成的一种并行随机搜索最优化方法。本文中GA以对训练集进行CV得到的准确率为适应度函数,最大进化代数设置为500,种群最大数量设置为20。

3 实验

  3.1 实验数据集

  实验数据来源于浙江省环境保护厅网站(http://www.zjepb.gov.cn)发布的浙江省主要市界交界面水质自动监测月报(2009年1月~2012年1月)。其中主要检测项目为PH值、溶解氧(DO)、高锰酸盐指数(CODMn)、氨氮(NH3-N)这4个参数。根据《地表水环境质量标准》(GB 3838-2002),水质分类有Ⅰ、Ⅱ、Ⅲ、Ⅳ、Ⅴ类,如表1所示。

004.jpg

  3.2 监测数据分析

  主成分分析(Principal Component Analysis, PCA)是一种分析、简化数据集的技术。PCA可以在尽可能减少信息损失的情况下,将高维数据降至低维,在二维或三维空间以图形方式直观显示数据的分布情况[11],因此本文采用PCA观测地表水环境监测数据的复杂程度。在本实验中,监测数据总共有360个样本,除Ⅰ、Ⅱ、Ⅲ、Ⅳ、Ⅴ类之外,对于低于Ⅴ类的水质,本文称之为劣Ⅴ类,这样一共有6类,即本文需解决的地表水环境质量分类问题是6分类问题。对其监测数据进行PCA分析后得到前4个主成分分量的贡献率如图1所示,相应前2个及前3个主成分分量数据分布分别如图2与图3所示。

001.jpg

  由图1可知,PCA分析结果中前4个主成分的贡献率分别为52.067 6%、22.555 4%、14.899 6%和10.477 4%,这说明PCA分析后的每个主成分分量都比较重要,若降维则会对水质分类结果有较大的影响,因此本文对训练与测试SVM分类模型的数据不进行降维处理。从图2及图3可以看出,待分类处理的检测数据分布是比较复杂的,例如图2的Ⅲ类与Ⅳ类、Ⅴ类与劣Ⅴ类以及图3中的Ⅰ类、Ⅱ类和Ⅳ类之间都存在比较严重混叠,用常规方法难以准确分类。因此,本文通过建立SVM分类模型,实现地表水环境质量的分类。在360个样本中取其中的182个样本数据作为SVM的训练集,剩余的178个样本数据作为SVM的测试集。

  3.3 实验结果与分析

  使用网格搜索法、PSO参数寻优法和GA参数寻优法3种方法得到的训练集交叉验证(CV)分类准确率、测试集分类准确率及整个程序运行所需要的时间如表2所示(每种控制参数寻优方法均运行3次)。

005.jpg

  从表2可以看出,网格搜索法的测试集分类准确率可以达到82.022 5%,PSO参数寻优法虽然也可以达到82.022 5%,但是没有网格搜索法稳定,且整个程序运行所需要的时间是网格搜索法的3倍多。GA参数寻优法的测试集分类准确率则普遍没有PSO参数寻优法高,且整个程序运行所需要的时间也比PSO参数寻优法长。通过比较这3种控制参数寻优方法可知,用网格搜索法对SVM中的参数进行寻优是可行的,且得到的水质分类结果最好。

4 结论

  本文通过建立SVM多分类模型实现地表水环境质量分类,并在建模过程中以网格搜索法、PSO参数寻优法和GA参数寻优法分别对SVM的控制参数进行了寻优。从实验结果可知,采用网格搜索法进行SVM参数寻优,可以得到较高的测试集分类精度,表明采用SVM多分类模型进行地表水环境质量分类是可行的。

参考文献

  [1] 王文强. 综合指数法在地下水质评价中的应用[J]. 水利科技与经济,2008, 14(1): 54-55.

  [2] 邓聚龙. 灰色理论系统[M]. 武汉:华中科技大学出版社, 2002.

  [3] FARMAKI E G, THOMAIDIS N S, EFSTATHIOU C E. Artificial neural networks in water analysis: theory and application [J]. International Journal of Environmental Analytical Chemistry, 2010, 90(2): 85-105.

  [4] 郑一华. 基于支持向量机的水质评价和预测研究[D]. 南京:河海大学,2006.

  [5] CORTES C, VAPNIK V. Support-vector networks [J]. Machine Learning, 1995, 20(3): 273-297.

  [6] 张学工. 关于统计学习理论与支持向量机[J]. 自动化学报,2000, 26(1): 32-42.

  [7] 邓乃扬,田英杰. 数学挖掘中的新方法:支持向量机[M]. 北京:科学出版社,2004.

  [8] Cao Jian, Hu Hongsheng, Qian Suxiang, et al. Research on the water quality forecast method based on SVM [C]. SPIE, 2009,7500.

  [9] 聂盼盼, 臧洌, 刘雷雷. 基于对支持向量机的多分类算法在入侵检测中的应用[J]. 计算机应用, 2013, 33(2): 426-429.

  [10] JOUTSIJOKI H, JUHOLA M. Comparing the one-vs-one and one-vs-all methods in benthic macroinvertebrate image classification [C]. Proceeding in 7th International Conference, MLDM 2011, NewYork, USA, 2011:399-413.

  [11] PARDO M, SBERYEGLIERI G. Coffee analysis with an electronic nose [J]. IEEE Transactions on Instrumentation and Measurement, 2002, 51(6): 1334-1339.


此内容为AET网站原创,未经授权禁止转载。