0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

浅析SVM多核学习方法

汽车玩家 来源:人工智能遇见磐创 作者:Walker 2020-05-04 18:16 次阅读

SVM是机器学习有监督学习的一种方法,常用于解决分类问题,其基本原理是:在特征空间里寻找一个超平面,以最小的错分率把正负样本分开。因为SVM既能达到工业界的要求,机器学习研究者又能知道其背后的原理,所以SVM有着举足轻重的地位。

但是我们之前接触过的SVM都是单核的,即它是基于单个特征空间的。在实际应用中往往需要根据我们的经验来选择不同的核函数(如:高斯核函数、多项式核函数等)、指定不同的参数,这样不仅不方便而且当数据集的特征是异构时,效果也没有那么好。正是基于SVM单核学习存在的上述问题,同时利用多个核函数进行映射的多核学习模型(MKL)应用而生。

多核模型比单个核函数具有更高的灵活性。在多核映射的背景下,高维空间成为由多个特征空间组合而成的组合空间。由于组合空间充分发挥了各个基本核的不同特征映射能力,能够将异构数据的不同特征分量分别通过相应的核函数得到解决。目前主流的多核学习方法主要包括合成核方法、多尺度核方法和无限核方法。其具体流程如图1所示:

浅析SVM多核学习方法

图1 多核学习流程图

接下来我们以二分类问题为例,为大家简单介绍多核学习方法。令训练数据集为X={(x1,y1),(x2,y2),(x3,y3)...(xn,yn)},其中Xi是输入特征,且Xi∈Rd,i= 1,2, ..., N,Yi∈{+1, −1}是类标签。SVM 算法目标在于最大化间隔,其模型的原始问题可以表示为:

浅析SVM多核学习方法

其中,w是待求的权重向量,ζi与C分别是松弛变量和惩罚系数。根据拉格朗日对偶性以及 KKT 条件,引入核函数K( Xi , Xj): Rn×Rn → R,原始问题也可以转换成如下最优化的形式:

浅析SVM多核学习方法

其中,ai与aj为拉格朗日乘子,核函数K( Xi, Xj)=φ(xi) xφ(xj)。核方法的思想就是,在学习与预测中不显示地定义映射函数φ(xi) ,只定义核函数K( Xi, Xj),直接在原低维空间中计算高维空间中的向量内积,既实现低维样本空间到高维特征空间的映射,又不增加计算复杂量。

多核学习方法是单核 SVM 的拓展,其目标是确定 M 个个核函数的最优组合,使得间距最大,可以用如下优化问题表示:

浅析SVM多核学习方法

其中∆= {θ∈ ℝ+|θTeM=1},表示 M 个核函数的凸组合的系数,eM是一个向量,M个元素全是 1,K(θ)=∑Mj=1θjkj(∙,∙)代表最终的核函数,其中kj(∙,∙)是第j个核函数。与单核 SVM 一样,可以将上式如下转化:

浅析SVM多核学习方法

其中Kj∈ RNxN,Ω={a|a∈[0,C]N},“∗”被定义为向量的点积,即(1,0)∗(2,3) = (1 ×2 ,0×3)=(2,0)。通过对比 MKL 与单核 SVM 所对应的优化问题形式,求解多核学习问题的计算复杂度与难度会远大于单核 SVM,所以研究出一种高效且稳定的算法来解决传统多核学习中的优化难题,仍然很具有挑战性。

综上所示,尽管多核学习在解决一些异构数据集问题上表现出了非常优秀的性能,但不得不说效率是多核学习发展的最大瓶颈。首先,空间方面,多核学习算法由于需要计算各个核矩阵对应的核组合系数,需要多个核矩阵共同参加运算。也就是说,多个核矩阵需要同时存储在内存中,如果样本的个数过多,那么核矩阵的维数也会非常大,如果核的个数也很多,这无疑会占用很大的内存空间。其次,时间方面,传统的求解核组合参数的方法即是转化为SDP优化问题求解,而求解SDP问题需要使用内点法,非常耗费时间,尽管后续的一些改进算法能在耗费的时间上有所减少,但依然不能有效的降低时间复杂度。高耗的时间和空间复杂度是导致多核学习算法不能广泛应用的一个重要原因。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • SVM
    SVM
    +关注

    关注

    0

    文章

    154

    浏览量

    32494
  • 机器学习
    +关注

    关注

    66

    文章

    8423

    浏览量

    132757
