24小时热门版块排行榜    

查看: 5849  |  回复: 21
当前主题已经存档。
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

当我孤单

[交流] 【原创】支持向量机,最近很火,来看看吧!

机器学习有三类基本的问题,即模式识别、函数逼近和概率密度估计.


SVM有着严格的理论基础,建立了一套较好的有限训练样本下机器学习的理论框架和通用方法。他与机器学习是密切相关的,很多理论甚至解决了机器学习领域的其他的问题,所以学习SVM和机器学习是相辅相成的,两者可以互相促进,有助于机器学习理论本质的理解。


维理论:对一个指示函数集,如果存在 个样本能够被函数集中的函数按所有可能的 种形式分开,则称函数集能够把 个样本打散;函数集的 维就是它能打散的最大样本数目。 维反映了函数集的学习能力, 维越太则学习机器越复杂(容量越太)。


期望风险:其公式为 ,其中 为损失函数, 为概率分布,期望风险的大小可以直观的理解为,当我们用 进行预测时,“平均”的损失程度,或“平均”犯错误的程度。


经验风险最小化(ERM准则)归纳原则:但是,只有样本却无法计算期望风险,因此,传统的学习方法用样本定义经验风险 作为对期望风险的估计,并设计学习算法使之最小化。即所谓的经验风险最小化(ERM准则)归纳原则。经验风险是用损失函数来计算的。对于模式识别问题的损失函数来说,经验风险就是训练样本错误率;对于函数逼近问题的损失函数来说,就是平方训练误差;而对于概率密度估计问题的损失函数来说,ERM准则就等价于最大似然法。但是,经验风险最小不一定意味着期望风险最小。其实,只有样本数目趋近于无穷大时,经验风险才有可能趋近于期望风险。但是很多问题中样本数目离无穷大很远,那么在有限样本下ERM准则就不一定能使真实风险较小。ERM准则不成功的一个例子就是神经网络和决策树的过学习问题(某些情况下,训练误差过小反而导致推广能力下降,或者说是训练误差过小导致了预测错误率的增加,即真实风险的增加)。


结构风险最小化理论(SRM):所以,在有限样本情况下,仅仅用ERM来近似期望风险是行不通的。统计学习理论给出了期望风险 与经验风险 之间关系:


其中 为置信区间,是VC维 的增函数,也是样本数 的减函数。右端称为结构风险,它是期望风险 的一个上界。经验风险的最小依赖较大的 F (样本数较多的函数集)中某个 f 的选择,但是 F 较大,则VC维较大,就导致置信区间变大,所以要想使期望风险 最小,必须选择合适的 和 来使不等式右边的结构风险最小,这就是结构风险最小化归纳原则。


实现SRM的思路之一就是设计函数集的某种结构使每个子集中都能取得最小的经验风险(如使训练误差为0),然后只需选择适当的子集使置信范围最小,则这个子集中使经验风险最小的函数就是最优函数。SVM方法实际上就是这种思想的具体实现。

主要思想:
SVM方法是从线性可分情况下的最优分类面提出的,它是实现统计学习理论思想的方法。所谓最优分类面就是要求分类面不但能将两类无错误地分开,而且要使两类的分类间隔最大。前者是保证经验风险最小(如使训练误差为0),而使分类间隔最大实际上就是使推广性的界中的置信范围最小,从而使真实风险最小。


构造这个最优分类面的方法有2个:平分最近点法和最大间隔法。这两个方法求解得到的是同一个超平面,这个方法就称为“线性可分支持向量分类机”。其实,这个分类机是将最大间隔法求解最优分类面的最优化问题转化为其对偶问题,从而通过求解相对简单的对偶问题来求解原分类问题的算法。随后引入松弛变量和惩罚因子来解决非线性分类问题,并且允许一定的分类错误,最终得到非线性软间隔的标准的 C-支持向量机(C-SVC)。其中的巧妙之处就在于把一个复杂的最优化问题的求解简化为对原有样本数据的内积运算。我们要做的就是选择适当的核函数及其参数、惩罚因子就可以了。


对于线性不可分情况,则通过核函数,把输入映射到另一个空间中,在新的空间中使用线性支持向量机。


核函数:


