(19)中华人民共和国国家知识产权局
(12)发明专利申请
(10)申请公布号 CN 109871855 A(43)申请公布日 2019.06.11
(21)申请号 201910139959.6(22)申请日 2019.02.26
(71)申请人 中南大学
地址 410083 湖南省长沙市岳麓区麓山南
路932号(72)发明人 任胜兵 沈王博 李游 (74)专利代理机构 广州市红荔专利代理有限公
司 44214
代理人 吝秀梅(51)Int.Cl.
G06K 9/46(2006.01)G06K 9/48(2006.01)G06K 9/62(2006.01)G06N 3/04(2006.01)
权利要求书2页 说明书8页 附图2页
(54)发明名称
一种自适应的深度多核学习方法(57)摘要
深度多核学习(DMKL)方法与浅层多核学习相比,效率和有效性更高,引起了广泛的关注。然而,现有的DMKL体系结构泛化性较差,很难依据样本数据训练找到合适的参数。本发明提出了一种自适应深度多核学习(SA-DMKL)的结构,这种结构能够自适应、自生长并具有弹性。通过Rademacher混沌复杂度,可以根据不同的数据集和数据空间,筛选每层基核函数,改变每层基核函数数量。用本发明方法对UCI鸢尾花数据集数据集、乳腺癌数据集和Caltech256图像数据集验证,与其他方法相比,有更高的有效性。
CN 109871855 ACN 109871855 A
权 利 要 求 书
1/2页
1.一种自适应的深度多核学习方法,其特征在于包括以下步骤:步骤1数据预处理若输入数据是图像,用特征工程算法进行图像预处理,或直接将原图输入模型;步骤2确定核函数类型
不同核函数在不同样本数据集上具有不同的分类能力,考虑到现有的核函数类型中有很多基本结构相同的函数,选择基本结构完全不一致的核函数作为基核函数进行组合,这些基核函数通过参数的调整能包含常用核函数,每层的基核函数类型和数量都是相同的;
步骤3逐层确定基核函数参数
基核函数参数确定使用网格搜索法逐层计算;
步骤4用Radermacher混沌复杂度对每层核函数进行筛选
Rademacher混沌复杂度通过经验风险最小化来进行单核SVM优化,Rademacher混沌复杂度的值跟核函数和输入数据有关,Rademacher混沌复杂度的值越大,核函数的泛化能力越差,选择Radermacher混沌复杂度小的核函数;在计算出每层每个基核函数的Radermacher混沌复杂度后,若其值大于10000,抛弃这个基核函数,该基核函数的输出值不再进入下一层;将筛选后留下的核函数的输出组成特征向量作为下一层的输入,下一层核函数将上一层特征向量进行空间变换,SVM分类器将空间变换后的数据进行分类,每个特征向量经过每一个SVM输出一个值,筛选后留下来的SVM输出的值组成一个特征向量作为下一层的输入;
步骤5自动停止生长
如果训练中模型的最高准确率在连续4层内保持不变,或者整体训练迭代次数达到30次以上,训练自动停止。
2.如权利要求1所述的一种自适应的深度多核学习方法,其特征在于:每层基核函数的选择原则是,选择能够通过组合得到常用核函数的基核函数,选择基本结构完全不一致的拉普拉斯核、双曲正切核、多项式核、反三角函数核和径向基核进行组合。
3.如权利要求1所述的一种自适应的深度多核学习方法,其特征在于:对每层基核函数计算其对应样本空间的Rademacher混沌复杂度,若其值大于10000的基核函数抛弃,其结果不再进入下一层,Rademacher混沌复杂度计算方法如下:
φ
SVM泛化误差ε(f):φε(f)=∫∫y)X×Yφ(y·f(x))dp(x,x,y是变量,分别表示一个样本和它的标签值,由所有样本及其标签值,组成输入空间X,Y,p(x,y)表示样本的分布情况,φ(x)是损失函数,f(x)是x的映射函数;
SVM经验误差
其中n是样本个数,N={1,2,3…n},j∈N;
让φ表示归一化分类损失,对于所有δ∈(0,1),在至少1-δ的概率下,满足下列不等式:
2
CN 109871855 A
权 利 要 求 书
2/2页
不等式右边就是用来计算每个核函数复杂度的Radermacher混沌复杂度;其中λ是正则项系数,当核函数是高斯核时,数时,
当核函数是其非高斯核类型的核函
是局部利普希茨常数,
sup表示上确界,k表示一个核函数,K是所有核函数组成的核函数集,K(x,x)表示样本x基于核函数k的内积,e是自然对数的底数,m表示基核函数的个数。
3
CN 109871855 A
说 明 书
一种自适应的深度多核学习方法
1/8页
技术领域
[0001]本发明属于机器学习领域,具体涉及到一种自适应的深度多核学习方法。背景技术
[0002]核函数用于提升数据的维数,不同的核可以将数据提升到不同的高维空间甚至无限维。人们对核方法的关注得益于支持向量机(SVM)理论的发展和应用,核函数的采用使得线性SVM易于推广到非线性SVM。然而,这些方法都是基于单个特征空间的单核方法。由于不同的核函数具有不同的特性,核函数的性能在不同的应用中差别很大,对于核函数的构造和选择没有完美的理论依据。为了解决这些问题,有很多关于核函数组合方法的研究,即多核学习。有些多核结构层数很少,称为浅层多核模型,在很多情况下,这种多核模型并没有提高精度,因此人们非常需要一个精度足够高的多核结构。[0003]随着深度学习概念的推广,人们开始在多核学习中借鉴一种结构——深度多核学习。很多模型结构被提出来。然而,这些模型并没有很高的泛化能力,也没有特别高的识别精度。并且这些模型结构已经固定,不能自生长,使得针对不同的数据集模型难以达到最好的精度要求。为了解决以上问题,本发明提出了一种自适应深度多核学习方法。发明内容
[0004]本发明提出一种自适应的深度多核学习方法(SA-DMKL)。该结构能够自动增长和调整每个核的参数。与传统的深度多核学习一样,SA-DMKL的每个层都包含几个基核,它们的核参数通过网格搜索法进行调整。在架构方面,SA-DMKL可以根据整个模型的识别精度自动增加层数。因此,我们的模型在结构上对每个候选核函数的参数设置不是很敏感,没有太多超参数。这样,我们的模型可适合预测不同的数据集,提高泛化能力。Radermacher混沌复杂度用来评估映射函数将一个样本空间映射到另一个样本空间的能力。SA-DMKL根据输入的样本集计算每一层基核函数的Radermacher混沌复杂度,抛弃其值大于阈值的核。这样,每一层的核函数组合可以达到最小的复杂度,从而提高模型的泛化能力。[0005]具体方法包括以下步骤:[0006]步骤1数据预处理[0007]在图像处理中,进行图像特征抽取、分割和匹配前,有时需要对输入图像进行预处理。图像预处理的主要目的是消除图像中无关的信息,恢复有用的真实信息,增强有关信息的可检测性和最大限度地简化数据,从而改进特征抽取、图像分割、匹配和识别的可靠性。预处理过程一般有数字化、几何变换、归一化、平滑、复原和增强等方法。本发明的实验中若输入数据是图像,则用HOG(Histogram?of?Oriented?Gradient)、resize或者快速傅里叶变换FFT(fast?Fourier?transform)进行图像预处理。
[0008]方向梯度直方图HOG特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子,它通过计算和统计图像局部区域的梯度方向直方图来构成特征;resize方法是抽取图像一定的行和列;FFT是离散傅立叶变换的快速算法,可以将一个信号变换到频
4
CN 109871855 A
说 明 书
2/8页
域。有些信号在时域上是很难看出什么特征的,但是如果变换到频域之后,就很容易看出特征了。经这些方法处理后的图片见图1.[0009]也可不进行特征工程,将图片直接输入模型。[0010]步骤2确定基核函数类型[0011]在多核学习模型中,在同一个样本空间中,我们需要根据一定的规则来选择我们的核函数。核函数种类有多种,常用的有线性核、多项式核、径向基核函数、双曲正切核、反三角函数核、幂指数核、拉普拉斯核、方差分析核、二次有理核、多元二次核、逆多元二次核、sigmoid核等等。
[0012]考虑到现有的核函数类型中有很多基本结构相同的函数,例如多项式核k(x,y)=(axTy+c)d是线性核k(x,y)=xTy+c的通用式,拉普拉斯核核
跟幂指数
非常相似。本发明选择基本结构完全不一致的核函数拉普拉斯
核、双曲正切核核、径向基核核、反三角函数核核和多项式核核进行组合,这些核函数通过参数的调整可以包含大多数的常用核函数。[0013]步骤3逐层确定核函数参数[0014]同核函数种类选取一样,同样没有指导核函数参数选取的普适方法。核函数参数确定方法有基于遍历所有参数组合的网格搜索算法、交叉验证,遗传算法、粒子群算法、模拟退火算法、果蝇优化算法、重力搜索算法等等;本发明采用网格搜索的方法逐层计算核函数参数。网格搜索法是指定参数值的一种穷举搜索方法,通过将估计函数的参数通过交叉验证的方法进行优化来得到最优的学习算法。即将各个参数可能的取值进行排列组合,列出所有可能的组合结果生成“网格”。然后将各组合用于SVM训练,并使用交叉验证对表现进行评估。在拟合函数尝试了所有的参数组合后,返回一个合适的分类器,自动调整至最佳参数组合。
[0015]进行筛选前本发明中模型的每一层都由相同的基核函数组成,但是参数不同。[0016]步骤4用Radermacher混沌复杂度对每层核函数进行筛选[0017]利用Rademacher混沌复杂度界可以对经验风险最小化和单核支持向量机进行优化。Radermacher混沌复杂度的值越大,核函数的泛化能力越差,故我们需要尽量选择Radermacher混沌复杂度较小的核函数。在计算出每层每个核函数的Radermacher混沌复杂度后,若其值大于我们设定的阈值,我们抛弃这个核函数,它的处理结果不再进入下一层。[0018]给定一个样本训练集{(xi,yi)|i=1...,n},其中xi∈Rd是输入向量,y∈{-1,1}是xi,的分类标签,每一个输入的xi用核函数K(xi,xj)=φ(xi)′·φ(xj)映射到一个高维希尔伯特空间。之后,支持向量机学习在训练集上具有最大分类间隔和最小训练误差的超平面。这个超平面定义为:
[0019][0020][0021]
其中αb是一个偏置项。i是一个和训练集有关的参数,
对每层基核函数计算其对应样本空间的Rademacher混沌复杂度,若其值大于
5
CN109871855A一种自适应的深度多核学习方法[专利] - 图文



