一种SVM有向无环图的海底管道风险评估方法转让专利

申请号 : CN201910589274.1

文献号 : CN110288048A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘金海魏红秋卢森骧张化光冯健马大中汪刚

申请人 : 东北大学

摘要 :

本发明公开一种SVM有向无环图的海底管道风险评估方法,步骤为:收集与管道风险相关的数据,并进行数据清洗;将清洗后的数据集中到一个数据库中形成特征矩阵,并利用互信息相关性分析方法进行特征选择,得出每个特征权值,找出与管道风险相关的主要影响因素作为特征子集;基于有向无环图的支持向量机DAG-SVM对管道风险等级进行划分,得到L(L-1)/2个支持向量机分类器,运用交叉验证及网格搜索法寻找最优参数,在测试阶段构造成有向无环图,每个节点对应一个二类分类器。本发明利用特征选择的方法解决了高维样本分类精度低的问题,利用有向无环图DAG方法的优点避免了一对一方法中存在的样本不可分的情况,同时减少了测试时间,提高了分类精度。

权利要求 :

1.一种SVM有向无环图的海底管道风险评估方法,其特征在于包括以下步骤:

1)收集管道在设计、建设、施工、运行、维护过程中与管道风险相关的数据,并进行数据清洗,包括异常值与缺失值处理;

2)将清洗后的数据集中到一个数据库中形成特征矩阵S=[s1,K,sn],并利用互信息相关性分析方法进行特征选择,得出每个特征权值,找出与管道风险相关的主要影响因素作为特征子集;

3)基于有向无环图的支持向量机DAG-SVM对管道风险等级进行划分,得到L(L-1)/2个支持向量机分类器,训练阶段运用交叉验证及网格搜索法寻找最优参数,在测试阶段构造成一个有向无环图,该有向无环图中包括L(L-1)/2个内部节点和L个叶子节点,每个节点对应一个二类分类器。

2.根据权利要求1所述的SVM有向无环图的海底管道风险评估方法,其特征在于步骤1)中,收集管道在设计、建设、施工、运行、维护过程中与管道风险相关的数据为:管道每个系统中的数据矩阵 大小为n*m维,n为管道样本数量,m为特征维;

102)将矩阵N中的数据利用聚类分析方法对异常值进行检测,定位异常值的位置;

103)找到的异常值按照缺失值的处理方法进行填充,利用拉格朗日插值法对异常值和缺失值进行填补,输出缺失值。

3.根据权利要求2所述的SVM有向无环图的海底管道风险评估方法,其特征在于步骤

102)具体包括以下过程:

10201)读取数据,对原始数据进行线性变换,将数据映射到[0,1]区间,转换公式如下:其中,x为缺失值,max为样本数据最大值,min为样本数据最小值,max-min为极差;

10202)从n个数据对象中任意选取k个对象作为聚类中心;

10203)输入聚类个数k及迭代次数iter;

10204)随机将聚类中心C赋值;

10205)分别计算每个对象到各个聚类中心的距离d,把数据对象按照影响占比分配到距离最近的聚类中;

其中,ω1,ω2...ωn为各属性的权重值,大小介于[0,1]之间,mul…mum为属性1到属性n的特征值,mv1…mvm为初始质心。

10206)所有对象分配完成后,重新计算k个聚类的中心;

10207)与前一次聚类得到的k个聚类中心比较,如果聚类中心没有发生变化则转步骤

10208);否则转至步骤10205);

10208)计算各数据对象到它的最近质心的相对距离dist;

其中,μk为第i类样本中的一个数据对象,k的大小为第i个簇中样本大小,ci为第i个簇;

mk1…mkm为分类后的各类别数据对象特征值,mc1…mcm为最终分类形成的质心值;

10209)将聚类结果中的每个簇中样本点到聚类中心的相对距离dist按照降序排列分别用d1,d2,K,dk-1,dk表示;

如果|d1-d2||2-|(1+η)|dk-1-dk||≥γ,那么d1为异常点,η为步长,γ为最大校正系数;

如果|d1-d2||2-(1+η)||dk-1-dk||2<β,但||d2-d3||2-(1+η)||dk-1-dk||2≥γ,β最小校正系数,那么d1,d2均为异常点,以此类推,重复进行步骤1.2.9,进一步筛选异常点,直到所有异常点被发现。