核方法在数学中是个古老的命题.通过一个特征映射可以将输入空间(低维的)中的线性不可分数据映射成高维特征空间中(再生核Hilbert空间)中的线性可分数据.这样就可以在特征空间使用SVM方法了.因为使用svm方法得到的学习机器只涉及特征空间中的内积,而内积又可以通过某个核函数(所谓Mercer核)来表示,因此我们可以利用核函数来表示最终的学习机器.这就是所谓的核方法.核函数本质上是对应于高维空间中的内积的,从而与生成高维空间的特征映射一一对应.核方法正是借用这一对应关系隐性的使用了非线性特征映射(当然也可以是线性的).这一方法即使得我们能够利用高维空间让数据变得易于处理----不可分的变成可分的,同时又回避了高维空间带来的维数灾难-----不用显式表达特征映射.

核技巧把高维空间中两个点的内积计算,用原来空间中的两个模式的简单函数即核函数的求值来代替。核技巧不仅应用于支持向量机,还可以应用于那些含有内积计算的非线性算法。例如函数逼近,主成分分析等等。


在支持向量机中使用的核函数主要有四类:

线性核函数:
多项式核函数:
RBF核函数:
Sigmoid核函数:
其中, 和 均为核参数。

究竟用哪一种核函数取决对数据处理的要求,不过建议一般都是使用RBF核函数。因为RBF核函数具有良好的性态,在实际问题中表现出了良好的性能。

软件工具:
支持向量机的软件工具主要有LIBSVM和SVMLight,其中我详细了解了LIBSVM。LIBSVM 是一个开源的软件包,是台湾大学林智仁博士等开发的,可以解决上面所提到的三类机器学习基本问题,提供了线性、多项式、径向基和S形函数四种常用的核函数供选择。


LIBSVM 使用的一般步骤是:
1) 按照LIBSVM软件包所要求的格式准备数据集;
2) 对数据进行简单的缩放操作;
3) 考虑选用RBF 核函数 ;
4) 采用交叉验证选择最佳参数C与g ;
5) 采用最佳参数C与g 对整个训练集进行训练获取支持向量机模型;
6) 利用获取的模型进行测试与预测。

应用领域
SVM可以用于模式识别、函数逼近和概率密度估计.


总的来说,SVM能够较好的解决小样本,非线性,高维数识别和局部极小点等问题。


详细说来,可以应用于如下领域:人脸检测,故障诊断,分类,回归,聚类,时间序列预测,系统辨识,金融工程,生物医药信号处理,数据挖掘,生物信息,文本挖掘,自适应信号处理,剪接位点识别,基于支持向量机的数据库学习算法,手写体相似字识别,支持向量机函数拟合在分形插值中的应用,基于支持向量机的惯导初始对准系统,岩爆预测的支持向量机,缺陷识别,计算机键盘用户身份验证,视频字幕自动定位于提取,说话人的确认,等等。


研究方向:
虽然SVM 方法在理论上具有很突出的优势, 但与其理论研究相比,应用研究尚相对比较滞后, 所以现在的主要的研究方向就是SVM的应用。包括SVM在新领域的应用以及跟其他方法的结合。例如SVM决策树可以用于多层分类。

所以,归纳如下

核函数的构造和参数的选择;支持向量机从两类问题向多类问题的推广;更多的应用领域的推广;与目前其它机器学习方法的融合;与数据预处理(样本的重要度,属性的重要度,特征选择等)方面方法的结合,将数据中脱离领域知识的信息,即数据本身的性质融入支持向量机的算法中从而产生新的算法;支持向量机训练算法的探索。
[search]SVM[/search]

[ Last edited by bslt on 2009-5-11 at 11:13 ]
回复此楼

» 收录本帖的淘帖专辑推荐

精品收藏 ML相关

» 猜你喜欢

» 本主题相关商家推荐: (我也要在这里推广)

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

调皮刀

银虫 (正式写手)

我也想用它,但我不是研究数据挖掘的,我想把SVM用到自己的识别上
4楼2008-11-28 15:43:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 22 个回答

当我孤单

希望大家多加交流,前段时间听了周志华的学术报告,挺好的,也讨论了几个问题
我主要对机器学习,数据挖掘方面做点东西!
2楼2008-10-24 10:04:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

benzlion

金虫 (小有名气)

