>>>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. tp js结合时间戳

    $(document).ready(function(){ $.extend({ show:function(){ } }); setInterval("show()",1000) ...

  2. Mac下PHP的环境搭建

    * 前段时间手欠 ... 入手了一个二手的Macbook pro ! 配置挺高的 16款13寸的基本顶配了 ... 只差 硬盘不是1T的 ... 可以脑补一下配置了* 话说 不是所有程序猿都说 每个程 ...

  3. delphi 2010以上 安装 第三方控件

    delphi-“can't be installed because it is not a design time package. 一定要先装 dcl*.dpk ----------------- ...

  4. Delphi Math单元函数

    本文转至http://blog.sina.com.cn/s/blog_976ba8a501010vvf.html 这个单元包含高性能的算术.三角.对数.统计和金融方面的计算及FPU程序函数用于补充De ...

  5. Linux上搭建svn资源库

    一.安装 centos上安装 使用命令svn  --version查看是否安装过svn: 如果出现  bash: svn: command not found  则显示没有安装 可以使用 yum in ...

  6. QWT编译与配置-Windows/Linux环境

    QWT编译与配置-Windows/Linux环境 QWT和FFTW两种开源组件是常用的工程软件支持组件,QWT可以提供丰富的绘图组件功能,FFTW是优秀数字波形分析软件.本文使用基于LGPL版权协议的 ...

  7. MATLAB数学实验总结

    L1 MATLAB 基础知识 P6 表1-3 数据显示格式 format rat format long P20 表2-5 常用的矩阵函数 zeros(m,n) %零阵 eye(n) %单位阵 one ...

  8. mybatis入门(三):mybatis的基础特性

    mybatis的知识点: 1.mybatis和hibernate本质区别和应用场景 hibernate:是一个标准的ORM框架(Ojbect relation mapper对象关系映射).入门门槛较高 ...

  9. CLR via c#读书笔记六:参数

    注:书本第9单参数 CLR默认所有方法参数都传值.引用本身是值引的,意味左方法能修改对象,而调用都能看到这些修改.值类型,传的是实例的一个副本,所以调用者不受影响. (和以前理解的不一样.默认都是传值 ...

  10. Java String 字符串类细节探秘

    一. 字符串基本知识要点 字符串类型String是Java中最常用的引用类型.我们在使用Java字符串的时候,通常会采用两种初始化的方式:1. String str = "Hello Wor ...