SVM(Support Vector Machine)。中文名为 支持向量机。就像自己主动机一样。听起来异常神气。最初总是纠结于不是机器怎么能叫“机”,后来才知道事实上此处的“机”实际上是算法的意思。

支持向量机一般用于分类,基本上,在我的理解范围内。全部的机器学习问题都是分类问题。而据说,SVM是效果最好而成本最低的分类算法。

SVM是从线性可分的情况下最优分类面发展而来的,其基本思想能够用下图表示:

(最优分类面示意图)

图中空心点和实心点代表两类数据样本,H为分类线,H1、H2分别为过各类中离分类线近期的数据样本且平行与分类线的直线。他们之间的距离叫做分类间隔(margin)。

最优分类线,就是要求分类线不但能将两类正确的分开,使训练错误率为0。并且还要使分类间隔最大。

推广到高维空间,最优分类线就叫做最优分类面了。

为两类线性可分的样本集合。

相应的线性判别函数的一般形式为,相应的分类方程为

%5Comega%20%5Ccdot%20x+b%3D0" alt="" style="font-size:18px; margin:10px; text-align:center">。将判别函数进行归一化。使全部样本都满足,此时离分类面近期的样本

f%28x%29%3D%201" alt="" style="margin:10px; text-align:center">,要求分类面对全部样本都能正确分类,即满足 (记为A),

此时分类间隔等于。间隔最大等价于最小。

最优分类线H就是满足式A且使

%5Cfrac%7B1%7D%7B2%7D%5Cleft%20%7C%20%5Cleft%20%7C%20%5Comega%20%5Cright%20%7C%20%5Cright%20%7C%5E%7B2%7D" alt="" style="margin:10px; text-align:center">最小的分类面。

两类数据样本中立分类面近期的样本,且平行于分类面H的超平面上的数据就是式A中使等号成立的那些数据样本。这些数据样本叫做支持向量(support
vector,SV)。

由上可知,最优分类面问题能够表示为约束优化问题。在式A的约束下,求例如以下函数的最小值

%5Cvarphi%20%28%5Comega%20%29%3D%5Cfrac%7B1%7D%7B2%7D%5Cleft%20%5C%7C%20%5Comega%20%5Cright%20%5C%7C%20%5E%7B2%7D" alt="" style="margin:10px; text-align:center">

为此。定义例如以下Lagrange函数

(记为式B)

式中,为拉格朗日函数的乘子(Lagrange
Multiplier) 。

%5Calpha_%7Bi%5Cgeqslant%20%7D0" alt="" style="margin:10px; text-align:center">。要求式B的最小值,对各个參数求偏导数。且偏导数为0。结果例如以下

依据A式和B式的约束条件,能够将上述分类面的求解问题问题转化为例如以下凸优化的问题

式中,

%5Calpha_i" alt="" style="margin:10px; text-align:center">相应的为拉格朗日乘子 ,这是一个二次寻优问题。存在唯一解。若为最优解,则有

式中。为不为0的样本。即为支持向量。

因此。最优分类面的权系数向量是支持向量的线性组合。

为分类阀值,可由约束条件

%5Calpha_i%5By_i%28%5Comega%5Ccdotx+b%29-1%5D%3D0" alt="" style="margin:10px; text-align:center">求解。解上述问题后得到的最优分类面函数为

,x就属于该类,否则不属于。

概括地说,SVM就是首先通过用内积函数定义的非线性变换将输入控件变换到一个高维空间。然后在这个空间中求广义的最优分类面。

