一 、支持向量机(SVM)

1.1 符号定义

标签 y 不再取 0 或 1,而是: y∈{-1, 1}

定义函数:

向量,没有第 0 个维度,b 为截距,预测函数定义为:

1.2 函数间隔与几何间隔

1.2.1 函数间隔

样本个体:

全体:

1.2.2 几何间隔

样本个体:

全体:

 

1.2.3 关系

函数间隔与几何间隔都是对预测置信度的度量,这个间隔越大,说明预测样本离着分界线越远,我们预测的结果也就更加可靠。

1.3 优化目标

假设样本是线性可分的,优化目标为

1.4 广义拉格朗日乘数法

带约束的优化为:

转化为:

【原始问题】:

记量为: 

原始问题为:

【对偶问题】:

记量为:

对偶问题为:   

对于原始问题和对偶问题,以下关系恒成立:

KKT条件:

当KKT条件满足时,对偶问题和原始问题有着相同的解。

1.5 最优间隔分类器

SVM的拉格朗日乘数法:

原始问题:

对偶问题:

根据KKT条件:

  对关于求梯度,令之为0,可得:

      

  对关于 b 求导,令之为0,可得:

       

带回,得:

因此SVM的对偶问题为:

将对偶解 带入原始问题,对所有的不等于 0 对应的系数求导,令其等于0,得:

因为  不为的项为0,即该点为支持向量。理想情况分割线两侧各有一个最近的点,且我们也仅在两侧各取一个点。因此,对于的,两侧同时乘 -1,累加两个式子得:

 

即:

上述算法称为最优间隔分类器。

1.6 SVM核

中的内积替换为,称为核。核 K 的合法取法有很多,如:

不同的核将 x 和 z 映射到了不同的空间之中,一组低维的向量投射至高维通常更容易划分。

1.7  正则化与软间隔

对于一些线性不可分的情况,或者为了抵制噪音的影响,使用软边距进行处理。为每组数据加入一个允许误差,同时在优化目标中加入惩罚项 。SVM的原始优化问题变为:

拉格朗日乘数法写作:

根据KKT条件,

,得:

,得:

,得:

同样求对偶问题得到:

    

根据KKT条件,取值的关系如下:

      

注意,b 不再是原始SVM的取值。

【Reference】

1. 支持向量机通俗导论(理解SVM的三层境界) 【这篇写的非常好】

支持向量机-SVM 学习的更多相关文章

  1. OpenCV 学习笔记 07 支持向量机SVM(flag)

    1 SVM 基本概念 本章节主要从文字层面来概括性理解 SVM. 支持向量机(support vector machine,简SVM)是二类分类模型. 在机器学习中,它在分类与回归分析中分析数据的监督 ...

  2. 支持向量机通俗导论(SVM学习)

    1.了解SVM 支持向量机,因其英文名为support vector machine,故一般简称SVM,通俗来讲,它是一种二类分类模型,其基本模型定义为特征空间上的间隔最大的线性分类器,其学习策略便是 ...

  3. 转:SVM与SVR支持向量机原理学习与思考(一)

    SVM与SVR支持向量机原理学习与思考(一) 转:http://tonysh-thu.blogspot.com/2009/07/svmsvr.html 弱弱的看了看老掉牙的支持向量机(Support ...

  4. coursera机器学习-支持向量机SVM

    #对coursera上Andrew Ng老师开的机器学习课程的笔记和心得: #注:此笔记是我自己认为本节课里比较重要.难理解或容易忘记的内容并做了些补充,并非是课堂详细笔记和要点: #标记为<补 ...

  5. Stanford机器学习---第八讲. 支持向量机SVM

    原文: http://blog.csdn.net/abcjennifer/article/details/7849812 本栏目(Machine learning)包括单参数的线性回归.多参数的线性回 ...

  6. SVM学习笔记

    一.SVM概述 支持向量机(support vector machine)是一系列的监督学习算法,能用于分类.回归分析.原本的SVM是个二分类算法,通过引入“OVO”或者“OVR”可以扩展到多分类问题 ...

  7. 【IUML】支持向量机SVM

    从1995年Vapnik等人提出一种机器学习的新方法支持向量机(SVM)之后,支持向量机成为继人工神经网络之后又一研究热点,国内外研究都很多.支持向量机方法是建立在统计学习理论的VC维理论和结构风险最 ...

  8. [转]支持向量机SVM总结

    首先,对于支持向量机(SVM)的简单总结: 1. Maximum Margin Classifier 2. Lagrange Duality 3. Support Vector 4. Kernel 5 ...

  9. 机器学习:Python中如何使用支持向量机(SVM)算法

    (简单介绍一下支持向量机,详细介绍尤其是算法过程可以查阅其他资) 在机器学习领域,支持向量机SVM(Support Vector Machine)是一个有监督的学习模型,通常用来进行模式识别.分类(异 ...

随机推荐

  1. 97.5%准确率的深度学习中文分词(字嵌入+Bi-LSTM+CRF)

    本文转载自:http://www.17bigdata.com/97-5%E5%87%86%E7%A1%AE%E7%8E%87%E7%9A%84%E6%B7%B1%E5%BA%A6%E5%AD%A6%E ...

  2. 转:Logistic regression (逻辑回归) 概述

    Logistic regression (逻辑回归)是当前业界比较常用的机器学习方法,用于估计某种事物的可能性.比如某用户购买某商品的可能性,某病人患有某种疾病的可能性,以及某广告被用户点击的可能性等 ...

  3. 单元测试中用@Autowired 报null (空指针异常)

    原因是因为,单元测试不依赖于容器,所以自动注入也就存在问题 (单元测试中加@Autowired注解亲自测过是不行,不知道这样理解的是否正确)

  4. [Spring Boot] @Component, @AutoWired and @Primary

    Spring boot is really good for Dependencies injection by using Autowiring. Each class instancse in s ...

  5. pip通过requirements.txt安装依赖

    pip install -t . -r requirements.txt requirements.txt Keras==2.0.8 gensim torchvision opencv-python ...

  6. jquery旋转图片

    今天介绍一款 jQuery 插件——jqueryrotate,它可以实现旋转效果.jqueryrotate 支持所有主流浏览器,包括 IE6.如果你想在低版本的 IE 中实现旋转效果,那么 jquer ...

  7. WIN10 64位系统 如何安装.NET Framwork3.5

    把SXS文件夹复制到C盘根目录,然后以管理员身份运行CMD,大概2分钟能完成,然后这个SXS文件夹就可以删了        

  8. Navicat标识为灰

    Navicat Premium作为一种通用数据管理工具,非常受迎接.最近,又遇到一个小问题.即为了实现自增,需要设置主键标识,而在Navicat中发现其为灰色,不可用. 原因:Navicat不允许设置 ...

  9. javascript constrator and prototype

    揭开js之constructor属性的神秘面纱 在js里面当new了一个对象时,这中间发生了什么? MDN - new运算符 当代码 new foo(...) 执行时: 一个新对象被创建.它继承自fo ...

  10. vue中的ajax - axios

    vue中的ajax - axios axios - 简书 使用 axios 实现 ajax 方案 VUE 更好的 ajax 上传处理 axios.js vue.js 自2.0版本已经不对 vue-re ...