12.支持向量机

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

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

12.3 大间距分类背后的数学原理- Mathematics Behind Large Margin classification

向量内积

  1. 假设有两个向量\(u=\begin{bmatrix}u_1\\u_2\\ \end{bmatrix}\),向量\(v=\begin{bmatrix}v_1\\v_2\\ \end{bmatrix}\),其中向量的内积表示为\(u^Tv\).假设\(u_1\)表示为u在坐标轴横轴上的投影,而\(u_2\)表示为u在坐标轴纵轴上的投影,则向量u的欧几里得长度可表示为\(\parallel u \parallel\) , 且有\(\parallel u \parallel=\sqrt{u_1^{2}+u_2^{2}}\)
  2. 对于向量的内积\(u^{T}v\) ,可以视为 v向量在u向量上的投影p乘以u向量的长度,这两者都为实数,且当v向量的投影与u向量同方向时,p取正号,否则p取负号 即有式子 \[u^{T}v=P * \parallel u \parallel=u_1v_1+u_2v_2\]

    向量内积研究SVM目标函数

  • 为了更容易分析问题只保留了损失函数的后半部分而去掉了C及其乘积项。 ,原始损失函数如下图:
  • 为简化起见,忽略掉截距,设置损失函数中参数\(\theta_0\)为0,设置特征数n=2. ,则简化后的式子可写为:
  • 因此可以认为SVM的目的就是最小化向量\(\theta\) 范数的平方或者说是长度的平方

    \(\theta^{T}x\)的意义

  • 给定参数向量 θ 给定一个样本x, 计算其二者的乘积,这其中的含义是什么? 对于\(\theta^{T}x\)其相当于向量内积\(u^{T}v\)

  1. 首先,对于训练样本\(x^{(i)}\),其在x轴上的取值为\(x^{(i)}_{1}\),其在y轴上的取值为\(x^{(i)}_{2}\) ,此时 将其视为始于原点,终点位于训练样本的向量
  2. 然后将参数 \(\theta\) 也视为向量且其在横轴上的投影为 \(\theta_1\) ,其在纵轴上的投影为 \(\theta_2\)
  3. 使用之前的方法,将训练样本投影到参数向量 θ,使用 \(p_{(i)}\)来表示第 i 个训练样本在参数向量\(\theta\)上的投影。 即有 \[\theta^{T}x^{(i)}=p_{(i)}\parallel \theta\ \parallel=\theta_1x_1^{(i)}+\theta_2x_2^{(i)}\]
  4. \(x_{(i)}\)代表从原点出发连接到第i个样本点的向量,是可正可负的,分别表示正样本和负样本;\(p^{(i)}\)表示样本向量\(x_{(i)}\)到参数向量\(\theta\)上的投影,其也是可正可负的,同方向为正负方向为负对于SVM中\(\theta^{T}x^{(i)}\ge1或者\theta^{T}x^{(i)}\le-1\)的约束也可以被 \(p^{(i)}x\ge1\)这个约束所代替

    从\(\theta^{T}x\)到大间距

  • 首先为方便起见设置 \(\theta_0=0\) ,且只选取两个特征,即\(\theta_1 和 \theta_2\) ,则参数\(\theta\) 可以表示成一条过原点的直线,且 决策界 与\(\theta\)直线垂直。
  • 反证法 如下图所示(1),y轴右边的表示正样本,而y轴左边的表示负样本,蓝线表示参数\(\theta\),绿线表示决策界 ,很明显这条决策界很不好,因为其与正负样本的间距太小了。 通过将样本投影到\(\theta\)上可以得到p,此时正负样本的||p||都很小,根据SVM的公式||p|| * ||\(\theta\)||>=1,则其必须使||\(\theta\)||很大才能满足条件,这和目标函数希望找到一个小的参数\(\theta\)的目的是矛盾的,这表明这并不是一条好的决策界
  • 而图(2)中x在\(\theta\)的投影p就相对的大一些,这样在满足公式\(||p|| * ||\theta||>=1\)需要的||\(\theta\)||就会小一些,这和SVM的优化目标是一致的。所以 好的SVM的优化结果中,决策界的间距一定比较大

