多核学习方法介绍

通过上篇文章的学习,我们知道,相比于单个核函数,多核模型可以具有更高的灵活性。经过多个核函数映射后的高维空间是由多个特征空间组合而成的组合空间,而显然组合空间可以组合各个子空间不同的特征映射能力,能够将异构数据中的不同特征分量分别通过最合适的单个核函数进行映射,最终使得数据在新的组合空间中能够得到更加准确、合理的表达,进而提高样本数据的分类正确率或预测精度。

多核学习方法根据不同的分类标准有不同的分类方式,按照多核函数的构造方法和特点的不同,可以将多核学习方法大致分成三大类别:合成核方法、多尺度核方法、无限核方法。

一、合成核方法
把具有不同特性的多个核函数进行组合,就会得到包含各个单核函数的总体特性的多核函数。多核函数形成的方式本身就使得多核函数具有更加准确、更加强大的映射能力或者分类能力,特别是对于实际应用中样本数据具有比较复杂分布结构的分类、回归等学习问题,多核学习的优点非常明显。

(1)多核线性组合合成方法
多核线性组合方法是将基本核函数进行线性组合,用表达式可以如下所示描述:
假设变量 x,z ∈X,其中 X 属于 R(n)空间,非线性函数Φ能够实现输入空间 X到特征空间 F 的映射,其中 F ∈R(m),m>>n。假设已知的基本核函数为k (x,z) ,再将其进行归一化为ˆk(x,z),则可以通过以下方式进行线性组合得到多核函数:
直接求和核其中, 其中 ˆk(x,z) 为第 i 个基本核函数。

