一种BGP异常检测方法及系统与流程

文档序号:16686651发布日期:2019-01-22 18:23阅读:569来源:国知局
一种BGP异常检测方法及系统与流程

本申请涉及异常检测技术领域,尤其涉及一种bgp(bordergatewayprotocol,边界网关协议)异常检测方法及系统。



背景技术:

根据事件后果,bgp异常可分为数据流劫持异常和更新报文激增异常。数据流劫持异常会导致受害网络数据流的重定向,形成流量黑洞等,破坏了受害网络的可达性。更新报文激增异常会导致在极短时间内产生大量的bgp更新报文,破坏了全球互联网的稳定性。

目前bgp异常检测方法一般分为五类,分别是基于统计模式识别的方法、基于历史bgp更新报文的方法、基于可达性验证的方法,以及基于时间序列分析的方法和基于机器学习的方法。基于统计模式识别的方法采用统计概率论进行模式识别,根据模式之间的距离函数来判定异常,能够同时检测数据流劫持异常和更新报文激增异常。但该方法面临着正确估计高维数据分布的困难性,检测速度慢,实际应用中需人工确定模型参数的阈值。基于历史bgp更新报文的方法和基于可达性验证的方法仅能检测数据流劫持异常,前者利用历史数据来对bgp异常路由进行检测,后者根据目标前缀的可达性验证结果进行异常检测。基于时间序列分析的方法和基于机器学习的方法能够检测更新报文激增异常。其中,基于时间序列分析的方法将bgp更新报文视为一个多维的时间序列,通过选择合适的滑动时间窗口实现异常检测。但该方法难以确定时间窗口的大小,时间窗口过小会导致模型可利用的信息量不够,时间窗口过大又会导致模型对局部异常不敏感,使得漏报率上升。近年来,机器学习方法在bgp异常检测领域得到了一定应用。从机器学习角度来看,bgp异常检测问题可抽象为二分类问题,目的是将未知的bgp更新报文识别为正常报文或异常报文,从而实现bgp异常检测。

综上所述,传统的bgp异常检测方法存在着诸如检测准确率较低、参数阈值估计困难、检测速度较慢、部署难度大、依赖于知识库的完备性等一系列实际问题。

因此,如何解决现有技术分类准确率较低,效果不太良好,未对模型的综合性能做出评价,是一项亟待解决的问题。



技术实现要素:

有鉴于此,本申请提供了一种bgp异常检测方法,能够基于改进的高斯核函数以及基于网格搜索与交叉验证进行参数寻优,以提高模型分类准确率,基于最优特征子集来评价模型综合性能。

本申请提供了一种bgp异常检测方法,所述方法包括:

获取异常数据集;

对所述异常数据集进行数据标准化处理;

从特征集中选择出能同时最大化类间距离和最小化类内距离的特征,并得到各个特征度量分类能力的特征权值;

优化高斯核函数;

参数寻优;

确定最优特征子集。

优选地,所述获取异常数据集包括:

从自治系统中获取异常数据集。

优选地,所述对所述异常数据集进行数据标准化处理包括:

采用样本均值代替总体均值,采用样本标准差代替总体标准差。

优选地,所述优化高斯核函数包括:

采用曼哈顿距离和特征权值优化高斯核函数,其中,所述曼哈顿距离作为高斯核函数中衡量两个向量之间的距离测度方法。

优选地,所述参数寻优包括:

基于网格搜索与交叉验证对支持向量机模型进行参数寻优。

一种bgp异常检测系统,包括:

获取模块,用于获取异常数据集;

处理模块,用于对所述异常数据集进行数据标准化处理;

第一确定模块,用于从特征集中选择出能同时最大化类间距离和最小化类内距离的特征,并得到各个特征度量分类能力的特征权值;

优化模块,用于优化高斯核函数;

寻优模块,用于参数寻优;

第二确定模块,用于确定最优特征子集。

优选地,所述获取模块具体用于:

从自治系统中获取异常数据集。

优选地,所述处理模块具体用于:

采用样本均值代替总体均值,采用样本标准差代替总体标准差。

