SVM推导
标准最大margin问题
假设data是linear seperable的
优化目标

希望 margin(w),i.e, 最小的点到直线的距离 最大
即是要得到最右的线,它对噪声的鲁棒性最好

得到的分类器很简单,线一侧为x,另一侧为o

预备知识:点到直线的距离
为了推导方便,不再将截距 bias b并入向量w中

点到直线的距离推导

假设 平面方程是

平面方程怎么来的?参考:
http://netedu.xauat.edu.cn/jpkc/netedu/jpkc/gdsx/homepage/5jxsd/51/513/5307/530705.htm
如果不想打开链接,看这个就行了

平面法向量是 w
那么对于

因为x'和x''在平面上,所以有

也自然得到

如何算distance呢
x到平面的距离:将x与平面上的点x'相连,然后计算(x-x')在w方向上的投影就可以了

上面最右一步化简是因为
上面已经写了,x'在直线上,所以有

代入即可。
好,现在得到了点到直线的距离
在高维上说就是 distance to seperating hyperplane

应该不陌生
回到我们的优化目标,橘红色的部分已经OK了

将b从w中拆出来(上面已经说了)
优化目标可以写成
0
根据约束1:分割面可以正确划分每个点,即

也就是 上面相乘的两项总是同号的
所以点到直线的距离

可以写成

优化目标可以写成

对于直线方程,scaling是没关系的

那么我们可以假设

因为上面是更强的条件,那么优化目标的第一个约束条件可以解除

另外,

目标函数变为

还是一个max min优化
下面采用反证法证明 约束条件 等价于


toy example

SVM推导的更多相关文章
- ML-线性 SVM 推导
Max Margin svm 即Suport Vector Machine, 中文意为:支持向量机. 对于二分类问题, 在样本空间中(即便是多维向量, 在空间中可表示为一个点). svm的核心思想就是 ...
- 统计学习方法—SVM推导
目录 SVM 1. 定义 1.1 函数间隔和几何间隔 1.2 间隔最大化 2. 线性可分SVM 2.1 对偶问题 2.2 序列最小最优算法(SMO) 3. 线性不可分SVM 3.1 松弛变量 3.2 ...
- AI面试之SVM推导
SVM现在主流的有两个方法.一个是传统的推导,计算支持向量求解的方法,一个是近几年兴起的梯度下降的方法. 梯度下降方法的核心是使用了hinge loss作为损失函数,所以最近也有人提出的深度SVM其实 ...
- 五、SVM推导过程
SVM 时间复杂度一般为O(N³) 最重要的是推导过程 NIPS(机器学习顶级会议) 如果给定一个训练集,我们的目标是给定一个边界(一条线),离他最近的训练集样本路越宽越好 下面的几张图反映了SVM的 ...
- 1.2 linear SVM 推导
1.将公式中的distance具体化 将$w_0$单独抽出作为$b$,$w=(w_1,...,w_n),x=(x_1,...,x_n)$ 则分割平面为:$w^Tx+b=0$ A.证明w为法向量 ...
- 支持向量机SVM推导
样本(\(x_{i}\),\(y_{i}\))个数为\(m\): \[\{x_{1},x_{2},x_{3}...x_{m}\} \] \[\{y_{1},y_{2},y_{3}...y_{m}\} ...
- [ML从入门到入门] 支持向量机:从SVM的推导过程到SMO的收敛性讨论
前言 支持向量机(Support Vector Machine,SVM)在70年代由苏联人 Vladimir Vapnik 提出,主要用于处理二分类问题,也就是研究如何区分两类事物. 本文主要介绍支持 ...
- 机器学习算法 --- SVM (Support Vector Machine)
一.SVM的简介 SVM(Support Vector Machine,中文名:支持向量机),是一种非常常用的机器学习分类算法,也是在传统机器学习(在以神经网络为主的深度学习出现以前)中一种非常牛X的 ...
- SVM个人学习总结
SVM个人学习总结 如题,本文是对SVM学习总结,主要目的是梳理SVM推导过程,以及记录一些个人理解. 1.主要参考资料 [1]Corres C. Support vector networks[J] ...
随机推荐
- 如何扩展大规模Web网站的性能?
Reduce Data广告服务网站如何扩展到每天300K QPS请求?分享经验如下: 1. 为大规模设计,广告服务平台从一开始增长就很惊人,因此,系统开始就为大规模设计,系统为水平和垂直伸缩扩展. 2 ...
- EF-CodeFirst-表关系-延迟/贪婪加载
表关系建立: http://blog.csdn.net/niewq/article/details/17232321 一对多: namespace LckLib.EF.V6.Models { publ ...
- JavaScript高级程序设计24.pdf
Element类型 Element类型用于表现XML或HTML元素,提供对元素标签名.子节点及特性的访问,它具有以下特征 nodeType的值为1: nodeName的值为元素的标签名: nodeVa ...
- opencv Installation in Linux and hello world
http://opencv.org/quickstart.html Installation in Linux These steps have been tested for Ubuntu 10.0 ...
- 微信开发第4章 通过accesstoken获取用户标签管理
通过access_token获取用户标签管理: 1.获取标签列表 调用接口为: http请求方式:GET(请使用https协议) https://api.weixin.qq.com/cgi-bin/t ...
- (int),Convert.ToInt32(),Int32.Parse(),Int32.TryParsed()的用法总结
1 (int) 强制转型为整型. 当将long,float,double,decimal等类型转换成int类型时可采用这种方式. double dblNum = 20; int intDblNum = ...
- jquerymobile知识点:实现toolbar下方显示,自定义图标!
css: .nav-glyphish-example .ui-btn .ui-btn-inner { padding-top: 40px !important; } .nav-glyphish-exa ...
- 【转】android的startActivityForResult学习心得
http://blog.csdn.net/yanzi1225627/article/details/7800529 从昨晚到现在终于调试通了一个startActivityForResult的例子,网上 ...
- getViewById和getLayoutInflater().inflate的用法
getViewById和getLayoutInflater().inflate得用法 1.什么是LayoutInflaterThis class is used to instantiate layo ...
- PHP安全设置
1.register_globals(全局变量注册开关) 2.magic_quotes_gpc(魔术引号开关) 3.magic_quotes_runtime(魔术引号开关) 4.magic_quote ...