4.根据权利要求3所述的SVM有向无环图的海底管道风险评估方法,其特征在于步骤

10207)与前一次聚类得到的k个聚类中心比较,如果聚类中心发生变化,转步骤10205)。

5.根据权利要求2所述的SVM有向无环图的海底管道风险评估方法,其特征在于步骤

103)具体包括以下过程:

10301)输入:插值节点控制数m,插值点序列(xi,yi),i=1,2…m,其中xi对应的是自变量的值,yi对应的函数取值,要计算的缺失值为xa;

10302)假设任意两个xi都不同,先确定缺失值xa的位置,然后应用拉格朗日插值公式所得到的拉格朗日插值多项式:其中每个lj(x)为拉格朗日基函数,其表达式为:lj(x)拉格朗日多项式的特点是在xj上取值为1,其他的点xi,i不等于j上取值为0;

10303)对因为插补的因变量y值准确度相对较低,因此为每个基函数乘以一个修正因子αm对基函数进行修正,公式如下:gj(x)=αmlj(x)

gj(x)为修正基函数;

m=m,m-1,…1,xm,ym是未缺失的特征值;

10304)求插值函数L(x):

yj为特征值,gj(x)为修正基函数;

10305)输出缺失值ya。

6.根据权利要求1所述的SVM有向无环图的海底管道风险评估方法,其特征在于步骤2)具体包括以下过程:

201)输入特征数据集D和特征A,计算特征数据集D的信息熵H(D),公式如下:其中,|CL|为类CL的样本个数,D为数据处理后的特征数据集,L是样本个数;

202)计算A中各特征A1,K,An对数据集D的条件熵H(D|A),公式如下:其中,A1…An为特征,D为数据处理后的特征数据集,t是样本个数,f是类别个数,Df是特征A取值划分的子集,DfL是子集Df中属于类CL的样本集合;

203)计算各特征A1,K,An对数据集D的互信息g(D,A),公式如下:g(D,A)=H(D)-H(D|A)

其中,H(D)为信息熵,H(D|A)为条件熵,g(D,A)为互信息;

204)找出与风险等级相关性高的主要影响因素,互信息g(D,A)越大,变量D包含关于A的信息越多;

205)管道相关信息系数计算公式如下:

σ为增益系数,t为特征维数取值,|D|样本容量;g(D,A)为互信息;

206)当特征的相关信息系数Θ(at)大于相关系数阈值ξ,将此特征作为主要特征筛选出来作为特征子集;

207)将大于相关系数阈值的主要影响因素构成特征子集M,为接下来的风险等级分类提供数据集。

7.根据权利要求1所述的一种SVM有向无环图的海底管道风险评估方法,其特征在于,所述步骤3)包括以下步骤:

301)特征选择后的特征组成的特征子集M分为训练集P和测试集Q;

302)对训练集采用k折交叉验证和网格搜索法对支持向量机进行参数优化;k为折数;

303)测试阶段,初始化参数p=1,q=L,p=1,2,…,L-1,q=2,…,L,令bp为SVM二分类的正类,bq为SVM二分类器的负类,bp不等于bq,根据训练阶段构成的L(L-1)/2个SVM分类器构建有向无环图学习结构。

8.根据权利要求7所述的一种SVM有向无环图的海底管道风险评估方法,其特征在于,所述步骤302)包括以下步骤:

30201)设定惩罚参数C和参数gamma的初始值及范围;

30202)将训练集中的类别向量b=[b1,K,br]中每两类的样本组合为一个训练子集并将该训练子集训练为一个SVM二分类器,共L(L-1)/2个SVM二分类器,L为所述训练集类别的总数目;

30203)将L(L-1)/2个分类器的每个分类器重新进行步骤2)中特征相关性分析,找到与该分类器中与两类别相关性不大的冗余特征,调整相关系数阈值ξ,并对每一个特征赋新的权值,重新输入到分类器中;

30204)本次实验将训练集分成k组,每个组都会被作为一次验证集合,其余九组作为训练集,将得到的10个模型分类准确率的平均值作为分类器的性能指标;