优选地,所述优化模块具体用于:

采用曼哈顿距离和特征权值优化高斯核函数,其中,所述曼哈顿距离作为高斯核函数中衡量两个向量之间的距离测度方法。

优选地,所述寻优模块具体用于:

基于网格搜索与交叉验证对支持向量机模型进行参数寻优。

综上所述,本申请公开了一种bgp异常检测方法,当需要对边界网关协议进行异常检测时,首先获取异常数据集,然后,对异常数据集进行数据标准化处理,从特征集中选择出能同时最大化类间距离和最小化类内距离的特征,并得到各个特征度量分类能力的特征权值,优化高斯核函数,参数寻优,确定最优特征子集。本申请能够基于改进的高斯核函数以及基于网格搜索与交叉验证进行参数寻优,以提高模型分类准确率,基于最优特征子集来评价模型综合性能。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请公开的一种bgp异常检测方法实施例1的流程图;

图2为本申请公开的一种bgp异常检测方法实施例2的流程图;

图3为本申请公开的一种bgp异常检测系统实施例1的结构示意图;

图4为本申请公开的一种bgp异常检测系统实施例2的结构示意图;

图5为本申请公开的网格搜索示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

如图1所示,为本申请公开的一种bgp异常检测方法实施例1的流程图,所述方法可以包括以下步骤:

s101、获取异常数据集;

当需要对bgp(bordergatewayprotocol,边界网关协议)进行异常检测时,首先获取异常数据集,即获取检测样本。所述bgp是互联网上一个核心的去中心化的自治路由协议,通过维护路由表来实现自治系统之间的可达性,属于矢量路由协议。

s102、对异常数据集进行数据标准化处理;

当获取到异常数据集后,进一步对获取到的异常数据集进行数据标准化处理,以消除量纲和数值大小的影响,从而使得不同特征能够进行比较和加权。

s103、从特征集中选择出能同时最大化类间距离和最小化类内距离的特征,并得到各个特征度量分类能力的特征权值;

然后,采用fms(fisher-markovselector)特征选择算法,从特征集中选择出能同时最大化类间距离和最小化类内距离的特征,并得到各个特征度量分类能力的特征权值。

s104、优化高斯核函数;

然后,基于曼哈顿距离和特征权值的改进高斯核函数构造svm(supervectormachine,支持向量机)分类模型。svm是在分类与回归分析中分析数据的监督式学习模型与相关的机器学习算法。

s105、参数寻优;

然后,基于网格搜索与交叉验证对svm模型进行参数寻优。

s106、确定最优特征子集。

最后,基于模型分类准确率与模型训练时间两方面的考量,提出最优特征子集的概念,并给出构造方法,在最优特征子集下,模型性能可达到综合最优。

综上所述,在上述实施例中,当需要对边界网关协议进行异常检测时,首先获取异常数据集,然后,对异常数据集进行数据标准化处理,从特征集中选择出能同时最大化类间距离和最小化类内距离的特征,并得到各个特征度量分类能力的特征权值,优化高斯核函数,参数寻优,确定最优特征子集。本申请能够基于改进的高斯核函数以及基于网格搜索与交叉验证进行参数寻优,以提高模型分类准确率,基于最优特征子集来评价模型综合性能。

如图2所示,为本申请公开的一种bgp异常检测方法实施例2的流程图,所述方法可以包括以下步骤:

s201、从自治系统中获取异常数据集;

当需要对bgp(bordergatewayprotocol,边界网关协议)进行异常检测时,从as513(riperis,rcc04,cixp,geneva)下载slammer、nimda以及coderedi爆发时的bgp更新报文作为bgp异常数据集。利用libbgpdump工具将路由数据从mrt格式转换为ascii格式,而后基于c#编写的解析工具来解析ascii文件并提取37个特征(如表1所示)的统计信息。五天内每间隔一分钟抽样统计一次特征值,从而可获得每个异常事件的7200个样本。每个事件前后两天的样本被认为是正常数据集,第三天是每个异常活动的高峰期。

