12.支持向量机

觉得有用的话,欢迎一起讨论相互学习~Follow Me

参考资料 斯坦福大学 2014 机器学习教程中文笔记 by 黄海广

12.2 大间距的直观理解- Large Margin Intuition

  • 人们有时将支持向量机看作是大间距分类器。在这一部分,我将介绍其中的含义,这有助于我们直观理解 SVM 模型的假设是什么样的。以下图片展示的是SVM的代价函数:

    最小化SVM代价函数的必要条件

  • 如果你有一个正样本,y=1,则只有在z>=1时代价函数\(cost_1(z)\)才等于0。反之,如果y=0,只有在z<=-1的区间里\(cost_0(z)\)函数值为0。这是 支持向量机 的一个有趣性质。
  • 事实上,如果你有一个正样本y=1,则仅仅要求\(\theta^{T}x\ge0\),就能将该样本恰当分出.类似地,如果你有一个负样本,则仅需要\(\theta^{T}x\le0\)就可以将负例正确分离。
  • 但是,支持向量机的要求更高,对于正样本不仅仅要能正确分开输入的样本,即不仅仅要求\(\theta^{T}x\ge0\)还需要的是比0值大很多,比如大于等于1。对于负样本,SVM也想\(\theta^{T}x\)比0小很多,比如我希望它小于等于-1,这就相当于在支持向量机中嵌入了一个额外的安全因子。或者说安全的间距因子。

    正则化参数C与决策边界与决策间距

  • 假设把C即正则化参数设定为一个很大的常数,那么为了优化整个SVM损失函数需要把损失项降到最小,即会尽量使乘积项为0,这会使其严格满足以下的约束条件:
    \[min\ (C*0+\frac{1}{2}\sum^{n}_{i=1}\theta_j^2)\]
  • 线性可分-决策边界
  • 可以找到一条直线将正样本和负样本完美地划分开,此例中可以找到多条直线将其分开,下图中的 红线,绿线,黑线 都能将图中点很好的分开,当 正则化参数 很大时则边界线的 间距(margin) 就会很大,即会选择下图中的黑线作为边界线。这使得SVM具有良好的鲁棒性,即会尽量使用大的间距去分离。所以SVM也被称为 大间距分类器(Large margin classifier)
  • 当C非常大时,SVM会使用最大的间距将正负样本分开,如下图中的黑线
  • 但是当C非常大时,SVM为了保证大的边距,对异常点非常敏感,此时边界会变为下图中的紫红色直线,如果此时C没有那么大,SVM不会使用那么大的边距,则边界可能还是黑线
  • 当 C 不是非常非常大的时候,它可以忽略掉一些异常点的影响,得到更好的决策界。甚至当你的数据不是线性可分的时候,支持向量机也可以给出好的结果。
  • 回顾 C=1/λ,因此:
    • C 较大时,相当于 λ 较小,可能会导致过拟合,高方差。
    • C 较小时,相当于 λ 较大,可能会导致低拟合,高偏差。