30205)将各个数据集根据步骤3.2.2所述的性能指标进行交叉验证,得到最优参数对;

30206)得到的最优参数进行判断,以惩罚参数C为优先选择,若精度满足要求则得到最优参数对[C,gamma];

30207)每个分类器重复进行步骤30201)-30206)。

说明书 :

一种SVM有向无环图的海底管道风险评估方法

技术领域

[0001] 本发明涉及一种管道风险评估技术,具体为一种SVM有向无环图的海底管道风险评估方法。

背景技术

[0002] 近年来,随着我国海域油气作业的大量增加,海底油气管道作为运输工具越来越受欢迎,覆盖了渤海和南海东西部大部分水域东海的部分水域。与此同时,随着海底油气管道的不断延伸,管道泄漏的风险也在悄然上升,成为海上溢油事故的原因之一。
[0003] 海底管道泄漏事故的影响因素相对于陆地管道影响因素更加复杂,包括第三方破坏、冲刷悬空、腐蚀、自然灾害、人为失误等,而这些因素又分布于不同信息系统中。数据类型包括结构化和非结构化的数据,为数据的采集与对齐带来了巨大的挑战,工程实际应用到的可用数据样本量又少之又少,加之采集来的数据存在噪声、缺失等,对管道的风险评估造成了巨大的困难,在此之前评估海底管道风险常采用非智能化方法,应用较为广泛的方法有决策树分析法,模糊综合评价法、蒙特卡罗模拟法、事故树分析法、风险矩阵法以及层次分析法等,这些方法过于主观性,考虑的因素也不够全面,评估技术也过于落后、复杂,因此当前将智能化等数据挖掘方法应用到管道风险评估中。原始SVM方法仅用于解决二类问题,不能直接解决多分类问题。将多分类问题分解成一系列的两个类别的问题,目前常用于多分类的方法有一对一、一对多、DAG有向无环图等方法。DAG方法在训练的时候采取一对一的方法测试阶段,样本从根节点的判别函数开始分类判断,根据判断结果来决定下一层的移动方向,直到移动到某个叶子为止,DAG方法的优点避免了一对一方法中存在的样本不可分的情况,同时减少了测试时间,分类效率较高。但是DAG方法也存在当构造的子分类器数目较多的情况下训练速度慢的问题;另外在DAG-SVM中,存在误差累积现象,若上层节点发生分类错误,下层节点会延续这一错误,直至最终分类错误。

发明内容