表1特征提取

s202、对异常数据集进行数据标准化处理;

然后,采用z-score标准化方法消除量纲和数值大小的影响,从而使得不同特征能够进行比较和加权。鉴于bgp数据集来自于抽样统计,本发明用样本均值代替总体均值,用样本标准差代替总体标准差。处理方法如下式所示:

式中代表样本均值,s代表样本标准差。

s203、从特征集中选择出能同时最大化类间距离和最小化类内距离的特征,并得到各个特征度量分类能力的特征权值;

由于冗余特征的存在,基于高维特征构造分类模型会增大计算开销,并且噪声数据还会降低模型的分类准确率。因此,在数据预处理阶段经由特征提取过程得到相应特征集合的基础上,需要进一步删除冗余和不相关特征,寻找区分类别能力最优的特征子集,以达到降低特征矩阵的维数和计算复杂度,同时提高模型分类准确率的目的。

fms特征选择算法能够根据fisher线性分析和markov随机场技术选择出能同时最大化类间距离和最小化类内距离的特征,采用fms算法的特征选择过程与分类过程相互独立,根据数据内在属性来衡量相关性,对每一个特征的权值大小进行排序,权值越大表示该特征区分类别的能力越强。该方法效率较高,不仅可以保证全局最优,而且计算复杂度较低,适合处理大规模数据。将训练数据表示为{(xk,yk)}nk=1,xk∈rp表示p维特征向量,yk∈{ω1,...,ωg}表示类标签,ci,i=1,...,g表示第i个类,每一个类ci有ni个样本。

定义1:类内散布矩阵、类间散布矩阵和总体散布矩阵分为记为sw,sb和st,式中表示cj类的第i个样本,表示cj类的样本均值,表示总体均值。

定义2:从输入空间rp到核空间rd的非线性映射φ(·)定义如下:

φ:rp→rd(2)

定义3:核函数k(·,·)满足:

<φ(x1),φ(x2)>=k(x1,x2)(3)

式中运算<·,·>代表核空间下的点积。

定义4:k和k(i)分别为n阶和ni阶方阵,且满足:

式中k,l∈{1,...,n},u,v∈{1,...,ni},i=1,...,g

定义5:sw,sb和st在核空间下分别记为它的迹分别为:

式中sum(·)表示计算矩阵所有元素的总和。

定义6:定义特征选择向量为:

α=[α1,...,αp]t∈{0,1}p(6)

式中αk=1表明第k个特征被选中,αk=0表明第k个特征没有被选中。

从特征向量x选定的特征由x(α)=x⊙α给出,⊙表示hadamard积。因此可将最大化类分离的特征选择准则转化为如下一个无约束最优化问题。

其中γ是自由参数,分析表明γ≤0能得到一个更好的分类效果,在γ的合理波动范围内,分类器的实验效果对γ是不敏感的。为了能处理线性不可分离和冗余特征带来的高噪声数据集,加入l0范数,即特征选择准则优化为:

式中正则因子β表示全局阈值。

考虑如下一个线性核函数:

代入到式(8),得:

其中θj定义如式(11)所示,θj用来衡量特征在类分离判别的重要程度,即特征的权值。θj值越大,表明第j个特征越重要。

对于给定的β和γ,结合式(10),fms特征选择算法得到一个最优的特征选择向量α*∈{0,1}p满足:

表明第j个特征被选中;否则,若则表明第j个特征未被选中。

算法伪代码如下表2算法1所示,该算法的计算复杂度为o(n2p)。

表2

s204、采用曼哈顿距离和特征权值优化高斯核函数,其中,所述曼哈顿距离作为高斯核函数中衡量两个向量之间的距离测度方法;

传统高斯核函数采用euclidean距离度量两个向量之间的距离。但是,euclidean距离在一定程度上会放大较大误差元素在距离计算中的作用,影响svm的分类准确率。基于此,本发明采用曼哈顿距离作为高斯核函数中衡量两个向量之间的距离测度方法。曼哈顿距离中各元素的误差对整体距离的影响都相同,使得数值更具有可比性,并且运算量较低。

