线性可分SVM中线性规划问题的化简
在网上找了许多关于线性可分SVM化简的过程,但似乎都不是很详细,所以凭借自己的理解去详解了一下。
线性可分SVM的目标是求得一个超平面(其实就是求w和b),在其在对目标样本的划分正确的基础上,使得到该超平面最近的样本的几何间隔最远。写成线性规划问题即为

其中γ为最近点到超平面的几何间隔,特别的间隔γ^=||w||×几何间隔γ(间隔γ^与几何间隔γ是两种不同的概念),那么我们就可以将约束和条件改写为

而γ^是通过将离超平面最近的样本点代入超平面得到的,即γ^=yi(wxi+b),而对于xi是离超平面最近的一个已知的样本,所以我们可以通过调整w和b来使得y^为一个任意正实数(特别注意不为0,因为对于样本我们是已经得到了结果yi,但是如果y^为0,则与结果yi矛盾),而对于任意的已经确定的w和b我们便可以得到一个确定的γ^的值。即之前的式子γ^=yi(wxi+b),只不过此时,γ^变为了一个确定的值,两边同时除以γ^便得到了1=yi(wxi+b)/y^。而这里γ^=yi(wxi+b)与1=yi(wxi+b)/y^是等价的,因为就像高中所学的直线方程6X+8Y+4=0与3X+4Y+2=0是等价的一样,所以对于任意的正实数γ^都可以划成形如1=yi(wxi+b)/y^的式子。再优化得到1=yi(wxi/γ^+b/γ^)。之前提到了xi是离超平面最近的一个已知的样本,所以对于任意的已知样本带入yi(wx/γ^+b/γ^)都将大于1。而在这里我们用新的w和b代替w/γ^和b/γ^(这里要搞清楚w和b才是变量,γ^是根据变量得到的,而由于对于任意γ^,我们都能在其为1的条件下找到与其不为1时的w和b等价的w和b(当然其他实数也可以),即在γ^=1时就包含了所有可能的解集,所以我们不关心在没替换前γ^是一个多大的一个确定的正实数,这里用新的w和b代替w/γ^和b/γ^其实就相当于使用了一个新的γ^(此时γ^=1),如果你还是不能理解为什么γ^是一个定值,下面一段会从正向解释),所以相对应之前的约束变为了yi(wxi+b)-1>=0,目标函数γ^/||w||我们变为了1/||w||,因为新的w比原来小了一个正实数γ^倍,很简单的分式等价关系,在分母缩小n倍后分子也缩小n倍,则结果不变。
网上还有一种想法是直接确定γ^(离超平面最近样本的间隔)为1或其他正实数,这也是可行的,因为之前有讲到γ^取多少其实不影响结果,但我觉得可能很多人还是理解不了这里的y^为什么是可以是一个定值。我之前提到确定的w和b以及样本xi可以唯一确定γ^,但是反过来如果确定了一个γ和一个样本xi是否能够唯一确定w和b呢?当然显示是不能。还是拿直线方程举例子,如果已知一个点(2,3)带入ax+by+c结果为1,那么2a+3b+c=1结果有多少个呢?显然是无数个{a,b,c}的解集,所以并不能通过确定的γ^来求解确定的w和b。我之前也提到了对于任意确定的w和b算得的γ^式子可以化成1,相反,对于任意确定的在γ^=1的前提下算得的w和b我们通过放大他们的系数可以得到任意的正实数,拿回之前的2a+3b+c=1,其中的一个解集为a=3,b=-2,c=1。将a,b,c都放大两倍变为a=6,b=-4,c=2则得到结果γ^为2,以此类推,对于任意使得γ^为某一正实数的w和b我们都能在γ^=1时找到另一组w和b与之等价,而y^的取值会随着w和b成相同倍数的增加,这里我们的目标函数恰好是γ^/||w||,所以是否将γ^放大成另一个实数并不重要,因为倍数都被约了(这是隐式的,所以目标函数和约束在写出来的时候还是存在差异的,只是结果一样)。所以我们只关心在y^在为一个正实数时,找到那么一个w使得目标函数最大,为了方便起见才取γ^为1,说了这么多其实就是想说明其实γ^取多少并不影响目标结果(影响w的取值是一定的,因为他改变了约束)。
对于求1/||w||最大即为||w||2*1/2最小这两者关系太简单了所以就不多说了,因为都相当于满足约束下求||w||最小。
综上便有了下面这样一个改写了的式子

