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. 自我介绍for软件工程课程

    石家庄铁道大学学生,正在学习软件工程课程. 对于软件工程课程,没什么太大的希望.度了一下,发现软件工程课程近年来比较脱节,这次用新课本不知道效果怎么样.嗯,等课本到手看看再说吧. 自己的目标:我希望能 ...

  2. 【技术向】rainmeter的设计与发现

    我们在大学期间所学的那点代码知识还远远不够,于是我就自己寻找到了一款简单易懂的软件,来丰富我的代码知识. 这款软件叫rainmeter,中文叫做雨滴,是一款可以修改桌面的软件.它可以将桌面上更改出硬盘 ...

  3. 期中HTML代码及技术博客

      <!DOCTYPE html>   <html lang="en">   <head>   <meta charset="U ...

  4. SSH 框架的心得

    使用SSH框架做完了一个普通网站的前后台项目,成热写点心得,免得以后再入坑.其中使用 Strust2  2.3.33 + Spring 4.3.9 + Hibernate 5.2.10 eclipse ...

  5. NFS 它的目的就是想让不同的机器、不同的作业系统可以彼此分享个别的档案啦

    NFS即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源.在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件, ...

  6. jdbc 5.0

    1.事务 事务将单个SQL语句或一组SQL语句视为一个逻辑单元,如果任何语句失败,整个事务将失败. jdbc的MySQL驱动程序中的事务默认是自动提交. 默认情况下,每个SQL语句在完成后都会提交到数 ...

  7. 1st 英文文章词频统计

    英文文章词频统计: 功能:统计一篇英文文章的单词总数及出现频数并输出,之后排序,输出频数前十的单词及其频数. 实现方法:使用C语言,用fopen函数读入txt文件,fscanf函数逐个读入单词,结构体 ...

  8. 微信小程序测试的策略和注意事项

    一.测试前准备(环境搭建) 1.前端页面 微信Web开发者工具安装.授权测试用的微信号可预览和调试小程序...可参考此文: 微信Web开发者工具-下载.安装和使用图解 2.管理后台 配置内网测试服务器 ...

  9. Windows下多线程编程(一)

    前言 熟练掌握Windows下的多线程编程,能够让我们编写出更规范多线程代码,避免不要的异常.Windows下的多线程编程非常复杂,但是了解一些常用的特性,已经能够满足我们普通多线程对性能及其他要求. ...

  10. PDO笔记

    <?php/* * 查询操作主要是PDO::query().PDO::exec().PDO::prepare().PDO::query()主要是用于有记录结果返回的操作,特别是SELECT操作, ...