如果在距离计算中能够体现出各特征对分类的贡献程度,将会使分类方法更贴合bgp的数据特点,可进一步提高分类准确率。据此,引入特征权值来度量特征对分类的贡献程度,提出基于曼哈顿距离与特征权值的改进高斯核函数,记为k′(x,y),如式(13)所示:

k′(x,y)=exp(-γδ(x,y))(13)

式中δ(x,y)表示两向量间的曼哈顿距离,如式(14)所示:

s205、基于网格搜索与交叉验证对支持向量机模型进行参数寻优;

svm模型的性能依赖一对重要的参数(c,gamma)。其中c被称为惩罚因子,表示对误差的容忍度。c越高,表明模型越不能容忍出现误差,易导致模型过拟合;相反,c越小,又易导致模型欠拟合。c过大或过小,均会降低模型的泛化能力,因此参数c的适当取值对模型分类准确率和泛化能力的提升具有重要意义。gamma是多项式核、高斯核以及sigmoid核中的一个参数,它隐含决定了数据映射到新的特征空间后的分布。gamma值越大,则支持向量越少,gamma值越小,则支持向量越多,支持向量的个数会影响模型训练与预测的速度。

考虑到训练数据集两类样本的不平衡性(如表3示),以总体分类准确率为评价目标的传统分类算法会过多地关注多数类,从而使得少数类样本的分类性能下降。为此,在(c,gamma)的寻优过程中,需要充分照顾少数类样本数据,使两类样本在训练过程中具有相同的“话语权”。本文按照两类样本数目大小比值的反比来分别为两类样本赋予权值,这样可以有效解决数据不均衡情况。

表3两类样本权值

核参数的选取是一个难点,目前还没有国际公认的普适性的方法,实际应用中只能依靠实验比较或经验所得。因此,本文在不平衡数据集约束下结合网格搜索与交叉验证进行参数寻优(如图5示),将(c,gamma)的搜索范围按照取值划分成网格,网格中的每个点代表一种参数组合方案。网格搜索的范围满足式(16),步长为1,即c∈{2-5,2-4,...,25}且gamma∈{2-4,2-3,...,20}。

在每一个网格点,按如下流程进行交叉验证:把总的训练集平均分成n个子集,其中n-1个作为训练集,余下1个用作测试集。每次用测试集去测试训练后的模型会得到一个分类准确率,当n个子集都做过测试集后,取n折交叉验证分类准确率的平均值。这样遍历网格内所有点,取分类准确率平均值最大的点即为对应的性能最优的(c,gamma)。需要指出的是,本文采用5折交叉验证,且由于(c,gamma)在搜索过程中均选取搜索范围有限且离散的值,所以(c,gamma)或许只是局部最优解。

s206、确定最优特征子集。

基于fms特征选择算法可以得到各特征的权值,将各个特征按权值降序排列,根据排序结果将特征依次加入模型训练集中。实验发现,因为前期加入训练集中特征的权值较大,模型的分类准确率会逐渐提高,但随着后期权值较低特征的加入,且数据集中噪声和冗余数据的存在,此时模型分类准确率的增长速度就会放缓甚至是准确率下降。但与此同时,svm模型的训练时间则一直会随着特征数量的增加而增加。因此,一味地增加特征用于模型训练是不合适的。基于此,本文提出最优特征子集的概念,当根据特征权值排序,用于模型训练的特征集合恰为最优特征子集时,模型性能(即模型的分类准确率和训练时间)达到综合最优。进一步,本文提出特征效率函数来度量模型分类准确率和模型训练时间之间的关系,以确定最优特征子集,使得模型性能达到综合最优。

定义7:函数f(n)是模型分类准确率关于特征数量n的函数,n∈z。

定义8:函数g(n)是模型训练时间关于特征数量n的函数,n∈z。

由上述定义可知,函数f(n)和g(n)分别描述了当模型训练集包含一定数量的特征时,模型的分类准确率与模型训练时间的大小。为了评价模型的最优综合性能,定义了特征效率函数,如定义9所示。

