|
|
51CTO旗下网站
|
|
移动端

2.1 算法原理

《大数据分析:数据挖掘必备算法示例详解》第2章SVM 算法,本书详细介绍了大数据分析,尤其是数据分类相关算法的原理及实现 细节,并给出了每个算法的编程实例。本节为大家介绍算法原理。

作者:张重生来源:机械工业出版社|2017-12-13 17:32

【大咖·来了 第7期】10月24日晚8点观看《智能导购对话机器人实践》

第2章 SVM 算法

2.1 算法原理

Vapnik早在 20世纪 60年代就提出了 SVM算法[1,2]的原理,但是直到 1992~1993年他移民美国之后这篇论文才公开在全世界范围内投稿 /发表。该论文在 1995年之前曾经一度被机器学习领域的著名期刊拒绝录用。后来,Vapnik等增加了手写识别的应用,***,该论文直到 1995年才被著名期刊 《MachineLearning》接收并正式发表。

下面给出 SVM算法原理的推导。在图 2-1中,令 f(x,y)=y-wx-b=0。该直线上方的数据点为健康人士,下方的数据点为糖尿病患者。将 f(x,y)向上、向下各平移一个单位,分别得到两条新直线 g(x,y)和 h(x,y),则这两条直线的方程分别为:

g(x,y)=f(x,y)+1=y-wx-b-1=0

h(x,y)=f(x,y)-1=y-wx-b+1=0

即,g(x,y)表示的是 f(x,y)=1;h(x,y)表示的是 f(x,y)=-1。而且,g(x,y)上方的数据
点均满足 f(x,y)>=1;h(x,y)下方的数据点均满足 f(x,y)<=-1。

g(x,y)与 h(x,y)两条直线之间的垂直距离为:

SVM的目标是将上述两条直线之间的距离dis最宽(***化)。而将dis***化,等价地,就是将1+w22 最小化。同时,需要满足如下限制条件:直线g(x,y)上方的数据点均满足f(x,y)>=1;直线h(x,y)下方的数据点均满足f(x,y)<=-1。

然后,引入拉格朗日函数和对偶变量βi解决上述***化问题。并代入各个数据点的坐标,求解各βi变量。进而求解数据分类的***直线方程。

将上述每个数据点都增加一个维度1,得到6个点:

p是一个三行一列的向量(列向量)。p向量的这三个值分别表示直线ax+cy+b=0的三个系数a,c,b。根据系数a,c,b,可以求解直线方程ax+cy+b=0,该直线即为对应数据进行分类的***直线方程。

当数据是线性不可分的情形时,如图2-3所示:

此时,需要对数据进行映射,在图2-3的例子中,可以将圆弧上的数据点(其坐标满足x2+y2=4) 进行映射:

映射后的数据点,满足线性可分。此时,就可使用上面的技术,求解数据分类的***直线方程。

这里,就引入了SVM的核函数,科学家们设计了多种SVM核函数,如高斯核。这些核函数将数据点进行映射,将原始数据点映射为线性可分的数据点。


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码

 

51CTO读书频道活动讨论群:365934973
【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

16招轻松掌握PPT技巧

16招轻松掌握PPT技巧

GET职场加薪技能
共16章 | 晒书包

289人订阅学习

20个局域网建设改造案例

20个局域网建设改造案例

网络搭建技巧
共20章 | 捷哥CCIE

645人订阅学习

WOT2019全球人工智能技术峰会

WOT2019全球人工智能技术峰会

通用技术、应用领域、企业赋能三大章节,13大技术专场,60+国内外一线人工智能精英大咖站台,分享人工智能的平台工具、算法模型、语音视觉等技术主题,助力人工智能落地。
共50章 | WOT峰会

0人订阅学习

读 书 +更多

Eclipse插件开发方法与实战

本书分为4个部分共24章,以插件开发为中心,围绕插件开发主要介绍SWT/JFace的应用、插件扩展点的实现,以及GEF、EMF和RCP的相关知识。本书...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO播客