机器学习入门之机器学习-19:MachineLN之SVM(1)
小标 2019-02-13 来源 : 阅读 869 评论 0

摘要:本文主要向大家介绍了机器学习入门之机器学习-19:MachineLN之SVM(1),通过具体的内容向大家展现,希望对大家学习机器学习入门有所帮助。

本文主要向大家介绍了机器学习入门之机器学习-19:MachineLN之SVM(1),通过具体的内容向大家展现,希望对大家学习机器学习入门有所帮助。

我想说:


其实很多事情,只要你想做,是肯定有方法做的,并且可以做好;


说起SVM很多人都会感觉头疼,无非就是公式多一个,其实很多时候你真是用的话,都不用你手动自己实现,你是在学习的一种机器学习的思维方式,就要比为什么要提出svm?svm解决了什么问题?svm中的kernel又是想解决线性svm解决不了的问题?svm的优势在哪里?就好比生活中不缺乏美,只是缺少发现美的眼睛,在学习中发现问题的能力及其重要,当你问题多了很多人会感觉你烦,但是没关系,解决了就会柳暗花明;并且要时常问自己从中学到了什么?再遇到问题是否可以拿来主义?还是可以从中借鉴?


说起SVM,那么我的问题:(根据MachineLN之三要素:模型、策略、算法)


(1)什么是SVM?(模型)


(2)SVM是如何学习的?(策略)


(3)SVM学习算法?(算法)


顺便后面的要写的展望一下: SVM软间隔最大化;SVM核技巧;SVM求解对偶问题的SMO算法;SVM不用提到的拉格朗日求解,使用梯度下降损失函数应该怎么设计;SVM源码:smo算法求解参数 和 使用梯度下降求解参数;


看到这里你的答案是什么?下面是我的答案:


(1)什么是SVM?(模型)


在MachineLN之感知机中有提到:感知机的不足和svm的提出;


SVM(支持向量机)表达式:


那么分类超平面:

这里和感知机是一样的,不清楚的可以回过头看一下;不同的是在策略和算法上;


(2)SVM是如何学习的?(策略)


先看这么一句话,开始看可能比较难理解:下面我画个图就好理解了,一般来说,一个点距离分离超平面的远近可以表示分类预测的确信程度,在超平面wx+b=0确定的情况下,|w x+b|能够相对地表示点距离超平面的远近,看下图:


这个理解了,那么提到函数间隔应该就好理解了,在感知机章节我们就注意过wx+b与类标记符号y的问题,他俩是否一致表示分类似否正确,所以可用y(wx+b)表示分类的正确性和确信度,这就是函数间隔;


那么函数间隔 functiona lmargin:对于给定的训练数据集T和超平面(w, b),定义超平面关于样本点(xi, yi)的函数间隔为:


定义超平面(w,b)关于训练数据集T的函数间隔为超平面(w,b)关于T中所有样本点(xi, yi)的函数间隔之最小值,即:


但是把手撕那部分除以||w||作为超平面,你会发现,此时w,b成倍的改变,超平面不变,h1和h2也不变,这就引出了几何间隔,也可以直接理解为点到直接的距离。(大家不要怪学术的大牛不点透点,这些都是基础)


接下来几何间隔 geometric margin:对于给定的训练数据集T和超平面(w, b),定义超平面关于样本点(xi, yi)的函数间隔为:

定义超平面(w,b)关于训练数据集T的函数间隔为超平面(w,b)关于T中所有样本点(xi, yi)的函数间隔之最小值,即:


那么接下来就可以引出支持向量机的思想:求解能够正确分类训练集并且几何间隔最大的分类超平面,对线性可分的训练数据集而言,线性可分分离超平面有无穷多个(等价于感知机),但是几何间隔最大的分离超平面是唯一的。这里的间隔最大化又称为硬间隔(有硬就有软)最大化。


定义SVM的策略为:


(1)几何间隔最大化;


(2)并且每个样本点的几何间隔大于设最大函数间隔;


可表示为:


整理后:

你会发现成倍的增加w,b对上式没有影响,那么就可以转化为一个等价问题,将


取1;整理后可得:


说到这里了就可以谈一下支持向量的由来:在线性可分情况下,训练数据集的样本点中与分离超平面跄离最近的样本点的实例称为支持向量( support vector )。支持向量是使约束条件式等号成立的点,即


对于二分类yi的取值为:[-1, 1],那么应该有表达式满足上式:


对这两个就是支持向量H1和H2,看下图:


到这里svm的原理应该大概清楚了;下面就是如何求解参数的问题了。


(3)SVM学习算法?(算法)


转为对偶问题(KKT条件成立):对于拉格朗日大家应该很熟悉,用来构建函数求解凸优化问题,svm优化问题引入拉格朗日因子后成了:


根据拉格朗日对偶性,原始问题的对偶问题是拉格朗日函数的极大极小问题:


求最值问题我们最擅长的是求导,那么接下来就手撕一下吧:


可总结为:


先聊到这里吧,接下来的内容:SVM软间隔最大化;SVM核技巧;SVM求解对偶问题的SMO算法;SVM不用提到的拉格朗日求解,使用梯度下降损失函数应该怎么设计;SVM源码:smo算法求解参数 和 使用梯度下降求解参数;更精彩!


本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标人工智能机器学习频道!


本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程