定义9:h(n)是关于特征数量n的特征效率函数,其表达式如下:

直观地,h(n)描述了单位时间内分类准确率的大小,若单位时间内分类准确率越大,也即h(n)越大,则模型综合性能越优。自然地,得到了如下最优点的概念,如定义10所示。

定义10:使h(n)取得最大值的点n0叫做模型的最优点。

最优点描述了当n=n0时,模型在单位时间内能取得最大的分类准确率,此时模型综合性能达到了最优。显然地,根据特征权值排序,topn0即为最优特征子集。

如图3所示,为本申请公开的一种bgp异常检测系统实施例1的结构示意图,所述系统可以包括:

获取模块301,用于获取异常数据集;

当需要对bgp(bordergatewayprotocol,边界网关协议)进行异常检测时,首先获取异常数据集,即获取检测样本。所述bgp是互联网上一个核心的去中心化的自治路由协议,通过维护路由表来实现自治系统之间的可达性,属于矢量路由协议。

处理模块302,用于对异常数据集进行数据标准化处理;

当获取到异常数据集后,进一步对获取到的异常数据集进行数据标准化处理,以消除量纲和数值大小的影响,从而使得不同特征能够进行比较和加权。

第一确定模块303,用于从特征集中选择出能同时最大化类间距离和最小化类内距离的特征,并得到各个特征度量分类能力的特征权值;

然后,采用fms特征选择算法,从特征集中选择出能同时最大化类间距离和最小化类内距离的特征,并得到各个特征度量分类能力的特征权值。

优化模块304,用于优化高斯核函数;

然后,基于曼哈顿距离和特征权值的改进高斯核函数构造svm(supervectormachine,支持向量机)分类模型。svm是在分类与回归分析中分析数据的监督式学习模型与相关的机器学习算法。

寻优模块305,用于参数寻优;

然后,基于网格搜索与交叉验证对svm模型进行参数寻优。

第二确定模块306,用于确定最优特征子集。

最后,基于模型分类准确率与模型训练时间两方面的考量,提出最优特征子集的概念,并给出构造方法,在最优特征子集下,模型性能可达到综合最优。

综上所述,在上述实施例中,当需要对边界网关协议进行异常检测时,首先获取异常数据集,然后,对异常数据集进行数据标准化处理,从特征集中选择出能同时最大化类间距离和最小化类内距离的特征,并得到各个特征度量分类能力的特征权值,优化高斯核函数,参数寻优,确定最优特征子集。本申请能够基于改进的高斯核函数以及基于网格搜索与交叉验证进行参数寻优,以提高模型分类准确率,基于最优特征子集来评价模型综合性能。

如图4所示,为本申请公开的一种bgp异常检测系统实施例2的结构示意图,所述系统可以包括:

获取模块401,用于从自治系统中获取异常数据集;

当需要对bgp(bordergatewayprotocol,边界网关协议)进行异常检测时,从as513(riperis,rcc04,cixp,geneva)下载slammer、nimda以及coderedi爆发时的bgp更新报文作为bgp异常数据集。利用libbgpdump工具将路由数据从mrt格式转换为ascii格式,而后基于c#编写的解析工具来解析ascii文件并提取37个特征(如表1所示)的统计信息。五天内每间隔一分钟抽样统计一次特征值,从而可获得每个异常事件的7200个样本。每个事件前后两天的样本被认为是正常数据集,第三天是每个异常活动的高峰期。

表1特征提取

处理模块402,用于对异常数据集进行数据标准化处理;

然后,采用z-score标准化方法消除量纲和数值大小的影响,从而使得不同特征能够进行比较和加权。鉴于bgp数据集来自于抽样统计,本发明用样本均值代替总体均值,用样本标准差代替总体标准差。处理方法如下式所示:

式中代表样本均值,s代表样本标准差。

第一确定模块403,用于从特征集中选择出能同时最大化类间距离和最小化类内距离的特征,并得到各个特征度量分类能力的特征权值;

