>>>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. 使用ntp协议同步本地时间(C语言)

    使用ntp协议同步本地时间 同步服务器使用的东北大学网络授时服务:ntp.neu.edu.cn更多ntp服务器 http://www.ntp.org.cn/ 源代码来自网络,经本人精简ntp部分,供大 ...

  2. wordpress网站程序漏洞修复办法

    近日wordpress被爆出高危的网站漏洞,该漏洞可以伪造代码进行远程代码执行,获取管理员的session以及获取cookies值,漏洞的产生是在于wordpress默认开启的文章评论功能,该功能在对 ...

  3. mac+win10:UEFI分区方式下安装windows 10

    小编,最近通过在远景论坛上寻找教程--安装双系统(win10+mac os).经过一天努力,成功安装win10.为此,特地分享给各位正在需求教程的朋友,我在UEFI分区方式下安装windows 10的 ...

  4. vuetify.js框架 下拉框数据改变DOM原数据未清除

    今天遇到一个奇怪的bug 需求很简单,就是将“引擎能力”下拉框选中的值作为筛选条件传入到“样本类型”下拉框中,默认“样本类型”下拉框显示所有样本类型 看图: 如图所示,功能很简单. 其实还是对vuet ...

  5. 20145202马超《网络对抗》Exp7 网络欺诈技术防范

    本实践的目标理解常用网络欺诈背后的原理,以提高防范意识,并提出具体防范方法.具体有(1)简单应用SET工具建立冒名网站(2)ettercap DNS spoof(3)结合应用两种技术,用DNS spo ...

  6. Java线程和多线程(十二)——线程池基础

    Java 线程池管理多个工作线程,其中包含了一个队列,包含着所有等待被执行的任务.开发者可以通过使用ThreadPoolExecutor来在Java中创建线程池. 线程池是Java中多线程的一个重要概 ...

  7. HDU 2242 考研路茫茫——空调教室

    考研路茫茫——空调教室 http://acm.hdu.edu.cn/showproblem.php?pid=2242 分析: 树形dp,删边. 代码: #include<cstdio> # ...

  8. 抽样分布(2) t分布

    定义 t分布 设X ~ N(0,1),Y ~ χ2(n),且X,Y相互独立,则称随机变量 服从自由度为n的t分布(学生氏分布) 记为 t~t(n),其概率密度为 由于tn(x)是偶函数,其图形关于y轴 ...

  9. 拼接index

    import MySQLdb import sys db = MySQLdb.connect(host="127.0.0.1", # your host, usually loca ...

  10. Linux命令应用大词典-第30章 审计系统

    30.1 auditctl:控制内核的审计系统 30.2 aureport:生成审计信息报表 30.3 ausearch:搜索审计记录 30.4 autrace:跟踪指定进程 30.5 audit-v ...