[吴恩达机器学习笔记]12支持向量机2 SVM的正则化参数和决策间距的更多相关文章

  1. [吴恩达机器学习笔记]12支持向量机5SVM参数细节

    12.支持向量机 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考资料 斯坦福大学 2014 机器学习教程中文笔记 by 黄海广 12.5 SVM参数细节 标记点选取 标记点(landma ...

  2. [吴恩达机器学习笔记]12支持向量机3SVM大间距分类的数学解释

    12.支持向量机 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考资料 斯坦福大学 2014 机器学习教程中文笔记 by 黄海广 12.3 大间距分类背后的数学原理- Mathematic ...

  3. [吴恩达机器学习笔记]12支持向量机1从逻辑回归到SVM/SVM的损失函数

    12.支持向量机 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考资料 斯坦福大学 2014 机器学习教程中文笔记 by 黄海广 12.1 SVM损失函数 从逻辑回归到支持向量机 为了描述 ...

  4. [吴恩达机器学习笔记]12支持向量机6SVM总结

    12.支持向量机 觉得有用的话,欢迎一起讨论相互学习~Follow Me 12.6SVM总结 推荐使用成熟的软件包 用以解决 SVM 最优化问题的软件很复杂,且已经有研究者做了很多年数值优化.因此强烈 ...

  5. [吴恩达机器学习笔记]12支持向量机4核函数和标记点kernels and landmark

    12.支持向量机 觉得有用的话,欢迎一起讨论相互学习~Follow Me 12.4 核函数与标记点- Kernels and landmarks 问题引入 如果你有以下的训练集,然后想去拟合其能够分开 ...

  6. 吴恩达机器学习笔记(六) —— 支持向量机SVM

    主要内容: 一.损失函数 二.决策边界 三.Kernel 四.使用SVM (有关SVM数学解释:机器学习笔记(八)震惊!支持向量机(SVM)居然是这种机) 一.损失函数 二.决策边界 对于: 当C非常 ...

  7. 吴恩达机器学习笔记45-使用支持向量机(Using A SVM)

    本篇我们讨论如何运行或者运用SVM. 在高斯核函数之外我们还有其他一些选择,如:多项式核函数(Polynomial Kernel)字符串核函数(String kernel)卡方核函数( chi-squ ...

  8. Coursera-AndrewNg(吴恩达)机器学习笔记——第一周

    一.初识机器学习 何为机器学习?A computer program is said to learn from experience E with respect to some task T an ...

  9. Machine Learning——吴恩达机器学习笔记(酷

    [1] ML Introduction a. supervised learning & unsupervised learning 监督学习:从给定的训练数据集中学习出一个函数(模型参数), ...

随机推荐

  1. Python序列之字符串 (str)

    作者博文地址:http://www.cnblogs.com/spiritman/ Python字符串的常用操作包括以下但不限于以下操作: 字符串的替换.删除.切片.复制.连接.比较.查找.分割等 以下 ...

  2. SQL Server数据库复制

    事务复制 事务复制是一种复制类型,对订阅服务器上应用的初始数据快照,然后当发布服务器上发生数据修改时,将捕获到个别的事务并传播到订阅服务. 事务复制的原理是先将发布服务器数据库中的初始快照发送到各订阅 ...

  3. 引用百度bcebos jar 503问题

    最近使用jeecms管理公司各个站点,关于附件部分采用bos进行上传处理. 在引用bosjar的时候,出现503问题,打断点打印异常堆栈信息,也获取不到.后来使用watch,发现BosClientCo ...

  4. Eclipse添加Jquery和javascript的智能提示

    使用Eclipse写Jquery和Javascript代码的时候,是没有智能提示的.我们可以使用一个插件来解决这个问题. 安装完成后,Eclipse会自动重启.重启之后,我们在项目上右键,   根据自 ...

  5. lintcode-402-连续子数组求和

    [402-连续子数组求和(http://www.lintcode.com/zh-cn/problem/continuous-subarray-sum/) 给定一个整数数组,请找出一个连续子数组,使得该 ...

  6. vim 简单用法

    vim 是一个纯文本编辑器 模式化的编辑器 1:编辑模式2:输入模式3:末行模式 : 具有命令的接口,在末行模式中可以直接的通过命令修改vim编辑器打开的文本文件 模式转换 1:编辑模式—>输入 ...

  7. BPSK相干解调和DBPSK非相干解调误码率仿真

    BPSK相干解调和DBPSK非相干解调误码率仿真 本脚本完成了BPSK和DBPSK两种不同调制方式下的误码率(DBPSK差分相干)仿真, 并和理论曲线进行了对比. 撰写人:*** 最后修改日期:201 ...

  8. liunx vim常用操作命令

    vim常用操作命令 vim abc // 打开该文件,或者新建文件 vim +3 abc // 打开文件并跳转到第三行 vim +/hello //打开文件并跳转到第一次出现hello的位置 vim ...

  9. 51nod 1532 带可选字符的多字符串匹配(位运算)

    题意: 有一个文本串,它的长度为m (1 <= m <= 2000000),现在想找出其中所有的符合特定模式的子串位置.符合特定模式是指,该子串的长度为n (1 <= n <= ...

  10. [JLOI2012]时间流逝 树上高斯消元 概率期望

    题面 题意:(感觉题面写的题意是错的?)有\(n\)种能量不同的圈,设当前拥有的圈的集合为\(S\),则: 1,每天有\(p\)概率失去一个能量最小的圈.特别的,如果\(S = \varnothing ...