SVM之问题形式化
>>>SVM之问题形式化
SVM内容繁多,打算用五篇文章来记述。SVM之问题形式化描述给出SVM的问题描述与基本模型;SVM之对偶问题将SVM求解转换为对偶问题的求解;SVM之核函数描述了SVM引人核函数进行特征向高维映射的过程;SVM之解决线性不可分描述了SVM对线性不可分数据的处理方法;另外,写在SVM之前——凸优化与对偶问题本身与SVM无关,但涉及了SVM优化问题求解的基础,是SVM之对偶问题和SVM之解决线性不可分的阅读前提。需要注意的是:前三篇都是在数据线性可分的情况下进行的,第四篇才给出了解决线性不可分的方法;尽管如此,并不意味这第四篇完全脱离前三篇的整体内容,相反,SVM解决线性不可分方法的形式化描述与线性可分情况无多大差异,所以求解方法也是一样的。
一、线性分类器
对输入的$m$ 个训练样本${{\left\{ {{x}^{i}},{{y}^{i}} \right\}}_{i=1\cdots m}},{{x}^{i}}\in {{\Re }^{n}},{{y}^{i}}\in \{-1,1\}$ ,线性分类器希望找到一个超平面${{w}^{T}}x+b=0$ 将两类样本分开,使得对于样本类别${{y}^{i}}=1$ 的样本${{w}^{T}}{{x}^{i}}+b>0$ ;对于样本类别${{y}^{i}}=-1$的样本${{w}^{T}}{{x}^{i}}+b<0$。这样,超平面${{w}^{T}}x+b=0$便是一个“完美”的分类器。这个“完美”的分类器当然是很任性的,因为她要求数据是要线性可分的,不过在没有明确提出线性不可分的问题之前,暂且随着她的性子,假设数据和她一样“完美”吧!
二、函数间隔与几何间隔
在继续分类器之前,首先引人函数间隔和几何间隔两个概念。
对于线性函数$h(x)={{w}^{T}}x+b$ ,定义第$i$ 个样本到它的函数间隔为:\[{{\hat{\gamma }}^{i}}={{y}^{i}}({{w}^{T}}{{x}^{i}}+b)\]
函数间隔的意义不是很明确直观,但很容易发现它有一个性质:函数间隔随$(w,b)$ 的尺度成比例变换,也就是说如果令$({w}',{b}')=k(w,b)$ ,那么${{{\hat{\gamma }}'}^{i}}={{y}^{i}}({{{w}'}^{T}}{{x}^{i}}+{b}')=k{{\hat{\gamma }}^{i}}$。
另外,定义$m$ 个样本的集合的函数间隔为$\hat{\gamma }=\underset{x}{\mathop{\min }}\,{{\hat{\gamma }}^{i}}$ ,也就是所有样本中函数间隔最小的那个。
几何间隔的意义就明确很多了,就是样本到超平面${{w}^{T}}x+b=0$的几何距离。
点A坐标记为向量${{x}_{A}}$ ,它到平面${{w}^{T}}x+b=0$的投影为点B,点B坐标记为向量${{x}_{B}}$ 。那点A到平面${{w}^{T}}x+b=0$的距离为向量$\overset{\to }{\mathop{BA}}\,$ 的长度。另外平面${{w}^{T}}x+b=0$的单位化的法向量为$\frac{w}{\left\| w \right\|}$ ,所以向量$\overset{\to }{\mathop{BA}}\,$ 的可以表示为${{\gamma }^{A}}\frac{w}{\left\| w \right\|}$,其中${{\gamma }^{A}}$为向量$\overset{\to }{\mathop{BA}}\,$ 的长度,也是点A到平面${{w}^{T}}x+b=0$的几何距离。根据向量${{x}_{A}}$ 、${{x}_{B}}$ 以及 $\overset{\to }{\mathop{BA}}\,$的关系,可以得到${{x}_{B}}={{x}_{A}}-\overset{\to }{\mathop{BA}}\,={{x}_{A}}-\lambda \frac{w}{\left\| w \right\|}$ ,又由于 ${{x}_{B}}$在平面 ${{w}^{T}}x+b=0$上,所以 ${{w}^{T}}{{x}_{B}}+b=0$,俩式联立可以得到点A到平面${{w}^{T}}x+b=0$ 的几何距离为${{\gamma }^{A}}=\frac{1}{\left\| w \right\|}({{w}^{T}}x+b)$。
考虑到样本在平面两侧距离计算结果的正负性,样本$i$ 的几何间隔定义为:\[{{\gamma }^{i}}=\frac{1}{\left\| w \right\|}{{y}^{i}}({{w}^{T}}{{x}^{i}}+b)\]
显然,几何间隔和函数间隔满足:\[{{\gamma }^{i}}=\frac{{{{\hat{\gamma }}}^{i}}}{\left\| w \right\|}\]
同样,定义$m$ 个样本的集合到超平面${{w}^{T}}x+b=0$的几何间隔为\[\gamma =\underset{i}{\mathop{\min }}\,{{\gamma }^{i}}\]
三、最大间隔分类器
如果数据是线性可分的,那么一般存在多组$(w,b)$是的超平面${{w}^{T}}x+b=0$可以将数据正确分类,那么就需要一个标准来从中选取一个最优的。
最大间隔分类器以几何间隔为标准,从中选取离所有样本的集合的几何间隔最大的一个分类超平面作为最优分类超平面,也就是说,这样的超平面使得所有样本的集合到它的几何间隔$\gamma $ 最大化。而\[\gamma =\underset{i}{\mathop{\min }}\,{{\gamma }^{i}}\],换句话说,它在正确分类的前提下,要使得隔离它最近的样本尽可能的离它远,这样的分类平面将两类样本分的更开,保证了分类器更好的泛化性,因为如果分类超平面如果离某一类样本相对较近(就像第一幅图中三条黑线那样),那么分类器在这类样本附近就很可能对新的数据产生错分。可以直观看出,这样的分类超平面几何上大概是与两类样本的“边界”平行,穿过两类样本最中间的那条线,就像第二幅图中红线那样。
现在将思想形式化表示出来。首先,分类器必须对所有训练数据正确分类,也就是说所有样本到超平面几何间隔至少为$\gamma $,其次目标是要是这个其次最大化,这样就可以将其表示为以下优化问题:\[\begin{align}\left\{ \begin{matrix}\underset{w,b,\gamma}{\mathop{\max }}\,\gamma\\\begin{matrix}s.t. & \frac{1}{\left\| w \right\|}{{y}^{i}}({{w}^{T}}{{x}^{i}}+b)\ge \gamma \\\end{matrix} \\\end{matrix} \right.\end{align}\]
根据几何间隔和函数间隔的关系$\gamma =\frac{{\hat{\gamma }}}{\left\| w \right\|}$,上面优化问题可进一步改写为:\[\begin{align}\left\{ \begin{matrix}\underset{w,b,\hat{\gamma }}{\mathop{\max }}\,\frac{{\hat{\gamma }}}{\left\| w \right\|} \\\begin{matrix}s.t. & {{y}^{i}}({{w}^{T}}{{x}^{i}}+b)\ge \hat{\gamma } \\\end{matrix} \\\end{matrix} \right.\end{align}\]
现在观察优化问题$\underset{w,b}{\mathop{\max }}\,\frac{{\hat{\gamma }}}{\left\| w \right\|}$,优化变量为$(w,b)$ ,目标函数为$\frac{{\hat{\gamma }}}{\left\| w \right\|}$,前文已经提到,函数间隔$\hat{\gamma }$ 随$(w,b)$ 的尺度成比例变换,那么现在优化目标函数$\frac{{\hat{\gamma }}}{\left\| w \right\|}$时,对优化变量$(w,b)$ 的任何尺度变换是没有意义的,并不会影响$\frac{{\hat{\gamma }}}{\left\| w \right\|}$的值。由于它们之间的这种关系,我们可以简化问题的求解,对$\hat{\gamma }$和$(w,b)$之一固定,去优化另一个(这个我的理解也比较模糊)。实事上,固定$\hat{\gamma }$会使问题变得更加简单,现在固定$\hat{\gamma }=1$(其他常数也可以),最大化$\frac{{\hat{\gamma }}}{\left\| w \right\|}$ 等价于最小化$\left\| w \right\|$ ,也等价于最小化$\frac{1}{2}{{\left\| w \right\|}^{2}}$ (这样转换是为了后面运算方便)上面的优化问题进一步化为:\[\begin{align}\left\{ \begin{matrix}\underset{w,b}{\mathop{\min }}\,\frac{1}{2}{{\left\| w \right\|}^{2}} \\\begin{matrix}s.t. & {{y}^{i}}({{w}^{T}}{{x}^{i}}+b)\ge 1 \\\end{matrix} \\\end{matrix} \right.\end{align}\]
现在,SVM的基础——最大间隔分类器就形式化为以上优化问题,而且不难发现它还是个凸优化问题,求解很方便。但是,我们并不直接求解这个问题,而是转而求解它的对偶问题,这我个人理解主要是因为转换后的对偶问题具有很好的形式,很容易引人核函数。关于对偶问题下一篇SVM之对偶问题中再写。
SVM之问题形式化的更多相关文章
- 写在SVM之前——凸优化与对偶问题
SVM之问题形式化 SVM之对偶问题 SVM之核函数 SVM之解决线性不可分 >>>写在SVM之前——凸优化与对偶问题 本篇是写在SVM之前的关于优化问题的一点知识,在SVM中会用到 ...
- SVM之解决线性不可分
SVM之问题形式化 SVM之对偶问题 SVM之核函数 >>>SVM之解决线性不可分 写在SVM之前——凸优化与对偶问题 上一篇SVM之核函数介绍了通过计算样本核函数,实际上将样本映射 ...
- SVM之对偶问题
SVM之问题形式化 >>>SVM之对偶问题 SVM之核函数 SVM之解决线性不可分 写在SVM之前——凸优化与对偶问题 前一篇SVM之问题形式化中将最大间隔分类器形式化为以下优化问题 ...
- SVM之核函数
SVM之问题形式化 SVM之对偶问题 >>>SVM之核函数 SVM之解决线性不可分 写在SVM之前——凸优化与对偶问题 上一篇SVM之对偶问题中讨论到,SVM最终形式化为以下优化问题 ...
- 2. SVM线性分类器
在一个线性分类器中,可以看到SVM形成的思路,并接触很多SVM的核心概念.用一个二维空间里仅有两类样本的分类问题来举个小例子.如图所示 和是要区分的两个类别,在二维平面中它们的样本如上图所示.中间的直 ...
- 支持向量机通俗导论(理解SVM的三层境界)
原文链接:http://blog.csdn.net/v_july_v/article/details/7624837 作者:July.pluskid :致谢:白石.JerryLead 出处:结构之法算 ...
- 机器学习基石--学习笔记01--linear hard SVM
背景 支持向量机(SVM)背后的数学知识比较复杂,之前尝试过在网上搜索一些资料自学,但是效果不佳.所以,在我的数据挖掘工具箱中,一直不会使用SVM这个利器.最近,台大林轩田老师在Coursera上的机 ...
- 机器学习——SVM详解(标准形式,对偶形式,Kernel及Soft Margin)
(写在前面:机器学习入行快2年了,多多少少用过一些算法,但由于敲公式太过浪费时间,所以一直搁置了开一个机器学习系列的博客.但是现在毕竟是电子化的时代,也不可能每时每刻都带着自己的记事本.如果可以掏出手 ...
- SVM(支持向量机)算法
第一步.初步了解SVM 1.0.什么是支持向量机SVM 要明白什么是SVM,便得从分类说起. 分类作为数据挖掘领域中一项非常重要的任务,它的目的是学会一个分类函数或分类模型(或者叫做分类器),而支持向 ...
随机推荐
- exynos4412—UART裸板复习
我们通过RS232来做实验. 通过电平转换芯片, 连接至核心板: 即:GPA0_0 GPA0_1 配置引脚为串口专用模式: 然后看 ULCONn [31:0] 0x3 设置串口 ...
- 微信小程序通过api接口将json数据展现到小程序上
实现知乎客户端的一个重要知识前提就是,要知道怎么通过知乎新闻的接口,来把数据展示到微信小程序端上. 那么我们这一就先学习一下,如何将接口获取到的数据展示到微信小程序上. 1.用到的知识点 <1& ...
- 企业SVN版本管理与代码上线方案
1.SVN服务实战 1) 什么是SVN(Subversion)? Svn(subversion)是近年来崛起的非常优秀的版本管理工具,与CVS管理工具一样,SVN是一个跨平台的开源的版本控制系统.Sv ...
- N个点中寻找多个最近两点的计算O(N²)
#include<math.h> #include<stdio.h> #include<stdlib.h> typedef struct point { float ...
- Simple, Poetic, Pithy
源自:Rob Pike points out Simple, Poetic, Pithy Don't communicate by sharing memory, share memory by co ...
- ORB-SLAM(六)MapPoint与Map
地图点可以通过关键帧来构造,也可以通过普通帧构造,但是最终,必须是和关键帧对应的,通过普通帧构造的地图点只是临时被Tracking用来追踪用的. 构造函数(地图点3D坐标及其参考帧): // 参考帧是 ...
- Java 快速排序讲解
快速排序由于排序效率在同为 O(nlogn) 的几种排序方法中效率最高,因此经常被采用.再加上快速排序思想——分治法也确实非常实用,所以 在各大厂的面试习题中,快排总是最耀眼的那个.要是你会的排序算法 ...
- 用wireshark查看 tcpdump 抓取的mysql交互数据
用tcpdump 抓取 mysql客户端与服务器端的交互 1开启tcpdump tcpdump -i eth0 -s 3000 port 3306 -w ~/sql.pcap 先故意输入一个错误的密 ...
- Weka java.lang.reflect.InvocationTargetException
在用Weka导入数据的时候报 java.lang.reflect.InvocationTargetException 错误,Weka运行包没有给出详细的错误信息,无法查到. 直接调试Weka源码,发现 ...
- 40套PSD欧美扁平化网页模板,可二次编辑开发,精品
40套PSD欧美扁平化网页模板,可二次编辑开发,绝对精品,下载地址:百度网盘, https://pan.baidu.com/s/1uMF4MM_3UC2Q6mbyNomLfQ 模板内容预览: 小