[0004] 针对现有技术中管道风险评估方法存在的主观性强、考虑因素不全面,方法过于复杂,效率低等不足,本发明要解决的问题是提供一种可提高分类精度、判断客观性强的SVM有向无环图的海底管道风险评估方法。
[0005] 为解决上述技术问题,本发明采用的技术方案是:
[0006] 本发明一种SVM有向无环图的海底管道风险评估方法,包括以下步骤:
[0007] 1)收集管道在设计、建设、施工、运行、维护过程中与管道风险相关的数据,并进行数据清洗,包括异常值与缺失值处理;
[0008] 2)将清洗后的数据集中到一个数据库中形成特征矩阵S=[s1,K,sn」,并利用互信息相关性分析方法进行特征选择,得出每个特征权值,找出与管道风险相关的主要影响因素作为特征子集;
[0009] 3)基于有向无环图的支持向量机DAG-SVM对管道风险等级进行划分,得到L(L-1)/2个支持向量机分类器,训练阶段运用交叉验证及网格搜索法寻找最优参数,在测试阶段构造成一个有向无环图,该有向无环图中包括L(L-1)/2个内部节点和L个叶子节点,每个节点对应一个二类分类器。
[0010] 步骤1)中,收集管道在设计、建设、施工、运行、维护过程中与管道风险相关的数据为:
[0011] 管道每个系统中的数据矩阵 大小为n*m维,n为管道样本数量,m为特征维;
[0012] 102)将矩阵N中的数据利用聚类分析方法对异常值进行检测,定位异常值的位置;
[0013] 103)找到的异常值按照缺失值的处理方法进行填充,利用拉格朗日插值法对异常值和缺失值进行填补,输出缺失值。
[0014] 步骤102)具体包括以下过程:
[0015] 10201)读取数据,对原始数据进行线性变换,将数据映射到[0,1]区间,转换公式如下:
[0016]
[0017] 其中,x为缺失值,max为样本数据最大值,min为样本数据最小值,max-min为极差;
[0018] 10202)从n个数据对象中任意选取k个对象作为聚类中心;
[0019] 10203)输入聚类个数k及迭代次数iter;
[0020] 10204)随机将聚类中心C赋值;
[0021] 10205)分别计算每个对象到各个聚类中心的距离d,把数据对象按照影响占比分配到距离最近的聚类中;
[0022]
[0023] 其中,ω1,ω2...ωn为各属性的权重值,大小介于[0,1]之间,mu1…mum为属性1到属性n的特征值,mv1…mvm为初始质心。
[0024] 10206)所有对象分配完成后,重新计算k个聚类的中心;
[0025] 10207)与前一次聚类得到的k个聚类中心比较,如果聚类中心没有发生变化则转步骤10208);否则转至步骤10205);
[0026] 10208)计算各数据对象到它的最近质心的相对距离dist;
[0027]
[0028] 其中,μk为第i类样本中的一个数据对象,k的大小为第i个簇中样本大小,ci为第i个簇;mk1…mkm为分类后的各类别数据对象特征值,mc1…mcm为最终分类形成的质心值;
[0029] 10209)将聚类结果中的每个簇中样本点到聚类中心的相对距离dist按照降序排列分别用d1,d2,K,dk-1,dk表示;
[0030] 如果|d1-d2||2-|(1+η)|dk-1-dk||≥γ,那么d1为异常点,η为步长,γ为最大校正系数;
[0031] 如果|d1-d2||2-(1+η)||dk-1-dk||2<β,但||d2-d3||2-(1+η)||dk-1-dk||2≥γ,β最小校正系数,那么d1,d2均为异常点,以此类推,重复进行步骤1.2.9,进一步筛选异常点,直到所有异常点被发现。
[0032] 步骤10207)与前一次聚类得到的k个聚类中心比较,如果聚类中心发生变化,转步骤10205)。
[0033] 步骤103)具体包括以下过程:
[0034] 10301)输入:插值节点控制数m,插值点序列(xi,yi),i=1,2…m,其中xi对应的是自变量的值,yi对应的函数取值,要计算的缺失值为xa;
[0035] 10302)假设任意两个xi都不同,先确定缺失值xa的位置,然后应用拉格朗日插值公式所得到的拉格朗日插值多项式:
[0036]
[0037] 其中每个lj(x)为拉格朗日基函数,其表达式为:
[0038]
[0039] lj(x)拉格朗日多项式的特点是在xj上取值为1,其他的点xi,i不等于j上取值为0;
[0040] 10303)对因为插补的因变量y值准确度相对较低,因此为每个基函数乘以一个修正因子αm对基函数进行修正,公式如下:
[0041] gj(x)=αmlj(x)
[0042] gj(x)为修正基函数;
[0043]
[0044] m=m,m-1,…1,xm,ym是未缺失的特征值;
[0045] 10304)求插值函数L(x):
[0046]
[0047] yj为特征值,gj(x)为修正基函数;
[0048] 10305)输出缺失值ya。
[0049] 步骤2)具体包括以下过程:
[0050] 201)输入特征数据集D和特征A,计算特征数据集D的信息熵H(D),公式如下:
[0051]
[0052] 其中,|CL|为类CL的样本个数,D为数据处理后的特征数据集,L是样本个数;
[0053] 202)计算A中各特征A1,K,An对数据集D的条件熵H(D|A),公式如下:
[0054]
[0055] 其中,A1…An为特征,D为数据处理后的特征数据集,t是样本个数,f是类别个数,Df是特征A取值划分的子集,DfL是子集Df中属于类CL的样本集合;
[0056] 203)计算各特征A1,K,An对数据集D的互信息g(D,A),公式如下:
[0057] g(D,A)=H(D)-H(D|A)
[0058] 其中,H(D)为信息熵,H(D|A)为条件熵,g(D,A)为互信息;
[0059] 204)找出与风险等级相关性高的主要影响因素,互信息g(D,A)越大,变量D包含关于A的信息越多;
[0060] 205)管道相关信息系数计算公式如下:
[0061]
[0062] σ为增益系数,t为特征维数取值,|D|样本容量;g(D,A)为互信息;
[0063] 206)当特征的相关信息系数Θ(at)大于相关系数阈值ξ,将此特征作为主要特征筛选出来作为特征子集;
[0064] 207)将大于相关系数阈值的主要影响因素构成特征子集M,为接下来的风险等级分类提供数据集。
[0065] 所述步骤3)包括以下步骤:
[0066] 301)特征选择后的特征组成的特征子集M分为训练集P和测试集Q;
[0067] 302)对训练集采用k折交叉验证和网格搜索法对支持向量机进行参数优化;k为折数;
[0068] 303)测试阶段,初始化参数p=1,q=L,p=1,2,…,L-1,q=2,…,L,令bp为SVM二分类的正类,bq为SVM二分类器的负类,bp不等于bq,根据训练阶段构成的L(L-1)/2个SVM分类器构建有向无环图学习结构。
[0069] 所述步骤302)包括以下步骤:
[0070] 30201)设定惩罚参数C和参数gamma的初始值及范围;
[0071] 30202)将训练集中的类别向量b=[b1,K,br]中每两类的样本组合为一个训练子集并将该训练子集训练为一个SVM二分类器,共L(L-1)/2个SVM二分类器,L为所述训练集类别的总数目;
[0072] 30203)将L(L-1)/2个分类器的每个分类器重新进行步骤2)中特征相关性分析,找到与该分类器中与两类别相关性不大的冗余特征,调整相关系数阈值ξ,并对每一个特征赋新的权值,重新输入到分类器中;
[0073] 30204)本次实验将训练集分成k组,每个组都会被作为一次验证集合,其余九组作为训练集,将得到的10个模型分类准确率的平均值作为分类器的性能指标;
[0074] 30205)将各个数据集根据步骤3.2.2所述的性能指标进行交叉验证,得到最优参数对;
[0075] 30206)得到的最优参数进行判断,以惩罚参数C为优先选择,若精度满足要求则得到最优参数对[C,gamma];
[0076] 30207)每个分类器重复进行步骤30201)-30206)。
[0077] 本发明具有以下有益效果及优点:
[0078] 1.本发明将采集到的数据进行数据预处理后得到准确的数据,利用特征选择的方法解决了高维样本分类精度低的问题,利用有向无环图DAG方法的优点避免了一对一方法中存在的样本不可分的情况,同时减少了测试时间,提高了分类精度。
[0079] 2.本发明采用交叉验证和网格搜索的方法对支持向量机模型参数进行寻优,不仅实现快速收敛和有效减少过拟合,而且能够利用有限的数据集,对尽可能多的参数组合进行正确率对比,完成参数寻优提升了模型对所要分类的数据的适应性。
[0080] 3.本发明方法客观性强、考虑因素全面,评估效率高。