收藏 人收藏

    评论

    相关推荐

    传统机器学习方法和应用指导

    用于开发生物学数据的机器学习方法。尽管深度学习(一般指神经网络算法)是一个强大的工具,目前也非常流行,但它的应用领域仍然有限。与深度学习相比,传统方法在给定问题上的开发和测试速度更快。
    的头像 发表于 12-30 09:16 244次阅读
    传统机器<b class='flag-5'>学习方法</b>和应用指导

    《DNESP32S3使用指南-IDF版_V1.6》第一章 本书学习方法

    第一章 本书学习方法 为了让大家更好的学习和使用本书,本章将给大家介绍一下本书的学习方法,包括:本书的学习顺序、编写规范、代码规范、资料查找、学习
    发表于 11-20 09:54

    什么是机器学习?通过机器学习方法能解决哪些问题?

    来源:Master编程树“机器学习”最初的研究动机是让计算机系统具有人的学习能力以便实现人工智能。因为没有学习能力的系统很难被认为是具有智能的。目前被广泛采用的机器学习的定义是“利用经
    的头像 发表于 11-16 01:07 443次阅读
    什么是机器<b class='flag-5'>学习</b>?通过机器<b class='flag-5'>学习方法</b>能解决哪些问题?

    如何使用 PyTorch 进行强化学习

    强化学习(Reinforcement Learning, RL)是一种机器学习方法,它通过与环境的交互来学习如何做出决策,以最大化累积奖励。PyTorch 是一个流行的开源机器学习库,
    的头像 发表于 11-05 17:34 325次阅读

    Pytorch深度学习训练的方法

    掌握这 17 种方法,用最省力的方式,加速你的 Pytorch 深度学习训练。
    的头像 发表于 10-28 14:05 227次阅读
    Pytorch深度<b class='flag-5'>学习</b>训练的<b class='flag-5'>方法</b>

    《DNK210使用指南 -CanMV版 V1.0》第一章本书学习方法

    第一章 本书学习方法 为了让读者更好地学习和使用本书,本章将为读者介绍本书的学习方法,包括:本书的学习顺序、编写规范、代码规范、资料查找和学习
    发表于 08-28 17:57

    深度学习中的时间序列分类方法

    的发展,基于深度学习的TSC方法逐渐展现出其强大的自动特征提取和分类能力。本文将从多个角度对深度学习在时间序列分类中的应用进行综述,探讨常用的深度学习模型及其改进
    的头像 发表于 07-09 15:54 1019次阅读

    深度学习中的无监督学习方法综述

    应用中往往难以实现。因此,无监督学习在深度学习中扮演着越来越重要的角色。本文旨在综述深度学习中的无监督学习方法,包括自编码器、生成对抗网络、聚类算法等,并分析它们的原理、应用场景以及优
    的头像 发表于 07-09 10:50 811次阅读

    深度学习与nlp的区别在哪

    深度学习和自然语言处理(NLP)是计算机科学领域中两个非常重要的研究方向。它们之间既有联系,也有区别。本文将介绍深度学习与NLP的区别。 深度学习简介 深度学习是一种基于人工神经网络的
    的头像 发表于 07-05 09:47 972次阅读

    深度学习的基本原理与核心算法

    随着大数据时代的到来,传统机器学习方法在处理复杂模式上的局限性日益凸显。深度学习(Deep Learning)作为一种新兴的人工智能威廉希尔官方网站 ,以其强大的非线性表达能力和自学习能力,在图像识别、自然语言
    的头像 发表于 07-04 11:44 2181次阅读

    机器学习算法原理详解

    机器学习作为人工智能的一个重要分支,其目标是通过让计算机自动从数据中学习并改进其性能,而无需进行明确的编程。本文将深入解读几种常见的机器学习算法原理,包括线性回归、逻辑回归、支持向量机(SVM
    的头像 发表于 07-02 11:25 1125次阅读

    TC3x多核使用与TC2x多核使用相比是否有任何限制?

    大家好,TC3x 多核使用与 TC2x 多核使用相比是否有任何限制? 举例说明:TC3x 是否不允许在不同内核运行的代码之间进行多内核共享数据交换?
    发表于 05-22 07:32

    risc-v多核芯片在AI方面的应用

    得RISC-V多核芯片能够更好地适应AI算法的不同需求,包括深度学习、神经网络等,从而提高芯片的性能和效率,降低成本,使AI边缘计算晶片更具竞争力。 再者,RISC-V的多核设计可以进一步提高
    发表于 04-28 09:20

    基于SVM的电机异常检测系统

    之前为大家带来了两篇关于SVM的介绍与基于python的使用方法。相信大家都已经上手体验,尝鲜了鸢尾花数据集了吧。
    的头像 发表于 04-18 10:34 782次阅读
    基于<b class='flag-5'>SVM</b>的电机异常检测系统

    SVM的使用方法

    上一篇本着回归传统的观点,在这个深度学习繁荣发展的时期,带着大家认识了一位新朋友,英文名SVM,中文名为支持向量机,是一种基于传统方案的机器学习方案,同样的,支持根据输入的数据进行训练,以进行分类等任务。
    的头像 发表于 01-25 09:23 1648次阅读
    <b class='flag-5'>SVM</b>的使用<b class='flag-5'>方法</b>