★ ★
2007骑猪逛街(金币+1,VIP+0):欢迎交流 4-21 16:54
ljl1205(金币+1,VIP+0):欢迎交流 9-27 09:28
火?个人认为应用有局限性,理论上虽说比较完备,但限制条件不少。应用上就很难普及,比如,一般哪有多少小样本问题啊,给大量的样本还不一定学习的好呢。还有,灵活性也不太好,比如在ANN中可调整的权值。。。。。。唉,总感觉智能还处于混沌状态,没一个完整的体系,各有各的说法,说好是百花齐放,说歹是乱七八糟,国外提出国内改进。。。。。智能所的史忠植好像有本智能科学有点集大成的意思,可惜在各领域联系勉强中不免牵强。。。
3楼2008-10-25 09:22:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lxpzju

铁虫 (初入文坛)

问题还是很多的,典型的就是药学领域,获取一个参数特别费时
5楼2008-12-02 17:40:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 国自然评审意见 +6 wangmingqi 2026-08-28 7/350 2026-08-28 18:20 by Frank0820
[基金申请] 投票:  有多少人是今天查系统知道结果的? +16 爱看书的可乐 2026-08-26 18/900 2026-08-28 17:09 by winsaint
[基金申请] 为什么资助数各大高校都创新高,自己申请怎么就这么难 +11 Kittylucky 2026-08-27 12/600 2026-08-28 16:26 by lyxiaomc
[教师之家] 导师吐槽:我怎么摊上了这么个极品研究生! +8 苏东坡二世 2026-08-23 8/400 2026-08-28 14:41 by lkforward
[基金申请] 基金不中,共勉 +11 eulota 2026-08-26 11/550 2026-08-28 14:22 by 火星超人xi
[基金申请] 2026年叶企孙基金 +3 bud_bud 2026-08-27 6/300 2026-08-28 11:53 by bud_bud
[基金申请] 国自然面上复盘~欢迎讨论 (金币+15) +12 晴天加油 2026-08-26 13/650 2026-08-28 11:32 by skyjudy
[基金申请] 怎么查啊 +6 huang1991js 2026-08-26 6/300 2026-08-28 08:42 by winsaint
[基金申请] 面上合作单位盖章 +5 ssyjh 2026-08-27 5/250 2026-08-27 20:50 by gdfollow
[基金申请] 看板上这么多中的,有点像50人群里49个人都是骗子的那种感觉…… +5 a089 2026-08-26 6/300 2026-08-27 14:05 by jonewore
[基金申请] 为什么 国际(地区)合作与交流项目 没有放榜? 10+3 majunge000 2026-08-26 11/550 2026-08-27 08:42 by 北京莱茵编辑
[基金申请] 我不理解! +15 Edward_pc 2026-08-26 23/1150 2026-08-26 20:34 by zzuzxg
[基金申请] 2026年的国家社科基金项目通讯评审的新规则与新动向、新挑战 +7 process2012 2026-08-23 10/500 2026-08-26 19:23 by hmhminy
[基金申请] 2026年8月25日国自然放榜前突然收到列入评审专家邮件,有关系吗? +25 木水思豆 2026-08-25 28/1400 2026-08-26 14:53 by draco1987
[基金申请] 今天务委会开完了,明天出结果吗 +19 angus9576 2026-08-25 23/1150 2026-08-26 10:03 by zp519
[基金申请] 在坚冰还盖着北海的时候,我看到了怒放的梅花。 (金币+10) +6 ziyangfang 2026-08-25 9/450 2026-08-25 20:26 by huagongfeihu
[基金申请] 某些机构,以效率低为荣,以效率低作为存在感 +9 yuleib84 2026-08-25 10/500 2026-08-25 17:14 by alexon
[基金申请] 如果此刻你正在为国基感到焦虑,不妨来听听这首《基金之外》 +8 scalable 2026-08-24 8/400 2026-08-25 12:52 by jnhyjjm
[基金申请] 没有任何消息-是不是就凉了 +9 图啦图啦 2026-08-24 10/500 2026-08-25 11:59 by 南海小哥
[教师之家] 跳槽后在研项目怎么办? +5 简单化xn 2026-08-22 10/500 2026-08-23 12:38 by 简单化xn
信息提示
请填处理意见