SVM推导
2016-07-25 15:50
281 查看
标准最大margin问题
假设data是linear seperable的
优化目标
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725150140247-258115824.png)
希望 margin(w),i.e, 最小的点到直线的距离 最大
即是要得到最右的线,它对噪声的鲁棒性最好
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725152415059-54178593.png)
得到的分类器很简单,线一侧为x,另一侧为o
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725150436200-987605467.png)
预备知识:点到直线的距离
为了推导方便,不再将截距 bias b并入向量w中
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725150328278-1288299393.png)
点到直线的距离推导
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725150705544-684113329.png)
假设 平面方程是
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725150730138-1749237241.png)
平面方程怎么来的?参考:
http://netedu.xauat.edu.cn/jpkc/netedu/jpkc/gdsx/homepage/5jxsd/51/513/5307/530705.htm
如果不想打开链接,看这个就行了
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725151332247-220066507.png)
平面法向量是 w
那么对于
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725151529403-715200404.png)
因为x'和x''在平面上,所以有
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725151601856-851499511.png)
也自然得到
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725151649263-923353212.png)
如何算distance呢
x到平面的距离:将x与平面上的点x'相连,然后计算(x-x')在w方向上的投影就可以了
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725151730825-875501635.png)
上面最右一步化简是因为
上面已经写了,x'在直线上,所以有
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725152109700-1869841108.png)
代入即可。
好,现在得到了点到直线的距离
在高维上说就是 distance to seperating hyperplane
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725152256513-1228598340.png)
应该不陌生
回到我们的优化目标,橘红色的部分已经OK了
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725152352216-1312871082.png)
将b从w中拆出来(上面已经说了)
优化目标可以写成
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725153132200-993051819.png)
0
根据约束1:分割面可以正确划分每个点,即
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725152801809-2000621789.png)
也就是 上面相乘的两项总是同号的
所以点到直线的距离
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725153712747-1568521124.png)
可以写成
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725153051872-503704124.png)
优化目标可以写成
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725153741466-573908191.png)
对于直线方程,scaling是没关系的
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725153234044-1982725963.png)
那么我们可以假设
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725153856731-1806237923.png)
因为上面是更强的条件,那么优化目标的第一个约束条件可以解除
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725153925700-1353608805.png)
另外,
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725154245325-29243777.png)
目标函数变为
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725154302325-185669114.png)
还是一个max min优化
下面采用反证法证明 约束条件 等价于
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725154450403-1575652407.png)
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725154512575-1846863318.png)
toy example
假设data是linear seperable的
优化目标
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725150140247-258115824.png)
希望 margin(w),i.e, 最小的点到直线的距离 最大
即是要得到最右的线,它对噪声的鲁棒性最好
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725152415059-54178593.png)
得到的分类器很简单,线一侧为x,另一侧为o
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725150436200-987605467.png)
预备知识:点到直线的距离
为了推导方便,不再将截距 bias b并入向量w中
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725150328278-1288299393.png)
点到直线的距离推导
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725150705544-684113329.png)
假设 平面方程是
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725150730138-1749237241.png)
平面方程怎么来的?参考:
http://netedu.xauat.edu.cn/jpkc/netedu/jpkc/gdsx/homepage/5jxsd/51/513/5307/530705.htm
如果不想打开链接,看这个就行了
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725151332247-220066507.png)
平面法向量是 w
那么对于
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725151529403-715200404.png)
因为x'和x''在平面上,所以有
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725151601856-851499511.png)
也自然得到
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725151649263-923353212.png)
如何算distance呢
x到平面的距离:将x与平面上的点x'相连,然后计算(x-x')在w方向上的投影就可以了
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725151730825-875501635.png)
上面最右一步化简是因为
上面已经写了,x'在直线上,所以有
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725152109700-1869841108.png)
代入即可。
好,现在得到了点到直线的距离
在高维上说就是 distance to seperating hyperplane
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725152256513-1228598340.png)
应该不陌生
回到我们的优化目标,橘红色的部分已经OK了
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725152352216-1312871082.png)
将b从w中拆出来(上面已经说了)
优化目标可以写成
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725153132200-993051819.png)
0
根据约束1:分割面可以正确划分每个点,即
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725152801809-2000621789.png)
也就是 上面相乘的两项总是同号的
所以点到直线的距离
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725153712747-1568521124.png)
可以写成
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725153051872-503704124.png)
优化目标可以写成
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725153741466-573908191.png)
对于直线方程,scaling是没关系的
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725153234044-1982725963.png)
那么我们可以假设
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725153856731-1806237923.png)
因为上面是更强的条件,那么优化目标的第一个约束条件可以解除
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725153925700-1353608805.png)
另外,
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725154245325-29243777.png)
目标函数变为
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725154302325-185669114.png)
还是一个max min优化
下面采用反证法证明 约束条件 等价于
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725154450403-1575652407.png)
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725154512575-1846863318.png)
toy example
![](https://images2015.cnblogs.com/blog/724691/201607/724691-20160725154833122-1917282030.png)
相关文章推荐
- php笔记
- Qt中调用OpenCV函数库时Crashed问题的解决。
- Android Studio文件名颜色代表的意思
- 【杭电】[5363]Key Set
- yii2中sphinx搜索 多条件选择搜索
- android ListView 嵌套scrollView 自适应高度
- VS2013 GIT 克隆远程仓库
- sass中 混合宏 VS 继承 VS 占位符 各自的使用时机和特点
- Xcode添加库文件framework (转)
- 66.You notice that the performance of the database has degraded because of frequent checkpoints. Whi
- lintcode backpack 背包问题
- linux jenkins添加windows节点,实现自动化部署
- 杭电1088
- 马哥教育面授班20-2第一周学习笔记4
- c#学习——判断字符为非法字符
- hdu1200-二维数组问题
- BZOJ 3831
- 【Android】 基础知识(一) --Android Studio使用技巧(3)
- cmake的使用教程(linux版)(一)
- MVC分页之MvcPager使用详解