(本文内容和图片来自林轩田老师《机器学习技法》)

1. 线性SVM的推导

1.1 形象理解为什么要使用间隔最大化

容忍更多的测量误差,更加的robust。间隔越大,噪声容忍度越大:

1.2 SVM的问题描述

表示为正式的形式,就是:

1.3 推导点到平面的距离

因此,由于约束条件1,距离里面的绝对值可以去掉,原来的最优化问题变为:

1.4 将SVM问题写成更容易解决的形式

由于w和b乘以同样的倍数得到的平面不变。因此我们做一个放缩,规定:

因此问题就变为了:

在这里,我们发现第二个约束条件其实已经包含了第一个约束条件,因此我们可以舍去第一个约束条件,问题进一步简化为:

然后,我们发现约束条件还是不够简单,因此我们把约束条件放宽:

这一步要说明,把约束条件放宽相当于解的备选区域变大了。我们在这里要说明,最优解仍然会落在原来的区域内。采用反证法:

所以说,落在外面区域的解不可能是最优解,因此把约束条件放松对求解是没有影响的。

然后,我们把目标函数求最大改为最小,根号去掉,加一个因子1/2,得到最终形式:

2. 求解SVM问题

上述最优化问题是一个标准的凸二次规划问题(QP),我们可以把它扔到专门解这类问题的程序中求解,只需要求出它对应到标准QP问题中的各个参数值是什么就好:

3. 为什么要使用large-margin?

(1)对噪声的有更大的鲁棒性

(2)降低了VC维,更好的泛化能力

《机器学习技法》---线性SVM的更多相关文章

  1. 线性SVM

    (本文内容和图片来自林轩田老师<机器学习技法>) 1. 线性SVM的推导 1.1 形象理解为什么要使用间隔最大化 容忍更多的测量误差,更加的robust.间隔越大,噪声容忍度越大: 1.2 ...

  2. SVM1 线性SVM

    一.Linear Support Vector Machine 接下来的讨论假设数据都是线性可分的. 1.1 SVM的引入:增大对测量误差的容忍度 假设有训练数据和分类曲线如下图所示: 很明显,三个分 ...

  3. cs231n --- 1:线性svm与softmax

    cs231n:线性svm与softmax 参数信息: 权重 W:(D,C) 训练集 X:(N,D),标签 y:(N,1) 偏置量bias b:(C,1) N:训练样本数:  D:样本Xi 的特征维度, ...

  4. 支持向量机(Support Vector Machine,SVM)—— 线性SVM

      支持向量机(Support Vector Machine,简称 SVM)于 1995 年正式发表,由于其在文本分类任务中的卓越性能,很快就成为机器学习的主流技术.尽管现在 Deep Learnin ...

  5. 线性SVM的推导

    线性SVM算法的一般过程 线性SVM的推导 超平面方程 SVM是用来分类的.给定一系列输入数据(n维向量),需要找到一个切分界线(n-1维的超平面),这里假定数据是线性可分的.比如,二维数据的超平面是 ...

  6. 机器学习读书笔记(七)支持向量机之线性SVM

    一.SVM SVM的英文全称是Support Vector Machines,我们叫它支持向量机.支持向量机是我们用于分类的一种算法. 1 示例: 先用一个例子,来了解一下SVM 桌子上放了两种颜色的 ...

  7. 线性SVM分类器实战

    1 概述 基础的理论知识参考线性SVM与Softmax分类器. 代码实现环境:python3 2 数据处理 2.1 加载数据集 将原始数据集放入"data/cifar10/"文件夹 ...

  8. SVM-支持向量机(一)线性SVM分类

    SVM-支持向量机 SVM(Support Vector Machine)-支持向量机,是一个功能非常强大的机器学习模型,可以处理线性与非线性的分类.回归,甚至是异常检测.它也是机器学习中非常热门的算 ...

  9. 《Machine Learning in Action》—— 剖析支持向量机,单手狂撕线性SVM

    <Machine Learning in Action>-- 剖析支持向量机,单手狂撕线性SVM 前面在写NumPy文章的结尾处也有提到,本来是打算按照<机器学习实战 / Machi ...

随机推荐

  1. linux学习书籍推荐《鸟哥的Linux私房菜》下载

    下载地址:点我 <鸟哥的Linux私房菜:基础学习篇>是具有知名度的Linux入门书<鸟哥的Linux私房菜基础学习篇>的最新版,全面而详细地介绍了Linux操作系统.< ...

  2. jdk源码--LinkedList

    本文基于jdk1.8_171 LinkedList介绍 之前看了ArrayList,内部是一个数组.这次看了LinkedList,作用和ArrayList一样,但是内部是链表形式.链表结构如下图: 数 ...

  3. 浅入深出Vue:发布项目

    项目完成之后,当然不能满足于在我们的开发环境下跑一跑.我们可以打包发布到服务器上,让大家一起来欣赏一下你的作品. 那么 vue 项目如何打包发布呢,新建的项目目录下通常都有一个 README.md 的 ...

  4. android_layout_framelayout

    framelayout最大的特点,个人认为就是N个元素都会重叠地堆在左上角,除非你手动指定位置.相对布局relative也是如此,但是他妈的人家不可以指定布局的垂直与水平,frame可以,但是指定垂直 ...

  5. java集合框架使用原理分析

    集合是我们日常编程中可能用的很多的技术之一 使用频率极高 可能平时就会知道怎么去用 但是集合之间的关系与不同之处都不是很清楚 对它们的底层原理更甚 所以写词文章 让自己有一个更深的认识 集合是一个庞大 ...

  6. MyBatis 多数据库支持

    From<MyBatis从入门到精通> <!-- 4.6 多数据库支持 简单的看了一下,没有深入研究~~~ -->

  7. springcloud-高可用部署

    1.场景描述 前端时间只简单介绍了下springcloud的高可用方案(springcloud高可用方案),今天详细介绍下如何实施springcloud的高可用部署. 2.解决方案 2.1 架构方案 ...

  8. dbo是默认用户也是架构

    dbo是默认用户也是架构 dbo作为架构是为了更好的与2000兼容, 在2000中DataBaseName.dbo.TableName解释为:数据库名.用户名.表名, 在2005中DataBaseNa ...

  9. 读完这篇文章,5G 就没有秘密了

    如果我们现在要制作一个 2019 年的热词排行榜,相信 5G 一定名列榜单前茅.作为第五代移动通信网络,5G 技术一直备受瞩目.随着 5G 商用牌照在国内的发放,各大手机厂商也是紧接着推出各款 5G ...

  10. HTML--CSS样式表的基本概念

    CSS(Cascading Style Sheet  叠层样式表) 作用:美化HTML网页 (一)样式表分类 一.内联样式表 和HTML联合显示,控制精准,但是可重用性差,冗余多. 例如:<p ...