>>>SVM之问题形式化

   SVM之对偶问题

   SVM之核函数

   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之问题形式化的更多相关文章

  1. 写在SVM之前——凸优化与对偶问题

    SVM之问题形式化 SVM之对偶问题 SVM之核函数 SVM之解决线性不可分 >>>写在SVM之前——凸优化与对偶问题 本篇是写在SVM之前的关于优化问题的一点知识,在SVM中会用到 ...

  2. SVM之解决线性不可分

    SVM之问题形式化 SVM之对偶问题 SVM之核函数 >>>SVM之解决线性不可分 写在SVM之前——凸优化与对偶问题 上一篇SVM之核函数介绍了通过计算样本核函数,实际上将样本映射 ...

  3. SVM之对偶问题

    SVM之问题形式化 >>>SVM之对偶问题 SVM之核函数 SVM之解决线性不可分 写在SVM之前——凸优化与对偶问题 前一篇SVM之问题形式化中将最大间隔分类器形式化为以下优化问题 ...

  4. SVM之核函数

    SVM之问题形式化 SVM之对偶问题 >>>SVM之核函数 SVM之解决线性不可分 写在SVM之前——凸优化与对偶问题 上一篇SVM之对偶问题中讨论到,SVM最终形式化为以下优化问题 ...

  5. 2. SVM线性分类器

    在一个线性分类器中,可以看到SVM形成的思路,并接触很多SVM的核心概念.用一个二维空间里仅有两类样本的分类问题来举个小例子.如图所示 和是要区分的两个类别,在二维平面中它们的样本如上图所示.中间的直 ...

  6. 支持向量机通俗导论(理解SVM的三层境界)

    原文链接:http://blog.csdn.net/v_july_v/article/details/7624837 作者:July.pluskid :致谢:白石.JerryLead 出处:结构之法算 ...

  7. 机器学习基石--学习笔记01--linear hard SVM

    背景 支持向量机(SVM)背后的数学知识比较复杂,之前尝试过在网上搜索一些资料自学,但是效果不佳.所以,在我的数据挖掘工具箱中,一直不会使用SVM这个利器.最近,台大林轩田老师在Coursera上的机 ...

  8. 机器学习——SVM详解(标准形式,对偶形式,Kernel及Soft Margin)

    (写在前面:机器学习入行快2年了,多多少少用过一些算法,但由于敲公式太过浪费时间,所以一直搁置了开一个机器学习系列的博客.但是现在毕竟是电子化的时代,也不可能每时每刻都带着自己的记事本.如果可以掏出手 ...

  9. SVM(支持向量机)算法

    第一步.初步了解SVM 1.0.什么是支持向量机SVM 要明白什么是SVM,便得从分类说起. 分类作为数据挖掘领域中一项非常重要的任务,它的目的是学会一个分类函数或分类模型(或者叫做分类器),而支持向 ...

随机推荐

  1. python神坑系列之深浅拷贝

    深浅拷贝 1.注意在拷贝中只有使用了.deepcopy方法才能进行深度拷贝!其余的一律是浅拷贝 #深拷贝import copy lst = copy.deepcopy(lst1)  浅拷贝: 拷贝的是 ...

  2. 如何制作 Ubuntu 系统的 USB 启动盘

    下载 Ubuntu 打开 http://mirrors.ustc.edu.cn 获取安装镜像 --> 获取 ISO 刻录 Ubuntu 到 U 盘 打开 http://rufus.akeo.ie ...

  3. sas的使用

    1.建表 /*************************************/ /* create the second input data set */ /*************** ...

  4. Linux下安装Nginx并实现socket代理

    nginx可以使用各平台的默认包来安装,本文是介绍使用源码编译安装,包括具体的编译参数信息. 正式开始前,编译环境gcc g++ 开发库之类的需要提前装好,这里默认你已经装好. ububtu平台编译环 ...

  5. OpenCV 3.2 Tracking 物体跟踪

    跟踪就是在连续视频帧中定位物体,通常的跟踪算法包括以下几类: 1. Dense Optical Flow 稠密光流 2. Sparse Optical Flow 稀疏光流 最典型的如KLT算法(Kan ...

  6. Express 总结

    Express Express提供了一个轻量级模块,把nodejs的http功能封装在一个简单易用的接口中.Express也扩展了http模块的功能,能轻松处理服务器的路由.响应.cookie和HTT ...

  7. explain获得使用的key的数据

    bool Explain_join::explain_key_and_len() { if (tab->ref.key_parts) return explain_key_and_len_ind ...

  8. .net backend return json string , used by frontend

    伪代码: backend: public string GetJson() { var lst = xxxLst; var obj = Json(lst);return new JavaScriptS ...

  9. 「知识学习」二分图的最大匹配、完美匹配和匈牙利算法(HDU-2063)

    定义 如果一个图\((E,V)\)的顶点集\(E\)能够被能够被分成两个不相交的集合\(X,Y\),且每一条边都恰连接\(X,Y\)中的各一个顶点,那么这个图就是一个二分图. 容易得知,它就是不含有奇 ...

  10. 为什么测试人员必须掌握Linux?

    相信点进来的小伙伴不是对Linux感兴趣就是对测试感兴趣了,也希望本文可以帮助之前接触过Linux的小伙伴找到继续坚持学习下去的动力,之前没接触过Linux的小伙伴也能找到开始学习Linux的兴趣. ...