[吴恩达机器学习笔记]12支持向量机3SVM大间距分类的数学解释的更多相关文章

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

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

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

    12.支持向量机 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考资料 斯坦福大学 2014 机器学习教程中文笔记 by 黄海广 12.2 大间距的直观理解- Large Margin I ...

  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. 吴恩达机器学习103:SVM之大间隔分类器的数学原理

    1.向量内积: (1)假设有u和v这两个二维向量:,接下来看一下u的转置乘以v的结果,u的转置乘以v也叫做向量u和向量v的内积,u是一个二维向量,可以将其在图上画出来,如下图所示向量u: 在横轴上它的 ...

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

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

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

    一.逻辑回归问题(分类问题) 生活中存在着许多分类问题,如判断邮件是否为垃圾邮件:判断肿瘤是恶性还是良性等.机器学习中逻辑回归便是解决分类问题的一种方法.二分类:通常表示为yϵ{0,1},0:&quo ...

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

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

随机推荐

  1. [笔记] postgresql 流复制(streaming replication)

    基本环境说明: os:FreeBSD 9.3 postgresql version: master:192.168.56.101 standby:192.168.56.102 安装过程略,基于pkg包 ...

  2. request.quest/query_string/params/body等方法介绍

    假设url:http://192.168.1.111:8080/api/cluster/group?wzd=111&abc=cc 方法类型:POST,body是{"name" ...

  3. 进击的SDN

    SDN是什么? 不再是OSI七层模型,全新的SDN三层模型. 起源于斯坦福大学博士生领导的一个项目Ethane:通过一个集中式控制器(NOX),网络管理员可以定义基于网络流的控制策略,并将这个策略用于 ...

  4. C/C++学习计划

    学习内容:C语言程序设计精髓/计算机程序设计(C++) 学习理由:基础比较薄弱,想先打好基础. 时间安排:每天学习两课时. mooc地址:http://www.icourse163.org/home. ...

  5. lintcode-442-实现 Trie

    442-实现 Trie 实现一个 Trie,包含 insert, search, 和 startsWith 这三个方法. 注意事项 你可以假设所有的输入都是小写字母a-z. 样例 insert(&qu ...

  6. IDEA换行CRLF, LF, CR的解释和默认设置

    在window下开发有一个大坑,就是换行默认是CRLF,也就是回车换行,但是Linux下只有换行LF,这样代码提交后,会出现编译问题,所以最好的办法是在IDEA下设置默认为LF. 首先我们先介绍CRL ...

  7. docker-py execute echo无效

    错误写法: cli.execute('9b2606a50304','echo "bibo">/tmp/1.txt')   争取写法: cli.execute('9b2606a ...

  8. 第160天:Http协议的详细总结

    一.HTTP协议 超文本传输协议(HyperText Transfer Protocol),缩写HTTP.通过HTTP或者HTTPS协议请求的资源由统一资源标识符(Uniform Resource I ...

  9. bzoj1007-水平可见直线

    题目 在平面直角坐标系上以\(y=kx+b\)的形式给出\(n (n\le 50000)\)条直线,求从无限高的地方能看到多少条直线. 分析 举几个例子发现我们要求的直线组成一个下凸的形状.所以我们只 ...

  10. 【bzoj5028】小Z的加油店 扩展裴蜀定理+差分+线段树

    题目描述 给出 $n$ 个瓶子和无限的水,每个瓶子有一定的容量.每次你可以将一个瓶子装满水,或将A瓶子内的水倒入B瓶子中直到A倒空或B倒满.$m$ 次操作,每次给 $[l,r]$ 内的瓶子容量增加 $ ...