![image](https://yqfile.alicdn.com/27e1a4ebe611ad41fcd3666c2cf114944de43612.png)

加权求和核,其中βi为第 i 个核函数的权值。

image

多项式加权扩展核,其中kp(x,z)是k (x,z) 的多项式扩展。

![image](https://yqfile.alicdn.com/893a680ff7c519323b1cccf94d4fce2508becad4.png)

(2)多核扩展合成方法
上述描述的多核组合方法主要是基于将基本核函数直接求和或者加权求和的思想实现多个核函数的结合,但这样的方法最大的问题是可能丢失原始数据的某些特征信息,比如数据分布的某块区域包含很多信息并且是多变的,当使用平均或者加权平均的方式将该部分数据“平滑”之后,能够表示多变信息的数据很有可能被不用的核函数给平滑掉,有可能导致最终的特征信息不完整,降低分类器的分类能力和准确性,基于上述考虑,产生了将原有多核矩阵进行扩展合成的方法,也就是最终能够使用的多核矩阵是由原先的单个核矩阵和其核矩阵共同构成的。因此, 原始核函数的性质得以保留。该合成核矩阵的形式为:

image

可以看出, 原始核矩阵位于新矩阵的对角线上. 其他所有元素是定义为 (Kp,p0 )i,j = Kp,p0 (xi , xj ) 的两个不同核矩阵的混合, 可由如下公式求得 (以两个 高斯核为例):

image

很明显,当p = p 0 时, Kp,p ≡ Kp.实验结果显示,当数据集具有变化的局部数据分布时,这种合成核方法将是更好的选择.此外, 通常核组合方法在很大程度上依靠训练数据,并且必须通过学习获取一些权系数,以标识每个核的重要性.

(3)非平稳多核学习
前边的多核线性组合方法都是对核函数的平稳组合, 即对所有输入样本, 不同的核对应的权值是不变的, 无形中对样本进行了一种平均处理.Lewis 提出了一种多核的非平稳组合方法, 对每个输入样本配以不同的权值系数.如常规 SVM判别函数为:

image

引入不同的加权系数, 典型的合成核 SVM 的判别函数可以改写为:

image

在最大熵判别框架下, 通过使用一种大间隔隐变量生成模型, 使得隐参数估计问题可以通过变化边界和一个内点优化过程来表示, 并且相应的参数估计可以通过快速的序列最小优化算法实现。

(4)局部多核学习
针对多核学习在整个输入空间中对某个核都是分配相同权值的问题, 利用一种选通模型 (Gating model) 局部地选择合适核函数, 提出了一种局部多核学习算法. 在SVM 框架下, 其判别函数形如:

image

这里的vm 和vm0 是选通模型参数, 可以在多核学习过程中通过梯度下降法获得.将局部选通模型和基于核的分类器相结合,优化问题可以用一种联合的方式加以解决。

二、多个尺度的多核学习: 多尺度核方法
合成核方法虽然有了一些成功应用,但都是根据简单核函数的线性组合, 生成满足Merce条件的新核函数;核函数参数的选择与组合没有依据可循,对样本的不平坦分布仍无法圆满解决,限制了决策函数的表示能力。在此情况下,出现了多核学习的一种特殊化情形,即将多个尺度的核进行融合。这种方法更具灵活性, 并且能比合成核方法提供更完备的尺度选择.此外,随着小波理论、多尺度分析理论的不断成熟与完善,多尺度核方法通过引入尺度空间,使其具有了很好的理论背景。

多尺度核方法的基础就是要找到一组具有多尺度表示能力的核函数. 在被广泛使用的核函数中, 高斯径向基核是最受欢迎的, 因为它们具有通用普遍的近似能力,同时它也是一种典型的可多尺度化核. 以此核为例,将其多尺度化 (假设其具有平移不变性):

image

其中, σ1 < · · · < σm. 可以看出, 当σ较小时, SVC可以对那些剧烈变化的样本进行分类; 而当σ较大 时, 可以用来对那些平缓变化的样本进行分类, 能得到更优的泛化能力. 具体实现时,σ的取值可以借鉴 小波变换中尺度变化的规律, σ可由下式定义:

image

对多尺度核的学习方法:
很直观的思路就是进行多尺度核的序列学习. 多尺度核序列合成方法。简单理解就是先用大尺度核拟合对应决策函数平滑区域的样本, 然后用小尺度核拟合决策函数变化相对剧烈区域的样本, 后面的步骤利用前面步骤的结果,进行逐级优化,最终得到更优的分类结果。考虑一个两尺度核 k1 和 k2 合成的分类问题. 我们要得到合成的决策函数:

image


设想k1是一个大尺度的核函数(如σ较大的径 向基函数),相关的核项系数 αi 选择那些决策函数f(x)光滑区域对应的支持向量而k2是小尺度核函数,核项系数βi选择那些决策函数f(x)剧烈变化区域对应的支持向量.具体方法是: 首先通过大尺度的单核 k1 构造函数f1(x),这样,该函数可以很好地拟合光滑区域,但在其他地方存在显著误差,可以使用相对较小的松弛因子来求取αi;然后,在 f1(x)基础上使用小尺度的核 k2 构造 f2(x), 使得联合函数 f1(x) + f2(x)比f1(x) 具有更好的拟合性能.这种方法实际上是多次使用二次规划以实现参数的获取,运算复杂度较高, 同时支持向量的数量大量增加。

三、从有限向无限核的扩展 : 无限核方法
合成核与多尺度核方法都是在有限个核函数线性组合前提下加以讨论的。但对一些大规模问题,基于有限个核的多核处理方法不一定有效,多核融合的决策函数的表示能力也不能达到处处最优。 此外,在一个多尺度核函数族中, 有限个核函数的选 择并不唯一,并且其不能完备地表征这个核函数族.因此,将有限核向无限核的扩展也是一个重要的方向。

无限核是从由多个基本核函数的合法集合所构成的一个凸壳中找到某个核,使其能最小化凸正则化函数.与其他方法相比,这个方法有一个独有的特征, 即上述基本核的个数可以是无限多个, 仅仅需要这些核是连续参数化的.此外,用半无限规划解决来自通用核类型的核函数学习问题。

IKL 可以比SVM/MKL 大大提高分类正确率, 在这些情况下,IKL 能保持它的实用性, 而交叉验证和 MKL 都是不实用的。

原文发布时间为:2018-08-06
本文作者:Walker
本文来自云栖社区合作伙伴“磐创AI”,了解相关信息可以关注“磐创AI”。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/277517.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux go环境安装和基本项目结构

最近项目中要用到Go语言&#xff0c;所以简单总结一下安装和配置&#xff0c;Go这个语言本身就限定了很多规范&#xff0c;比如项目设置&#xff0c;编程风格等&#xff0c;开发中就不需要再因为各种规范问题纠结了&#xff0c;直接用官方规定的能避免很多坑&#xff0c;下面直…

运输层

运输层-TCP 简介 通俗点来说&#xff0c;运输层是连接底层和用户层的&#xff0c;运输层向它上面的应用层提供通信服务&#xff0c;它属于通信部分的最高层&#xff0c;同时也是用户功能的最低层。 运输层重要功能是复用和分用。复用&#xff1a;发送方不同应用进程可以使用同一…

phpStudy

很多朋友在学习php的过程中会看到phpstudy这个东西&#xff0c;那么phpstudy是做什么的呢&#xff1f;有什么用&#xff1f;接下来的这篇文章将个大家来详细的介绍一下phpstudy的内容。 首先在百度百科上对于phpstudy的定义是一个PHP调试环境的程序集成包。 该程序包集成最新的…

厉害了!Intel第九代酷睿参数曝光

2019独角兽企业重金招聘Python工程师标准>>> 导读上周有消息称&#xff0c;Intel第九代酷睿处理器最快于8月1日发布&#xff0c;共有三款主打产品&#xff0c;分别是i9-9900K、i7-9700K和i5-9600K。其中&#xff0c;i9-9900K设计为8核16线程&#xff0c;基础主频3.6…

Web应用性能分析工具—HAR文件

Web应用性能分析工具—HAR文件 来源 https://raynorli.com/2018/06/11/web-performance-analysis-har-file/ 客户经常有的一个问题就是&#xff0c;我的网页服务通过你的设备之后&#xff0c;访问变慢了&#xff0c;这类直观感受的故障很不好量化&#xff0c;而且基于Web应用的…

【mybatis】mybatis多表联查,存在一对多关系的,实体中使用List作为字段接收查询结果的写法...

实体如下&#xff1a; IntegralGoods  积分商品 IntegralGoodsImg  积分商品图片 ShelfLog    积分商品自动上架记录 IntegralGoods &#xff1a;IntegralGoodsImg&#xff1a;ShelfLog   1&#xff1a;n&#xff1a;1 1&#xff1a;1的多表联查或者m:n的多表联查 很简…

mac java tomcat_mac idea 配置tomcat

mac idea 配置tomcat一、下载安装tomcat二、有一个 javaWeb项目创建一个javaWeb项目 ,参考第一条&#xff0c;只是在第二步的时候选中java Web就行三、完善web项目在WEB-INF 下新建两个文件夹&#xff0c;lib(存放jar包)和classes(存放编译后的文件)打开项目结构设置配置classe…

30342程序格式

1.汇编语言程序格式 2.表达式操作符 转载于:https://www.cnblogs.com/ZanderZhao/p/11055237.html

SprinBoot易学难精

Spring Boot易学难精 易学 组件自动装配&#xff1a;规约大于配置&#xff0c;专注核心业务外部化配置&#xff1a;一次构建、按需调配&#xff0c;到处运行嵌入式容器&#xff1a;内纸容器、无序部署、独立运行Spring Boot Stater&#xff1a;简化依赖、按需装配、自我包含Pro…

一道没人搞得定的趣味Shell编程游戏题!,看看你会不会?

1.1猜数字编程游戏首先让系统随机生成一个数字&#xff0c;给这个数字定一个范围&#xff08;1-60&#xff09;&#xff0c;让用户输入猜的数字&#xff0c;对输入进行判断&#xff0c;如果不符合要求&#xff0c;就给予高或低的提示。其他要求&#xff1a;1、全部猜对后则给出…

java中拷贝文件的代码_拷贝文件夹中的所有文件到另外一个文件夹

[java]代码库/**** 拷贝文件夹中的所有文件到另外一个文件夹** param srcDirector* 源文件夹** param desDirector* 目标文件夹**/public static void copyFileWithDirector(String srcDirector,String desDirector) throws IOException {(new File(desDirector)).mkdirs();Fil…

infoseccrypto_java下载_關於php接ICBC的支付接口的解決方案

一&#xff1a;背景&#xff1a; 目前項目使用的是php語言開發&#xff0c;需要接入中國工商銀行的ICBC的線上支付接口。二&#xff1a;遇到的問題&#xff1a;支付時需要對數據簽名&#xff0c;但是銀行那邊不提供php版本的程序&#xff0c;只有java版本的&#xff0c;以下是對…

java windows 取所有任务_Win下,通过Jstack截取Java进程中的堆栈信息

在Java软件的使用过程中&#xff0c;有时会莫名的出现奇怪的问题。而这些问题常常无法使用日志信息定位&#xff0c;这时我们就需要通过查看进程内部线程的堆栈调用关系来分析问题出在哪里。举个例子&#xff0c;当我们在做某个操作时&#xff0c;莫名的会弹出多个警告框&#…

redis基础一_常用指令

# Redis configuration file example. # # Note that in order to read the configuration file, Redis must be # started with the file path as first argument: #./redis-server /path/to/redis.conf docker启动redis: docker run -d -p 6379:6379 -v /home/anmin/Desktop/…

滴滴Booster移动APP质量优化框架 学习之旅 三

推荐阅读&#xff1a; 滴滴Booster移动App质量优化框架-学习之旅 一 Android 模块Api化演练 不一样视角的Glide剖析(一) 滴滴Booster移动App质量优化框架-学习之旅 二对重复资源优化和无用资源优化进行了讨论。这里对不可编译无用assets资源优化进行讨论。 先看微信Matrix-ApkC…

Colder框架硬核更新(Sharding+IOC)

目录 引言控制反转读写分离分库分表 理论基础设计目标现状调研设计思路实现之过五关斩六将 动态对象动态模型缓存数据源移植查询表达式树深度移植数据合并算法事务支持实际使用展望未来引言 前方硬核警告&#xff1a;全文干货11000字&#xff0c;请耐心阅读 遥想去年这个时候&a…

python:小心类实例的属性动态绑定机制

为什么80%的码农都做不了架构师&#xff1f;>>> class Test:def __init__(self):self.__keyinitdef get_key(self):return self.__keydef set_key(self,key):self.__keykeyif __name__ __main__:obj Test()print(obj.get_key())#输出初始值initobj.set_key(通过s…

java 获取手机归属地_java 获取手机归属地

java 获取手机归属地[2021-01-30 20:46:44] 简介:php去除nbsp的方法&#xff1a;首先创建一个PHP代码示例文件&#xff1b;然后通过“preg_replace("/(\s|\&nbsp\;| |\xc2\xa0)/", " ", strip_tags($val));”方法去除所有nbsp即可。推荐&#xff1a;…

Atom常用功能插件

minimap代码缩略图插件 代码粒子效果activate-power-mode 代码格式化插件atom-beautify packages-->Atom Beautify-->Beautify进行格式化 标签折叠 autoclose-html 转载于:https://www.cnblogs.com/chenxi-hxl/p/9464120.html

java中和char功能相反的是_JAVA基础语法

java的基础语法Java中的程序可分为结构定义语句和功能执行语句.结构定义语句&#xff1a;用于声明一个类或方法&#xff0c;功能执行语句用于实现具体的功能。功能执行语句&#xff1a;每条功能执行语句的结尾都必须用英文分号(;)结束。public修饰的类名必须和文件名一致(如果没…