本发明属于环境质量评估技术领域,尤其涉及一种基于改进支持向量机的渔业水域环境污染等级评估方法。
技术背景
由于涉海工程在建设过程中,会产生大量的悬浮泥沙,而悬浮物中含有的有毒有害物质可能在海水中重新溶出产生二次污染,影响了施工海域及附近海域的海水水质和沉积环境,进而影响了渔业水生生物的生存。因此对涉海建设工程施工前后的渔业环境调查并进行环境污染等级评估,可以充分掌握施工前后海域环境变化情况,对于后续的渔业资源和生态环境保护具有重要意义。
海洋渔业环境质量的等级评估受多方面因素的影响,针对涉渔工程中渔业环境污染的等级评估研究,更多的是通过一些数学模型定量或定性分析来得到渔业的损害,而本发明综合考虑反映海洋渔业环境污染程度的海水环境和沉积环境的各项指标,引入机器学习方法中的支持向量机模型对反映海水水质、沉积环境状况的评价指标进行融合,建立了评价指标和渔业环境质量等级之间的复杂非线性关系,同时解决了样品采集的有限性问题。
技术实现要素:
本发明要解决的技术问题在于提供一种基于改进支持向量机的渔业环境污染等级评估方法,所述方法融合多个反映海水水质、沉积环境的指标和改进支持向量机模型,提高了渔业环境污染等级评估的快捷度和准确性,具有较高的工程应用价值。
本发明是通过如下技术方案来实现的:
一种基于改进支持向量机的渔业环境污染等级评估方法,它包括以下步骤:
一种基于改进支持向量机的渔业环境污染等级评估方法,它包括以下步骤:
1)调查和采集涉海工程实施前后的反映海水水质和沉积环境的指标,存入到数据库中;
2)采用ZCA白化对各指标数据预处理;
3)按照《海水水质标准》中的水质等级规定和计算公式,为指标样本数据添加对应的水质等级标签;
进一步,所述步骤3)中的计算公式为A综合=A有机+A有毒+A无机+A其他;A有机=石油类+悬浮物质+漂浮物质+有机碳;A有毒=(铬+镉+铅+铜+汞+砷)/5;A无机=无机氮+活性磷酸盐+硫化物;A其他=盐度+溶解氧+化学需氧量+pH。
4)第3)步得到的带标签的指标数据矩阵,随机分为训练集、测试集和交叉验证集,采用网格搜索和十字交叉验证方法在交叉验证集搜索到最优的参数组合C和g,然后把训练集输入到设定最优参数的改进支持向量机模型训练,得到污染等级评估模型,最后输入测试集测试,得到渔业环境污染等级评估的正确率,验证了所提方法的有效性。
在上述步骤1)中:影响渔业环境污染的因素主要有:涉海工程建设中产生的悬浮泥沙,以及由悬浮泥沙带来的有毒有害物质。因此调查涉海工程实施后的水环境、沉积环境,其中水环境调查项目为盐度、pH、溶解氧、漂浮物质、悬浮物质、无机氮、活性磷酸盐、化学需氧量共8项指标,沉积环境包括硫化物、有机碳、石油类、重金属。进一步,所述的无机氮包括硝酸盐、亚硝酸盐和氨氮;所述的重金属包括铬、镉、铅、铜、汞和砷。
在上述步骤2)中:由于样本集中各个指标的量纲和取值范围均不相同,同时考虑到各个指标之间的独立性,指标之间的相关性应尽可能小,这样会减少模型的训练误差。因此采用ZCA白化技术预处理数据。
在上述步骤3)中:按照《海水水质标准》和《海洋沉积物质量标准》中的质量等级规定和计算公式(1),为指标样本数据添加对应的水质污染等级标签。
在上述步骤4)中:把经过预处理的数据集,按照随机分为训练集和测试集和交叉验证集,采用网格搜索和十字交叉验证方法在交叉验证集搜索到最优的参数组合C和g,把训练集输入到设定最优参数的改进支持向量机模型训练,得到污染等级评估模型,最后输入测试集测试,得到渔业环境污染等级评估的正确率,验证了所提方法的有效性。
本发明解决了环境指标样本小的及各指标难融合的问题,利用支持向量机建立人工智能模型实现环境污染等级的评估。在构建支持向量机模型的过程中,采用网格搜索算法进行支持向量机内部参数优化,建立基于优化参数的渔业环境污染等级评估模型,相较与传统的渔业环境污染等级评估方法,本发明具有更高的准确性和智能性。
附图说明
图1基于改进支持向量机对渔业环境污染等级评估方法流程图;
图2SVC(Support Vector Classification)参数选择网格优化等高线图;
图3SVC参数选择优化网格三维图。
具体实施方式
下面结合附图和实施案例对本发明的技术方案进行详细的说明,图1给出了海洋渔业环境污染程度的评估过程,具体步骤如下:
步骤1:海洋渔业环境污染程度影响因素分析。
影响渔业水域环境质量的因素主要有:涉海工程建设中产生的悬浮泥沙,以及由悬浮泥沙带来的有毒有害物质。因此调查涉海工程实施后的水环境、沉积环境,其中水环境调查项目包括盐度、pH、溶解氧、漂浮物质、悬浮物质、无机氮、活性磷酸盐、化学需氧量共8项指标,沉积环境包括硫化物、有机碳、石油类、重金属。进一步,所述的无机氮包括硝酸盐、亚硝酸盐和氨氮;所述的重金属包括铬、镉、铅、铜、汞和砷。
步骤2:评价指标数据的预处理。
由于样本集中各个指标的量纲和取值范围均不相同,同时考虑到各个指标的独立性,指标之间的相关性应尽可能小,这样会减少模型的训练误差。因此采用ZCA白化技术预处理数据。
步骤3:为指标样本数据添加水质污染等级标签。
按照《海水水质标准》和《海洋沉积物质量标准》中的质量等级规定和计算公式(1),为指标样本数据添加对应的环境污染等级标签。
步骤4:结合指标数据和支持向量机模型,得到渔业环境污染等级评价模型。
把经过预处理的数据集,按照随机分为训练集和测试集和交叉验证集,采用网格搜索和十字交叉验证方法在交叉验证集搜索到最优的参数组合C和g,把训练集输入到设定最优参数的改进支持向量机模型训练,得到污染等级评估模型,最后输入测试集测试,得到渔业环境污染等级评估的正确率,来评估模型的优劣。
所述的步骤1具体说明如下:
影响渔业海域环境污染的因素主要有:涉海工程建设中砂石等悬浮物,以及由悬浮泥沙带来的重金属等有害物质。为了全面反映海水水质、沉积物环境质量状况,本发明构建了以下指标体系。详见表1所示:
表1渔业环境污染程度的影响因素和指标体系
在海洋渔业环境污染程度的评价指标中,悬浮物质是重要的观测指标之一,其含量的大小决定了涉海工程对海水环境的污染程度,也是后面为样本数据添加标签重点考虑的指标。涉海工程对海洋渔业造成潜在影响的其它毒性因子包括硫化物、石油类、重金属。
所述的步骤2具体说明如下:
本案例采用渤海海域某海湾的监测数据,由于各个参数之间的量纲差别较大,因此对样本进行归一化处理,经过预处理后有效调节了指标的范围和量纲的不同,避免数值取舍不当情况的出现,提高预测精度。同时为了减少指标数据的冗余性使各个指标的标准统一,使得所有的属性方差一致、不同属性之间尽量不相关或者相关性较低。因此在样本数据输入到支持向量机前对原始数据进白化处理。经白化处理后的输入数据具有以下性质:
1)特征之间相关性较低;
2)所有特征具有相同的方差。
常见的白化操作有PCA(Principal Component Analysis)白化和ZCA白化,其中PCA白化能确保数据各维度的方差为1,可用于降维也可以去相关性;ZCA白化是保证数据各维度的方差相同,主要用于去相关性,且尽量使白化后的数据接近原始输入数据。假设原始指标数据集中有n个样本,每个样本有d个指标,ZCA白化过程如下:
1)在使用白化前先对原始指标矩阵X进行零均值化,用每一维的样本数据减去该维的平均值得到Xi,归一化后样本数据取值为0-1,从而得到归一化矩阵A。
2)根据白化的第2个要求,首先是降低特征之间的相关性,利用计算矩阵A对应的样本协方差矩阵∑,并对协方差矩阵做奇异值分解,求出相对应的特征值λ1>λ2>…λn和对应的特征向量矩阵U,其中U=[u1,…,un],然后把特征向量矩阵U作为基向量转换后得到新的样本数据Xrot,其中Xrot=UTX。
3)为了使旋转后的每个输入指标具有单位方差,直接使用作为缩放因子缩放每个指标Xrot,i,此时得到PCA白化处理结果
4)ZCA白化是在PCA白化的基础上做了一个旋转操作,使得白化后的数据更加接近原始数据,将XPCAwhite,i左乘矩阵U得到原始数据ZCA白化后的结果XZCAwhite,i=UXPCAwhite,i。
在实际进行白化处理过程中,会出现某些特征值λi在数值上接近于0的情况,这会导致在缩放过程中出现除以一个约等于0的进而造成数据上溢或数值不稳定的现象,为了克服这些问题,在实际应用中使用正则化实现缩放过程,即在取平方根和倒数之前给特征值加一个很小的常数ε,最后利用进行处理,通常ε去一个很小的正数,本发明方法ε=0.1,由于白化后的数据中存在负数,因此再次采用最大最小归一化数据为0-1。
所述的步骤3的子步骤具体说明如下:
S3.1:海洋渔业环境污染程度分级标准的确定
本发明在评价海洋渔业环境的污染程度时,按照国标《海水水质标准》和《海洋沉积物质量标准》中的规定,得出海洋渔业水质污染程度可分为六个等级,详见表2所示。
表2海洋渔业环境综合污染指数等级划分
根据相关文献提出的海洋渔业环境质量评价计算公式,A综合=A有机+A有毒+A无机+A其他(1)式中A综合为海水水质综合污染指数,A有机、A有毒、A无机、A其他分别为有机污染指标、有毒污染物指标、无机物指标和其他监测指标;A有机=石油类+悬浮物质+漂浮物质+有机碳;A有毒=(铬+镉+铅+铜+汞+砷)/5;A无机=无机氮+活性磷酸盐+硫化物;A其他=盐度+溶解氧+化学需氧量+pH。上述公式提到的指标值均为标准化数据。
S3.2:根据各指标的监测指标,为指标样本添加环境污染等级标签
根据标准化后的数据,代入到对应的公式(1),按照环境质量综合污染指数划分到相应的等级,其中部分归一化后的指标数据见表3所示,其中样本序号1-4为轻度污染,4-8为重度污染。
表3部分样本指标数据
所述的步骤4具体说明如下:
S4.1:支持向量机主要是基于如下思想:通过事先选择的非线性映射将输入向量映射到高维特征空间,在这个空间中构造最优决策函数。在构造最优决策函数时,利用了结构风险最小化原则,同时引入了间隔的概念。并利用原空间的核函数取代了高维特征空间的点积运算,避免了复杂计算。目前支持向量机算法主要有分类和回归等。本发明采用非线性分类算法。
设原始指标数据集中有n个样本,每个样本有d个指标,通过非线性映射把样本(x1,y1),…(xn,yn)映射到高维特征空间在这个高维特征空间中构造超平面这样非线性分类转化为高维特征空间中的线性分类,即在满足的条件下(ζi是允许错分的松弛变量),最小化||w||的问题,优化问题为:
ζi≥0,i=1,…,n,c为给定常数。
采用拉格朗日法求解这个优化问题:
其中αi,ri是拉格朗日乘子αi≥0,ri≥0,i=1,…,n。
根据优化条件:
得到:
把(5)代入(3),问题转化为最大化下面表达式
支持向量机并不直接求解高维特征空间的点积而是用原空间的核函数K(xi,xj)代替它,核函数K(xi,xj)是满足Mercer条件的对称函数。
所以优化问题转化为,在约束条件下最大函数W(a),根据KT条件,超平面为:
最后分类器为:f(x,w,b)=sgn[∑支持向量αiyiK(x,xi)+b=0]。
S4.2:核函数
选择不同的核函数K(x,xi),可构造不同的向量机,本发明综合考虑选用径向基核函数:
其中γ为调整系数,σ为核宽度。采用网格搜索和交叉验证结合搜索出最佳参数C和g,其中C=22.6274,g=0.25,参数选择结果见图2和图3。
输入训练集到改进支持向量机模型训练得到污染等级评估模型,把测试集输入到污染等级评估模型,得到渔业环境污染评估等级的正确率为86.12%(其中36个样本31个评级正确),对照相应的渔业环境质量监测报告,污染评估等级结果与报告内容基本相同,验证了本方法的可行性。
综合以上分析,本发明通过融合多个反映渔业环境污染程度的海水环境质量指标及沉积环境质量指标,并对指标数据矩阵进行ZCA白化预处理,输入到改进支持向量机模型中训练,得到了渔业环境污染等级评估模型,本方法的评价结果科学合理,具有较高的工程实际应用价值。