[吴恩达机器学习笔记]12支持向量机3SVM大间距分类的数学解释
12.支持向量机
觉得有用的话,欢迎一起讨论相互学习~Follow Me
参考资料 斯坦福大学 2014 机器学习教程中文笔记 by 黄海广
12.3 大间距分类背后的数学原理- Mathematics Behind Large Margin classification
向量内积
- 假设有两个向量\(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}}\)

对于向量的内积\(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\)


- 首先,对于训练样本\(x^{(i)}\),其在x轴上的取值为\(x^{(i)}_{1}\),其在y轴上的取值为\(x^{(i)}_{2}\) ,此时 将其视为始于原点,终点位于训练样本的向量
- 然后将参数 \(\theta\) 也视为向量且其在横轴上的投影为 \(\theta_1\) ,其在纵轴上的投影为 \(\theta_2\)
- 使用之前的方法,将训练样本投影到参数向量 θ,使用 \(p_{(i)}\)来表示第 i 个训练样本在参数向量\(\theta\)上的投影。 即有 \[\theta^{T}x^{(i)}=p_{(i)}\parallel \theta\ \parallel=\theta_1x_1^{(i)}+\theta_2x_2^{(i)}\]

\(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大间距分类的数学解释的更多相关文章
- [吴恩达机器学习笔记]12支持向量机5SVM参数细节
12.支持向量机 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考资料 斯坦福大学 2014 机器学习教程中文笔记 by 黄海广 12.5 SVM参数细节 标记点选取 标记点(landma ...
- [吴恩达机器学习笔记]12支持向量机2 SVM的正则化参数和决策间距
12.支持向量机 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考资料 斯坦福大学 2014 机器学习教程中文笔记 by 黄海广 12.2 大间距的直观理解- Large Margin I ...
- [吴恩达机器学习笔记]12支持向量机1从逻辑回归到SVM/SVM的损失函数
12.支持向量机 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考资料 斯坦福大学 2014 机器学习教程中文笔记 by 黄海广 12.1 SVM损失函数 从逻辑回归到支持向量机 为了描述 ...
- [吴恩达机器学习笔记]12支持向量机6SVM总结
12.支持向量机 觉得有用的话,欢迎一起讨论相互学习~Follow Me 12.6SVM总结 推荐使用成熟的软件包 用以解决 SVM 最优化问题的软件很复杂,且已经有研究者做了很多年数值优化.因此强烈 ...
- [吴恩达机器学习笔记]12支持向量机4核函数和标记点kernels and landmark
12.支持向量机 觉得有用的话,欢迎一起讨论相互学习~Follow Me 12.4 核函数与标记点- Kernels and landmarks 问题引入 如果你有以下的训练集,然后想去拟合其能够分开 ...
- 吴恩达机器学习103:SVM之大间隔分类器的数学原理
1.向量内积: (1)假设有u和v这两个二维向量:,接下来看一下u的转置乘以v的结果,u的转置乘以v也叫做向量u和向量v的内积,u是一个二维向量,可以将其在图上画出来,如下图所示向量u: 在横轴上它的 ...
- 吴恩达机器学习笔记(六) —— 支持向量机SVM
主要内容: 一.损失函数 二.决策边界 三.Kernel 四.使用SVM (有关SVM数学解释:机器学习笔记(八)震惊!支持向量机(SVM)居然是这种机) 一.损失函数 二.决策边界 对于: 当C非常 ...
- Coursera-AndrewNg(吴恩达)机器学习笔记——第三周
一.逻辑回归问题(分类问题) 生活中存在着许多分类问题,如判断邮件是否为垃圾邮件:判断肿瘤是恶性还是良性等.机器学习中逻辑回归便是解决分类问题的一种方法.二分类:通常表示为yϵ{0,1},0:&quo ...
- 吴恩达机器学习笔记45-使用支持向量机(Using A SVM)
本篇我们讨论如何运行或者运用SVM. 在高斯核函数之外我们还有其他一些选择,如:多项式核函数(Polynomial Kernel)字符串核函数(String kernel)卡方核函数( chi-squ ...
随机推荐
- Python-2.7 配置tab自动补全功能
作者博文地址:http://www.cnblogs.com/spiritman/ 之前一直使用shell编程,习惯了shell的 tab 自动补全功能,而Python的命令行却不支持 tab 自动补全 ...
- shell命令之at 执行一次性定时任务的用法
大家都知道crontab是执行定时任务的命令,那么at又是什么呢? 其实at也是定时任务命令,不同的是crontab是执行循环任务,at执行一次性任务 首先说下时间例子 Minute at no ...
- 用js两张图片合并成一张图片
JS和canvas的合成方式 function drawAndShareImage(){ var canvas = document.createElement("canvas") ...
- Github二次学习
作者声明:本博客中所写的文章,都是博主自学过程的笔记,参考了很多的学习资料,学习资料和笔记会注明出处,所有的内容都以交流学习为主.有不正确的地方,欢迎批评指正. 本节课视频内容:https://www ...
- USACO 2.3.4 Money Systems 货币系统(完全背包)
Description 母牛们不但创建了他们自己的政府而且选择了建立了自己的货币系统. [In their own rebellious way],,他们对货币的数值感到好奇. 传统地,一个货币系统是 ...
- 20181120-8 Beta阶段第2周/共2周 Scrum立会报告+燃尽图 06
此作业要求参见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2414 版本控制地址 [https://git.coding.net ...
- Spring的事务到底该给Dao配置还是给Service配置
Spring的事务到底该给Dao配置还是给Service配置 Spring事务为业务逻辑进行事务管理,保证业务逻辑上数据的原子性. 事务得根据项目性质来细分:事务可以设置到三个层面(dao层.serv ...
- hdu 5524
由于是完全二叉树,所以我们可以预先知道整棵树的形状,因此可以判断根节点的两个子节点哪个是满二叉树,哪个不是满二叉树(必然是一边满,一边不满),对于满的子节点,我们可以直接求出它的不同子树的个数,也就是 ...
- 第七周C语言代码
#ifndef NMN_LIST_H #define NMN_LIST_H #include <stdio.h> struct list_head { struct lis ...
- Web站点性能-微观手段
文章:网站性能优化 百度百科:高性能Web站点 文章:构建高性能WEB站点之 吞吐率.吞吐量.TPS.性能测试