附图说明

[0081] 图1为本发明方法的整体步骤流程图;
[0082] 图2为本发明方法中聚类异常值检测算法流程图;
[0083] 图3为本发明方法涉及的DAG-SVM结构图;
[0084] 图4为本发明方法涉及的交叉验证与网格搜索参数优化流程图。

具体实施方式

[0085] 下面结合说明书附图对本发明作进一步阐述。
[0086] 支持向量机是一种解决小样本分类问题的人工智能算法,该方法建立在统计学习理论的基础之上,管道各系统中能对齐的数据量小,维数高,因此利用支持向量机在小样本统计方面具有独特的求解优势,不存在局部最优解的问题。支持向量机参数的选择会对结果造成很大的影响,选择合适的参数对精确度影响很大,因此使用交叉验证和网格搜索法能得到最优的参数,从而得到较高的分类精度。
[0087] 如图1所示,为本发明一种SVM有向无环图的海底管道风险评估方法的整体步骤流程图,包括管道缺失及异常数据的清洗、高维数据的特征选择、以及管道风险等级的划分等,表述如下:
[0088] 1)收集管道在设计、建设、施工、运行、维护过程中与管道风险相关的数据,并进行数据清洗,包括异常值与缺失值处理;
[0089] 2)将清洗后的数据集中到一个数据库中形成特征矩阵S=[s1,K,sn」,并利用互信息相关性分析方法进行特征选择,得出每个特征权值,找出与管道风险相关的主要影响因素作为特征子集;
[0090] 3)基于有向无环图的支持向量机DAG-SVM对管道风险等级进行划分,得到L(L-1)/2个支持向量机分类器,训练阶段运用交叉验证及网格搜索法寻找最优参数,在测试阶段构造成一个有向无环图,该有向无环图中包括L(L-1)/2个内部节点和L个叶子节点,每个节点对应一个二类分类器。
[0091] 本发明在整个数据上采用特征权重计算方法,考虑到每个SVM二分类器只包含两个类别样本,每个类别样本均有各自的特点,因此对所有样本进行特征选择很容易产生冗余特征,在每个分类器上再次特征选择,得到每个特征的权重,依次进行分类,进一步提高了DAG-SVM的模型精确度。
[0092] 收集管道在设计、建设、施工、运行、维护过程中与管道风险相关的数据,主要包括管道腐蚀与冲蚀数据、第三方破坏与机械损伤数据、设计与工程建设数据、结构数据、运行与管理数据、自然与地质灾害数据。将各个系统中的数据分别进行数据的清洗,包括缺失值及异常值的处理,最后将数据根据焊缝等信息对齐后导入到一个数据库系统中。本实施例样本集有300组,共43个特征,第44维特征向量为类别,本次将风险类别分为4类,80%的样本集作为训练集,20%作为测试集,具体步骤如下:
[0093] 步骤101)管道每个系统中的数据矩阵 大小为n*m维,
[0094] N为管道样本数量,m为特征维;
[0095] 每个系统中根据数据样本大小和特征维度的不同,n与m各不相同;
[0096] 如图2所示,为本发明的管道异常数据的聚类异常检测流程图,具体步骤如下:
[0097] 102)将矩阵N中的数据利用聚类分析方法对异常值进行检测,定位异常值的位置:
[0098] 10201)读取数据,首先对数据标准化,是对原始数据的线性变换,将数据映射到[0,1]区间,转换公式如下:
[0099]
[0100] 其中x为缺失值,max为样本数据最大值,min为样本数据最小值,max-min为极差;
[0101] 10202)从n个数据对象中任意选取k个对象作为聚类中心,k一般选取3或者4;
[0102] 10203)输入聚类个数k及迭代次数iter;
[0103] 10204)随机将聚类中心C赋值;
[0104] 10205)分别计算每个对象到各个聚类中心的距离d,把数据对象按照影响占比分配到距离最近的聚类中;
[0105]
[0106] ω1,ω2...ωn为各属性的权重值,一般按照专家经验取值,大小介于[0,1]之间;mu1…mum是属性1到属性n的特征值,mv1…mvm是初始质心;
[0107] 10206)所有对象分配完成后,重新计算k个聚类的中心;
[0108] 10207)与前一次聚类得到的k个聚类中心比较,如果聚类中心发生变化,转步骤10205)否则转步骤10208);
[0109] 10208)计算各数据对象到它的最近质心的相对距离dist;
[0110]
[0111] μk为第i类样本中的一个数据对象,k的大小为第i个簇中样本大小,ci为第i个簇;mk1…mkm为分类后的各类别数据对象特征值,mc1…mcm是最终分类形成的质心值。
[0112] 10209)将聚类结果中的每个簇中样本点到聚类中心的相对距离dist按照降序排列分别用d1,d2,K,dk-1,dk表示;
[0113] 如果|d1-d2||2-|(1+η)|dk-1-dk||≥γ,那么d1为异常点,η为步长,γ为最大校正系数,γ一般取0.8,η取0.2;
[0114] 如果|d1-d2||2-(1+η)||dk-1-dk||2<β,但||d2-d3||2-(1+η)||dk-1-dk||2≥γ,β最小校正系数,β一般取0.3,那么d1,d2均为异常点,以此类推,重复进行步骤1.2.9,进一步筛选异常点,直到所有异常点被发现。
[0115] 103)将找到的异常值按照缺失值的处理方法进行填充,利用拉格朗日插值法对异常值和缺失值进行填补:
[0116] 10301)输入:插值节点控制数m,插值点序列(xi,yi),i=1,2…m,其中xi对应的是自变量的值,yi对应的函数取值,要计算的缺失值为xa;
[0117] 10302)假设任意两个xi都不同,先确定缺失值xa的位置,然后应用拉格朗日插值公式所得到的拉格朗日插值多项式:
[0118]
[0119] 其中每个lj(x)为拉格朗日基函数,其表达式为:
[0120]
[0121] lj(x)拉格朗日多项式的特点是在xj上取值为1,其他的点xi,i不等于j上取值为0;
[0122] 10303)对因为插补的因变量y值准确度相对较低,因此为每个基函数乘以一个修正因子αm对基函数进行修正,公式如下:
[0123] gj(x)=αmlj(x)
[0124] gj(x)为修正基函数;
[0125]
[0126] m=m,m-1,…1,xm,ym是未缺失的特征值;
[0127] 10304)求插值函数L(x):
[0128]
[0129] yj为特征值,gj(x)为修正基函数;
[0130] 10305)输出缺失值ya。
[0131] 步骤2)特征的相关性分析:将各系统清洗过的数据对齐后导入到同一个数据库中构成数据集矩阵S=[s1,K,sn],将S中的连续数据离散化,每一个特征按照专家经验分成四个级别,构成特征数据集D=[D1,D2,K,Dn],|D|表示其样本容量,即样本个数,设有L个类cL,L=1,2…L,代表风险等级,这里根据管道风险情况L=4;|cL|属于类cL的样本个数,设特征A有t个不同的取值{a1,a2,K,at},根据特征A的取值将D划分为t个子集D1,D2,K,Dt,|Df|为Df的样本个数,记子集Df中属于类cL的样本集合为DfL;
[0132] 201)输入:特征数据集D和特征A,计算特征数据集D的信息熵H(D),公式如下:
[0133]
[0134] 其中,|CL|为类CL的样本个数,D为数据处理后的特征数据集,L是样本个数;
[0135] 202)计算A中各特征A1,K,An对数据集D的条件熵H(D|A),公式如下:
[0136]
[0137] 其中,A1…An为特征,D为数据处理后的特征数据集,t是样本个数,f是类别个数,Df是特征A取值划分的子集,DfL是子集Df中属于类Ck的样本集合;
[0138] 203)计算各特征A1,K,An对数据集D的互信息g(D,A),公式如下:
[0139] g(D,A)=H(D)-H(D|A)
[0140] 其中,H(D)为信息熵,H(D|A)为条件熵,g(D,A)为互信息;
[0141] 204)找出与风险等级相关性高的主要影响因素,互信息g(D,A)越大,变量D包含关于A的信息就越多;
[0142] 205)管道相关信息系数计算公式如下:
[0143]
[0144] σ为增益系数,t为特征维数取值,|D|样本容量;g(D,A)为互信息;
[0145] 206)当特征的相关信息系数Θ(at)大于相关系数阈值ξ,本实施例中取值4.2,将此特征作为主要特征筛选出来作为特征子集;
[0146] 207)将大于相关系数阈值的主要影响因素构成特征子集M,为接下来的风险等级分类提供数据集。
[0147] 步骤3)基于有向无环图的支持向量机DAG-SVM的管道风险等级划分:此方法训练过程类似于一对一的分类过程,L类别问题需要求解L(L-1)/2个支持向量机分类器,在测试阶段,这些分类器构造成一个有向无环图,该有向无环图中包括L(L-1)/2个内部节点和L个叶子节点,每个节点对应一个SVM二类分类器。
[0148] 如图3所示,为本发明的有向无环图DAG与SVM结构图,具体步骤如下:
[0149] 301)将特征选择后的特征组成的特征子集M分为训练集P和测试集Q;
[0150] 302)对训练集P采用k折交叉验证和网格搜索法对支持向量机进行参数优化:k可以取5,10等,本次实验k=10。
[0151] 如图4所示,为本发明的交叉验证及网格搜索参数优化图。具体步骤如下:
[0152] 30201)选定核函数类型为高斯核函数,设定惩罚参数C和参数gamma的初始值及范围;
[0153] 本实施例的C和gamma的初始值分别为1和0.1,C和gamma的范围取[2-5,25],合适类型的核函数是支持向量机选择的重点,它能够反映不同类别在特征空间中的数据分布,对样本数据的映射性能有重要影响,高斯径向基函数计算量比较小,有益于提升模型训练速度,径向基核函数的灵活性通过参数gamma进行控制;
[0154] 30202)将训练集中的类别向量b=[b1,K,br]中每两类的样本组合为一个训练子集并将该训练子集训练为一个SVM二分类器,共L(L-1)/2个SVM二分类器,L为所述训练集类别的总数目;
[0155] 30203)将L(L-1)/2个分类器的每个分类器重新进行步骤2中特征相关性分析,找到与该分类器中与两类别相关性不大的冗余特征,调整相关系数阈值,并对每一个特征赋新的权值,重新输入到分类器中;
[0156] 30204)将训练集分成十组,每个组都会被作为一次验证集合,其余九组作为训练集,将得到的10个模型分类准确率的平均值作为分类器的性能指标;
[0157] 具体的交叉验证过程如下:
[0158] 在预先选定的C和gamma范围内对参数对进行赋值,并求得不同参数对的准确率,本实施例中赋值方式采用网格赋值方式,步进距离为10-4;
[0159] 若第h+1个参数对[C,gamma]h-1的准确率低于第h个参数对[C,gamma]h,则第h+1个参数对不是分类准确率最高的参数对,继续验证;
[0160] 若第h+1个参数对[C,gamma]h-1的准确率高于第h个参数对[C,gamma]h,则第h+1个参数对作为分类准确率最高的参数对。
[0161] 30205)将各个数据集根据步骤3.2.2所述的性能指标进行交叉验证,得到最优参数对,如图4所示;
[0162] 30206)对得到的最优参数进行判断,以惩罚参数C为优先选择,若精度满足要求则得到最优参数对[C,gamma];
[0163] 30207)每个分类器重复进行步骤3.2.1-3.2.6.
[0164] 303)测试阶段,初始化参数p=1,q=L,p=1,2,…,L-1,q=2,…,L,令bp为SVM二分类的正类,bq为SVM二分类器的负类,bp不等于bq,根据训练阶段构成的L(L-1)/2个SVM分类器构建有向无环图学习结构;
[0165] 首先从根节点开始判断svm分类是负类还是正类,根节点的分类器的选取如果输出为负类,则继续判断当前节点的子节点类别,重复判断节点输出类别,直到输出结果为正类,即为分类结果。
[0166] 具体包括以下过程:
[0167] 将训练矩阵作为输入,本实施例中样本有四类风险等级,那么需要构造6个SVM分类器,分别是1与2,1与3,1与4,2与3,2与4,3与4;通过SVM分类函数的输出进行每一次类别判断;
[0168] 将这些分类器按照有向无环图随机排序,从根节点出发,如果第一次判断根节点是由1与4类别组成的SVM分类器,输出的结果不是第1类,则向左侧分支移动到下一个节点,继续判断,下一个分类器样本类别由2与4组成的分类器,如果此时SVM分类器输出不是2则继续判断下一个分支的节点,类别3和4的分类器,如果此时不是3,那么分类器的最终输出结果为4.其他分支同理,按照此过程遍历路径,知道找到最终的分类结果。
[0169] 本实施例将训练的支持向量机按照有向无环图结构组合,然后针对每个SVM分类器都实行了一次特征选择,得到能够精确识别管道风险等级的分类模型。
[0170] 将测试集输入到以上过程中训练好的模型中,得出测试精确度达到93.33%,训练精确度达到94.58%,训练时间3.28s。
[0171] 本发明方法将采集到的数据进行数据预处理过后得到准确的数据,利用特征选择的方法解决了高维样本分类精度低的问题,利用有向无环图DAG方法的优点避免了一对一方法中存在的样本不可分的情况,同时减少了测试时间,提高了分类精度。
[0172] 本发明采用交叉验证和网格搜索的方法对支持向量机模型参数进行寻优,不仅实现快速收敛和有效减少过拟合,而且能够利用有限的数据集,对尽可能多的参数组合进行正确率对比,完成参数寻优提升了模型对所要分类的数据的适应性。