以上便是博主个人对于化简过程的理解,如有错误或者自己的想法欢迎交流。
(°ー°〃)
线性可分SVM中线性规划问题的化简的更多相关文章
- Support Vector Machine(2):Lagrange Duality求解线性可分SVM的最佳边界
在上篇文章<Support Vector Machine(1):线性可分集的决策边界>中,我们最后得到,求SVM最佳Margin的问题,转化为了如下形式: 到这一步后,我个人又花了很长的时 ...
- opencv3.1线性可分svm例子及函数分析
https://www.cnblogs.com/qinguoyi/p/7272218.html //摘自:http://docs.opencv.org/2.4/doc/tutorials/ml/int ...
- 线性可分SVM完全推导过程
- 线性可分支持向量机--SVM(1)
线性可分支持向量机--SVM (1) 给定线性可分的数据集 假设输入空间(特征向量)为,输出空间为. 输入 表示实例的特征向量,对应于输入空间的点: 输出 表示示例的类别. 线性可分支持向量机的定义: ...
- SVM清晰讲解——线性可分问题
转载作者:liangdas 引言: 1995年Cortes和Vapnik于首先提出了支持向量机(Support Vector Machine),由于其能够适应小样本的分类,分类速度快等特点,性能不差于 ...
- SVM明确的解释1__
线性可分问题
笔者:liangdas 出处:简单点儿,通俗点儿,机器学习 http://blog.csdn.net/liangdas/article/details/44251469 引言: 1995年Cor ...
- svm 之 线性可分支持向量机
定义:给定线性可分训练数据集,通过间隔最大化或等价的求解凸二次规划问题学习获得分离超平面和分类决策函数,称为线性可分支持向量机. 目录: • 函数间隔 • 几何间隔 • 间隔最大化 • 对偶算法 1. ...
- 线性可分支持向量机与软间隔最大化--SVM(2)
线性可分支持向量机与软间隔最大化--SVM 给定线性可分的数据集 假设输入空间(特征向量)为,输出空间为. 输入 表示实例的特征向量,对应于输入空间的点: 输出 表示示例的类别. 我们说可以通过间隔最 ...
- 统计学习:线性可分支持向量机(SVM)
模型 超平面 我们称下面形式的集合为超平面 \[\begin{aligned} \{ \bm{x} | \bm{a}^{T} \bm{x} - b = 0 \} \end{aligned} \tag{ ...
随机推荐
- react react使用css
在react 中使用css有以下几种方法 第一种全局使用 app.js import React from 'react'; import Router from "./router&quo ...
- ionic学习使用笔记(一) 版本更新及创建项目时遇到的问题解决
最近开始用ionic开发项目,虽然去年的时候用ionic 2.0 开发过公司的项目,不过现在的ionic已经升级到了ionic framework 3.0 了.而且还有个 ionic-cli . 使用 ...
- Linux-vim编辑器 常用命令 复制粘贴
Linux-vim编辑器 一.vim三种工作模式 1.1.命令模式 在此模式下,可以使用上.下.左.右键或者 k.j.h.l 命令进行光标移动,还可以对文件内容进行复制.粘贴.替换.删除等操作. 1. ...
- Java-Class-@I:io.swagger.annotation.Api
ylbtech-Java-Class-@I:io.swagger.annotation.Api 1.返回顶部 2.返回顶部 1. package com.ylbtech.api.controlle ...
- Dubbo入门到精通学习笔记(十五):Redis集群的安装(Redis3+CentOS)、Redis集群的高可用测试(含Jedis客户端的使用)、Redis集群的扩展测试
文章目录 Redis集群的安装(Redis3+CentOS) 参考文档 Redis 集群介绍.特性.规范等(可看提供的参考文档+视频解说) Redis 集群的安装(Redis3.0.3 + CentO ...
- 如何在react中实现一个table切换?
废话不说,直接贴代码,供新手参考 <!DOCTYPE html> export default class TabComponent extends Component { constru ...
- netstat -pa --unix >>test.txt
netstat -pa --unix >>test.txt 输出套接字 命名socket信息
- 在Linux下如果要使用接口标志要加什么头文件吗?因为我在使用IFF_UP时会出错,说是未定义
头文件一般放在/usr/include目录下,用grep 'IFF_UP' /usr/include/*.* |less这个命令查找一下在哪个头文件里面有定义. 追问 嗯~这个方法确实可以查找到一 ...
- Java SE(2)
1.this的两种用法:(1)当成员变量和局部变量重名是,可以用关键字this来区分 .this代表对象,代表的是this所在函数所属对象的引用(哪个对象调用了this所在的函数,this就代表哪个对 ...
- JAVAWEB之文件的上传和下载
一.文件的上传: Enctype的属性介绍: 基于表单文件上传的界面简介: 文件上传时服务器端获取不到请求信息的原因及获取请求信息的几种方式: 输入流方式的实现: 实用工具包的实现:要导入fileup ...