由于冗余特征的存在,基于高维特征构造分类模型会增大计算开销,并且噪声数据还会降低模型的分类准确率。因此,在数据预处理阶段经由特征提取过程得到相应特征集合的基础上,需要进一步删除冗余和不相关特征,寻找区分类别能力最优的特征子集,以达到降低特征矩阵的维数和计算复杂度,同时提高模型分类准确率的目的。

fms特征选择算法能够根据fisher线性分析和markov随机场技术选择出能同时最大化类间距离和最小化类内距离的特征,采用fms算法的特征选择过程与分类过程相互独立,根据数据内在属性来衡量相关性,对每一个特征的权值大小进行排序,权值越大表示该特征区分类别的能力越强。该方法效率较高,不仅可以保证全局最优,而且计算复杂度较低,适合处理大规模数据。将训练数据表示为xk∈rp表示p维特征向量,yk∈{ω1,...,ωg}表示类标签,ci,i=1,...,g表示第i个类,每一个类ci有ni个样本。

定义1:类内散布矩阵、类间散布矩阵和总体散布矩阵分为记为sw,sb和st,式中表示cj类的第i个样本,表示cj类的样本均值,表示总体均值。

定义2:从输入空间rp到核空间rd的非线性映射φ(·)定义如下:

φ:rp→rd(2)

定义3:核函数k(·,·)满足:

<φ(x1),φ(x2)>=k(x1,x2)(3)

式中运算<·,·>代表核空间下的点积。

定义4:k和k(i)分别为n阶和ni阶方阵,且满足:

式中k,l∈{1,...,n},u,v∈{1,...,ni},i=1,...,g

定义5:sw,sb和st在核空间下分别记为它的迹分别为:

式中sum(·)表示计算矩阵所有元素的总和。

定义6:定义特征选择向量为:

α=[α1,...,αp]t∈{0,1}p(6)

式中αk=1表明第k个特征被选中,αk=0表明第k个特征没有被选中。

从特征向量x选定的特征由x(α)=x⊙α给出,⊙表示hadamard积。因此可将最大化类分离的特征选择准则转化为如下一个无约束最优化问题。

其中γ是自由参数,分析表明γ≤0能得到一个更好的分类效果,在γ的合理波动范围内,分类器的实验效果对γ是不敏感的。为了能处理线性不可分离和冗余特征带来的高噪声数据集,加入l0范数,即特征选择准则优化为:

式中正则因子β表示全局阈值。

考虑如下一个线性核函数:

代入到式(8),得:

其中θj定义如式(11)所示,θj用来衡量特征在类分离判别的重要程度,即特征的权值。θj值越大,表明第j个特征越重要。

对于给定的β和γ,结合式(10),fms特征选择算法得到一个最优的特征选择向量α*∈{0,1}p满足:

表明第j个特征被选中;否则,若则表明第j个特征未被选中。

算法伪代码如下表2算法1所示,该算法的计算复杂度为o(n2p)。

表2

优化模块404,用于采用曼哈顿距离和特征权值优化高斯核函数,其中,曼哈顿距离作为高斯核函数中衡量两个向量之间的距离测度方法;

传统高斯核函数采用euclidean距离度量两个向量之间的距离。但是,euclidean距离在一定程度上会放大较大误差元素在距离计算中的作用,影响svm的分类准确率。基于此,本发明采用曼哈顿距离作为高斯核函数中衡量两个向量之间的距离测度方法。曼哈顿距离中各元素的误差对整体距离的影响都相同,使得数值更具有可比性,并且运算量较低。

如果在距离计算中能够体现出各特征对分类的贡献程度,将会使分类方法更贴合bgp的数据特点,可进一步提高分类准确率。据此,引入特征权值来度量特征对分类的贡献程度,提出基于曼哈顿距离与特征权值的改进高斯核函数,记为k′(x,y),如式(13)所示:

k′(x,y)=exp(-γδ(x,y))(13)

式中δ(x,y)表示两向量间的曼哈顿距离,如式(14)所示:

寻优模块405,用于基于网格搜索与交叉验证对支持向量机模型进行参数寻优;

