SVM

1、什么是SVM?

SVM(Support Vector Machines),一个普通的SVM是一条直线,用来完美划分linearly separable 的两类。但这又不是一条普通的直线,这是无数条可以分类的直线中最完美的,因为它恰好在两个类的中间,距离两个类的点都一样远。而所谓的Support vetor 就是这些离分界线最近的点。如果去掉这些点,直线多半会改变位置,所以说这些vector(点)support(定义了)machine(分类器)。


所以说,我们只要找到最靠近的那些点就可以确定分界线或者 分界面。

2、怎么求SVM?

关于这条直线,我们知道(1)它离两边一样远,(2)最近的距离是到support vector的距离,其他距离只能更远。

于是自然而然可以得到重要表达I. direct representation:

subject to 所有正确归类的苹果和香蕉到boundary的距离都

(可以把margin看作是boundary的函数,并且想要找到使得是使得margin最大化的boundary,而margin(*)这个函数是:输入一个boundary,计算(正确分类的)所有苹果和香蕉中,到boundary的最小距离。)

又有最大又有最小看起来好矛盾。实际上『最大』是对这个整体使用不同boundary层面的最大,『最小』是在比较『点』的层面上的最小。外层在比较boundary找最大的margin,内层在比较点点找最小的距离。

其中距离,说白了就是点到直线的距离;只要定义带正负号的距离,是{苹果+1}面为正{香蕉-1}面为负的距离,互相乘上各自的label,就和谐统一民主富强了。


直接表达虽然清楚但是求解无从下手。做一些简单地等价变换(分母倒上来)可以得到II.canonical representation(敲黑板

subject to 所有苹果和香蕉到boundary的距离

w不过是个定义直线的参数,知道这一步是等价变换出来的表达就可以了。


要得到III. dual representation之前需要大概知道一下拉格朗日乘子法 (method of lagrange multiplier),它是用在有各种约束条件(各种"subject to")下的目标函数,也就是直接可以求导可以引出dual representation(怎么还没完摔)



3、如果苹果和 香蕉不能用直线分割

线性分割的时候我们用到了线性kernel,
这时候,只要我们替换kernel,把目标函数里面的内积替换成新的kernel function 就好了。

4、苹果和香蕉有交集


用松弛变量。


5、如果还有梨


就两两之间做一次SVM。

参考:https://www.zhihu.com/question/21094489

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值