机器学习笔记——SVM的更多相关文章

  1. 机器学习笔记—svm算法(上)

    本文申明:本文原创,如转载请注明原文出处. 引言:上一篇我们讲到了logistic回归,今天我们来说一说与其很相似的svm算法,当然问题的讨论还是在线性可分的基础下讨论的. 很多人说svm是目前最好的 ...

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

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

  3. Python机器学习笔记:SVM(1)——SVM概述

    前言 整理SVM(support vector machine)的笔记是一个非常麻烦的事情,一方面这个东西本来就不好理解,要深入学习需要花费大量的时间和精力,另一方面我本身也是个初学者,整理起来难免思 ...

  4. Andrew Ng机器学习笔记+Weka相关算法实现(五)SVM最优间隔和核方法

    这一章主要解说Ng的机器学习中SVM的兴许内容.主要包括最优间隔分类器求解.核方法. 最优间隔分类器的求解 利用以一篇讲过的的原始对偶问题求解的思路,我们能够将相似思路运用到SVM的求解上来. 详细的 ...

  5. Python机器学习笔记:使用Keras进行回归预测

    Keras是一个深度学习库,包含高效的数字库Theano和TensorFlow.是一个高度模块化的神经网络库,支持CPU和GPU. 本文学习的目的是学习如何加载CSV文件并使其可供Keras使用,如何 ...

  6. Python机器学习笔记:sklearn库的学习

    网上有很多关于sklearn的学习教程,大部分都是简单的讲清楚某一方面,其实最好的教程就是官方文档. 官方文档地址:https://scikit-learn.org/stable/ (可是官方文档非常 ...

  7. Python机器学习笔记:不得不了解的机器学习面试知识点(1)

    机器学习岗位的面试中通常会对一些常见的机器学习算法和思想进行提问,在平时的学习过程中可能对算法的理论,注意点,区别会有一定的认识,但是这些知识可能不系统,在回答的时候未必能在短时间内答出自己的认识,因 ...

  8. cs229 斯坦福机器学习笔记(一)-- 入门与LR模型

    版权声明:本文为博主原创文章,转载请注明出处. https://blog.csdn.net/Dinosoft/article/details/34960693 前言 说到机器学习,非常多人推荐的学习资 ...

  9. Python机器学习笔记 集成学习总结

    集成学习(Ensemble  learning)是使用一系列学习器进行学习,并使用某种规则把各个学习结果进行整合,从而获得比单个学习器显著优越的泛化性能.它不是一种单独的机器学习算法啊,而更像是一种优 ...

随机推荐

  1. 阿里云ECS安装sqlserver,本地无法连接问题排查思路

    1. 阿里云控制台-对应的ECS实例的安全组是否添加了响应的端口(1433)可以访问: 2. 服务器-sqlserver服务是否开启: 3. 服务器-sqlserver配置器,对应的端口是否启用,已经 ...

  2. 用Python控制摄像头拍照并发邮件

    概述前言 工具 思路 安装及导入包 设置参数 实现拍照 构造邮件内容 发送邮件 判断网络连接 开机自启 后记 o1 前言为什么会有写这个程序的想法呢? 最初的想法是写一个可以用电脑前置摄像头拍照的程序 ...

  3. webstorm下开发微信小程序

  4. React Components之间的通信方式了解下

    先来几个术语: 官方 我的说法 对应代码 React element React元素 let element=<span>A爆了</span> Component 组件 cla ...

  5. 小甲鱼Python学习笔记

    一 isdigit()True: Unicode数字,byte数字(单字节),全角数字(双字节),罗马数字False: 汉字数字Error: 无 isdecimal()True: Unicode数字, ...

  6. 使用ajax解析后台json数据时:Unexpected token o in JSON at position 1

    json数据解析异常 今天在做json数据的时候,出现了如下错误,说是解析异常. VM1584:1 Uncaught SyntaxError: Unexpected token o in JSON a ...

  7. LeetCode(49)Group Anagrams

    题目 Given an array of strings, group anagrams together. For example, given: ["eat", "t ...

  8. SQLAlchemy(1):单表操作

    SQLAlchemy 是一个 ORM框架:类对应表,类中的字段对应表中的列,类的对象对应表的一条记录:作用:帮助我们使用类和对象快速实现数据库操作操作数据库的方式: 1. 原生SQL - pymysq ...

  9. restful(2):视图

    视图部分小结: # as_view()中的参数:利用参数(一个字典)来指定什么方式用什么方法来执行(哪种请求方式由哪种内部方法来执行) # 例如 Retrieve时,需要在对应的url中添加有名分组 ...

  10. [ 浙江大学 程序设计专题 ] 四个专题代码 报告 PPT共享

    [原创]转载请注明出处,请勿用于作弊 专题一: 链接: https://pan.baidu.com/s/11xCwvuPHDkTPeOB_yzJWnw 提取码: prup 专题二: 链接: https ...