svm模型的性能依赖一对重要的参数(c,gamma)。其中c被称为惩罚因子,表示对误差的容忍度。c越高,表明模型越不能容忍出现误差,易导致模型过拟合;相反,c越小,又易导致模型欠拟合。c过大或过小,均会降低模型的泛化能力,因此参数c的适当取值对模型分类准确率和泛化能力的提升具有重要意义。gamma是多项式核、高斯核以及sigmoid核中的一个参数,它隐含决定了数据映射到新的特征空间后的分布。gamma值越大,则支持向量越少,gamma值越小,则支持向量越多,支持向量的个数会影响模型训练与预测的速度。

考虑到训练数据集两类样本的不平衡性(如表3示),以总体分类准确率为评价目标的传统分类算法会过多地关注多数类,从而使得少数类样本的分类性能下降。为此,在(c,gamma)的寻优过程中,需要充分照顾少数类样本数据,使两类样本在训练过程中具有相同的“话语权”。本文按照两类样本数目大小比值的反比来分别为两类样本赋予权值,这样可以有效解决数据不均衡情况。

表3两类样本权值

核参数的选取是一个难点,目前还没有国际公认的普适性的方法,实际应用中只能依靠实验比较或经验所得。因此,本文在不平衡数据集约束下结合网格搜索与交叉验证进行参数寻优(如图5示),将(c,gamma)的搜索范围按照取值划分成网格,网格中的每个点代表一种参数组合方案。网格搜索的范围满足式(16),步长为1,即c∈{2-5,2-4,...,25}且gamma∈{2-4,2-3,...,20}。

在每一个网格点,按如下流程进行交叉验证:把总的训练集平均分成n个子集,其中n-1个作为训练集,余下1个用作测试集。每次用测试集去测试训练后的模型会得到一个分类准确率,当n个子集都做过测试集后,取n折交叉验证分类准确率的平均值。这样遍历网格内所有点,取分类准确率平均值最大的点即为对应的性能最优的(c,gamma)。需要指出的是,本文采用5折交叉验证,且由于(c,gamma)在搜索过程中均选取搜索范围有限且离散的值,所以(c,gamma)或许只是局部最优解。

第二确定模块406,用于确定最优特征子集。

基于fms特征选择算法可以得到各特征的权值,将各个特征按权值降序排列,根据排序结果将特征依次加入模型训练集中。实验发现,因为前期加入训练集中特征的权值较大,模型的分类准确率会逐渐提高,但随着后期权值较低特征的加入,且数据集中噪声和冗余数据的存在,此时模型分类准确率的增长速度就会放缓甚至是准确率下降。但与此同时,svm模型的训练时间则一直会随着特征数量的增加而增加。因此,一味地增加特征用于模型训练是不合适的。基于此,本文提出最优特征子集的概念,当根据特征权值排序,用于模型训练的特征集合恰为最优特征子集时,模型性能(即模型的分类准确率和训练时间)达到综合最优。进一步,本文提出特征效率函数来度量模型分类准确率和模型训练时间之间的关系,以确定最优特征子集,使得模型性能达到综合最优。

定义7:函数f(n)是模型分类准确率关于特征数量n的函数,n∈z。

定义8:函数g(n)是模型训练时间关于特征数量n的函数,n∈z。

由上述定义可知,函数f(n)和g(n)分别描述了当模型训练集包含一定数量的特征时,模型的分类准确率与模型训练时间的大小。为了评价模型的最优综合性能,定义了特征效率函数,如定义9所示。

定义9:h(n)是关于特征数量n的特征效率函数,其表达式如下:

直观地,h(n)描述了单位时间内分类准确率的大小,若单位时间内分类准确率越大,也即h(n)越大,则模型综合性能越优。自然地,得到了如下最优点的概念,如定义10所示。

定义10:使h(n)取得最大值的点n0叫做模型的最优点。

最优点描述了当n=n0时,模型在单位时间内能取得最大的分类准确率,此时模型综合性能达到了最优。显然地,根据特征权值排序,topn0即为最优特征子集。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1