一种基于SVM的栈式结构层次分类模型的构建方法技术

技术编号:24997382 阅读:23 留言:0更新日期:2020-07-24 17:59
本发明专利技术涉及一种基于SVM的栈式结构层次分类模型的构建方法,通过随机修改样本的真实标签类型,构造对抗样本进行对抗样本学习,在SVM的基础上,将经对抗样本学习的SVM模型输出误差对输入样本特征的一阶梯度信息嵌入到输入样本特征中以更新输入样本,结合栈式结构原理,将经对抗样本学习的SVM模型作为子分类器构建层次分类模型。本发明专利技术所述方法所构建的基于SVM的栈式结构层次分类模型,利用对抗样本学习计算每一层子分类器的输出误差对输入的一阶梯度信息,并利用一阶梯度信息逐层更新下每一个子分类器的输入,以此逐层提高分类模型的分类性能且具备较好的泛化性。

【技术实现步骤摘要】
一种基于SVM的栈式结构层次分类模型的构建方法
本专利技术涉及信息处理
,尤其是涉及一种基于SVM的栈式结构层次分类模型的构建方法。
技术介绍
支持向量机(Supportvectormachine,SVM)是在统计学习理论的基础上发展起来的新一代学习算法,该算法能够保证找到的极值解就是全局最优解而并非是局部最小值,这就保证了SVM算法对未知样本有较好的泛化能力。SVM的分类函数可表示为:f(x;w,b)=sign(wTx+b),式中:sign(·)为符号函数,当表达式·大于0时sign(·)=1,否则sign(·)=0。w∈Rd及b∈R分别代表线性/非线性分类情况下的直线/超平面的法向量和截距,旨在寻找不同类数据的最大划分间隔。对抗样本已被证明存在于大部分真实数据集中,且对抗样本的本质是数据集中容易被忽视的噪声或扰动样本。一方面,对抗样本的本质决定了对抗样本会降低分类算法的分类性能;另一方面,合理的对抗样本学习可有效地提高分类算法的分类性能,对抗样本学习的一般方式是将少量的噪声或扰动样本直接加入到数据集中,或者对样本特征本身进行较小幅度的改动,继而利用相应的分类算法进行学习以提高算法的分类性能。由SVM的分类函数式可知,SVM分类函数对样本特征本身敏感,意味着SVM输出对输入样本蕴含着丰富的梯度信息,SVM分类函数对样本特征本身敏感的特性使利用对抗样本学习更新原样本特征进而提高所提分类模型的有效性成为可能。神经网络在人工智能、机器学习以及深度学习等领域展示着强大的样本学习能力,已被广泛应用于图像处理、人工智能信息处理、无人驾驶技术以及自适应智能控制等诸多实际应用。神经网络通过前向传播和反向传播算法不断优化隐藏层中的参数使之达到最佳权值来提高整体网络的学习性能,尤其网络的泛化性。神经网络的层次结构模型使其能够更好地表示样本特征以及具备更强的函数模拟能力。具有更多隐藏层数的神经网络能够更好地模拟神经网络模型与真实样本特征之间的关系,但却会带来较为严重的过拟合现象。因此,Hinton等提出dropout技术来解决因需要神经网络增加隐藏层数大幅提升网络模型学习能力过程中产生的过拟合问题。在使用dropout技术的过程中,隐藏层中的节点在训练时将会以一定的概率被移出隐藏层,以这种方式来提高神经网络的泛化性。综上所述,虽然神经网络的层次结构模型使其能够更好地表示样本特征以及具备更强的函数模拟能力,使用dropout技术也能够提高神经网络的泛化性,但在解决过拟合问题及提高泛化性方面还存在可以改进提升的空间。此外,当增加神经网络的隐藏层数或增加每一隐藏层中的节点数时,更多的模型参数极易导致神经网络模型的过拟合现象。
技术实现思路
本专利技术结合神经网络具有明显优势的层次结构特点,为解决现有的学习算法还难以获得令人满意的泛化性、分类性能较差及存在的过拟合问题,提供一种基于SVM的栈式结构层次分类模型的构建方法。本专利技术解决其技术问题所采用的技术方案是:随机抽取一定比例的样本攻击其标签类型使其成为对抗样本,利用支持向量机SVM对包含对抗样本的训练集进行对抗学习生成对抗支持向量机A-SVM。通过栈式结构原理逐层级联一定数量的子分类器(即A-SVM)构建分类模型——具有栈式结构的层次结构支持向量机D-S-SVM。具体地,在该模型中计算子分类器A-SVM输出误差对输入样本的一阶梯度信息并结合dropout将部分一阶梯度信息嵌入到原输入样本特征中生成新样本作为下一个子分类器A-SVM的输入。本专利技术为实现上述专利技术目的采用如下技术方案:S01,给定真实的数据集X={xi|xi∈Rd,i=1,2,…,N}以及与X相对应的真实的标签集Y={yi|yi∈R,i=1,2,…,N};S02,从数据集X中随机选取一定比例的样本,修改选定样本的标签类型,使选定的样本成为对抗样本的数据集S03,通过SVM算法训练包含对抗样本的数据集进行对抗样本学习,通过训练生成对抗支持向量机A-SVM模型;S031,对于样本xi对抗支持向量机A-SVM模型输出为输出误差S032,计算对抗支持向量机A-SVM的输出误差E对输入样本xi的一阶梯度信息矩阵计算输出误差E对于样本xi中每个特征的一阶梯度组成一阶梯度向量S033,将一阶梯度信息嵌入到原输入样本xi中以更新每个原输入样本,即参数γ为特征学习率;S034,计算输出误差E对所有样本的一阶梯度,得到N×d维一阶梯度信息矩阵G,S035,利用一阶梯度信息矩阵G更新原数据集X得到更新后的数据集X’,即X′=X+γG;S04,将数据集X’重复步骤S02至S03,直到取得最佳分类效果或者达到设定的最大层数值。进一步的,步骤S04还包括随机选择数据集X’中每一个输入样本xi的部分特征,通过对选定的样本xi特征进行更新,其他未被选择的样本特征保持原有的特征值。本专利技术的有益效果是:构建的基于SVM的栈式结构层次分类模型,利用对抗样本学习计算每一层子分类器的输出误差对输入的一阶梯度信息,并利用一阶梯度信息逐层更新下每一个子分类器的输入,逐层提高了分类模型的分类性能且具备较好的泛化性。附图说明下面结合附图和实施例对本专利技术进一步说明。图1是本专利技术所述方法构建的栈式结构层次分类模型图;图2是本专利技术所述方法构建的栈式结构层次分类模型对选定的样本特征进行更新的过程示意图;具体实施方式现在结合附图对本专利技术做进一步详细的说明。这些附图均为简化的示意图,仅以示意方式说明本专利技术的基本结构,因此其仅显示与本专利技术有关的构成。如图1所示,本专利技术实施例中通过一阶梯度信息所构造栈式结构的层次分类模型共有K层,由K个基于对抗样本学习的SVM级联而成,构建栈式结构层次分类模型的方法具体如下:步骤一:给定真实的数据集X={xi|xi∈Rd,i=1,2,…,N}以及与X相对应的真实的标签集Y={yi|yi∈R,i=1,2,…,N};步骤二:从数据集X中随机选取一定比例的样本,修改选定样本的标签类型,使选定的样本成为对抗样本的数据集对于二分类问题,即yi∈{-1,1},那么第i个样本xi的标签yi将从1变为-1或-1变为1;对于多分类问题,即yi∈{1,2,…,C},那么第i个样本xi的标签yi将从当前标签类型变为{1,2,…,C}-{yi}中的任意一个标签,记为步骤三:通过SVM算法训练包含对抗样本的数据集进行对抗样本学习,通过训练生成对抗支持向量机SVM_1模型;对于样本xi对抗支持向量机SVM_1模型输出为输出误差输出误差E对输入样本xi的一阶梯度信息矩阵为计算输出误差E对于样本xi中每个特征的一阶梯度组成一阶梯度向量将一阶梯度信息嵌入到原输入样本xi中以更新每个原输入样本,即参数γ为特征学习率,参数γ值的大小会影响样本特征在特征空间的真实意义,较大的γ值会严重影响每个样本在特征空间中的真实位置关系,需要根据真实实验效果结合交叉验证的方法来确定γ值;计算输出本文档来自技高网
...

【技术保护点】
1.一种基于SVM的栈式结构层次分类模型的构建方法,包括以下步骤:/nS01,给定真实的数据集X={x

【技术特征摘要】
1.一种基于SVM的栈式结构层次分类模型的构建方法,包括以下步骤:
S01,给定真实的数据集X={xi|xi∈Rd,i=1,2,…,N}以及与X相对应的真实的标签集Y={yi|yi∈R,i=1,2,…,N};
S02,从数据集X中随机选取一定比例的样本,修改选定样本的标签类型,使选定的样本成为对抗样本的数据集Y;
S03,通过SVM算法训练包含对抗样本的数据集Y进行对抗样本学习,通过训练生成对抗支持向量机A-SVM模型;
S031,对于样本xi对抗支持向量机A-SVM模型输出为输出误差
S032,计算对抗支持向量机A-SVM的输出误差E对输入样本xi的一阶梯度信息矩阵计算输出误差E对于样本xi中每个特征的一阶...

【专利技术属性】
技术研发人员:卢剑伟
申请(专利权)人:常州工业职业技术学院
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1