支持向量积根据数据的情况分为三种。如果数据是线性可分的,则用线性可分支持向量积。如果数据是近似线性可分的,则用线性支持向量积。如果数据是不可分的,则用非线性支持向量积。

一、线性可分支持向量积

1.1 线性可分模型的定义

线性可分支持向量积的数据是线性可分,如下图所示,存在一个超平面能将数据完全分开。

而支持向量积训练的目的就是找到一个超平面能将上述的数据分开,但是能将数据分开的超平面有很多条,如下图所示,L1和L2都能将数据分开,但是那一个超平面会更好呢,显然是L1更好。因为对于L2稍微有点数据波动,分类就会出现错误。

那么如何将上述评判超平面好坏的标准写成数学表达式呢?我们首先想到的就是距离公式,如果一个点离直线越远则他的距离值就越大,离直线越近则距离值越小。用距离公式来表示到直线的距离,会损失他在直线上方还是直线下方的信息,所以要去掉绝对值,利用这个公式来表示到直线的距离,如果y>0,并且wx+b的输出结果大于0,这个表示的是点到直线的距离,同时包含了类别信息。

我们有n个数据点,那么就有n个距离,其中有一个最小的距离,确定一个w,b就会产生一个最小距离,我们就是找到那个最小的距离让它最大化(要在分类正确的情况下)定义如下:

上面的式子只是最初的定义,并不好优化,需要对上面的式子进行优化,首先 >0则一定存在一个最小值r,那么下面的式子可以转化为:

上面||w||由于和i无关,所以把它移项到前面,我们可以通过改变W的值,比如同时扩大2倍,同时缩小2倍,这样并不改变等式。改变w的值让r=1,整个式子变为下图左侧式子:

通常优化问题都是最小值问题,所以将其转化为最小化问题,为了求导方便在前面加了系数1/2。如上图右侧所示:

模型定义如下:

1.2 线性可分模型的求解

求解上面的模型可以分为四个步骤:

1>将有约束问题转化为无约束问题

下面是对式子等价的一个理性判断,不想了解的可以跳过这里

2>将原问题转化为对偶问题

下面是对偶问题的一些理解:

  是弱对偶条件。

 是强对偶条件。

通俗一点理解这个对偶关系就是:

在一堆高个子里找一个最矮的   会比

在一堆矮个子里找最高的  高

3>求解对偶问题

4>根据KKT得到最后的解

上面KKT条件的第二个条件, λ(1-y(wx+b))=0为松弛互补条件,当1-y(wx+b)为0的时候,λ可以为任意值,当它不为零的时候,λ一定为零,λ和1-y(wx+b)其中有一项一定为0,这也就是支持向量积中支持向量的来源。

1.3 线性可分模型算法步骤

二、线性支持向量积

线性支持向量积允许有一点点错误,所以优化的时候要考虑分类错误的情况,线性支持向量积定义如下:

推荐大家阅读这些材料,上面的推导是白板推导的笔记。

1>机器学习-白板推导-支持向量积:https://www.bilibili.com/video/av28186618/?p=3

2>pluskid支持向量积博客:http://blog.pluskid.org/?page_id=683

3>林轩田的机器学习技法:https://www.bilibili.com/video/av36760800/?p=3

4>李航-统计机器学习-第二版

支持向量积【SVM】相关推荐

  1. 人工智能与大数据——支持向量积SVM

    一,支持向量积在分类中的作用 1,定义:找到一个超平面,使其产生一个将数据分类的最大间距 2,什么是支持向量 每一个点为一个向量,支持分界线的点为支持向量. 3,支持向量机与逻辑回归的损失函数 (1) ...

  2. 一文读懂支持向量积核函数(附公式)

    来源:jerrylead 本文长度为1783字,建议阅读4分钟 本文通过多个例子为你介绍支持向量积核函数,助你更好地理解. 核函数(Kernels) 考虑我们最初在"线性回归"中提 ...

  3. svm分类器训练详细步骤_「五分钟机器学习」向量支持机SVM——学霸中的战斗机...

    大家好,我是爱讲故事的某某某. 欢迎来到今天的[五分钟机器学习]专栏内容 --<向量支持机SVM> 今天的内容将详细介绍SVM这个算法的训练过程以及他的主要优缺点,还没有看过的小伙伴欢迎去 ...

  4. 西瓜书SVM支持向量积--超平面的基础知识

    一.法向量恒垂直于超平面 为什么超平面的法向量恒垂直于超平面呢?我们先来看一下超平面方程: w T x + b = 0 w^Tx+b=0 wTx+b=0 这是多维的超平面方程,先来研究个简单的,在二维 ...

  5. 机器学习实战--5.支持向量积

    1支持向量机(Support Vector Machine,SVM) (1)是一种二分类模型,它的目的是寻找一个超平面来对样本进行分割,分割的原则是间隔最大化,最终转化为一个凸二次规划问题来求解.由简 ...

  6. SVM -支持向量机原理与实践之实践篇

    SVM -支持向量机原理与实践之实践篇 前言 最近太忙,这几天还是抽空完成实践篇,毕竟所有理论都是为实践服务的,上一篇花了很大篇幅从小白的角度详细的分析了SVM支持向量积的原理,当然还有很多内容没有涉 ...

  7. 系统学习机器学习之SVM(三)--Liblinear,LibSVM使用整理,总结

    1.Libsvm与Liblinear区别,简单源码剖析. http://blog.csdn.net/zhzhl202/article/details/7438160 http://blog.csdn. ...

  8. SVM支持向量机、BP神经网络

    SVM支持向量机 [[五分钟机器学习]向量支持机SVM--学霸中的战斗机-哔哩哔哩] [机器学习-白板推导系列(六)-支持向量机SVM(Support Vector Machine)-哔哩哔哩] BP ...

  9. 行人检测HOG+SVM:综述、INRIADATA数据集、线性SVM

    目录 1. 行人检测算法研究综述 2. 基于机器学习的方法:人工特征+分类器 2.1 HOG+SVM 2.2 HOG+Adaboost 2.3 ICF+AdaBoost 2.4 DPM+ latent ...

  10. OpenCL 2.0 规范 – SVM共享虚拟内存

    OpenCL2.0规范相对于1.2版本做出了重大改进,使得一个异构系统中各个硬件之间增强了通信与协作能力.在接下来的系列文章中,将着重讲解OpenCL2.0的新特性,探究其重要性以及对开发.性能等方面 ...

最新文章

  1. 第十六届智能车竞赛室内视觉AI组别靶标使用说明
  2. 【iOS-cocos2d-X 游戏开发之四】Cocos2dX创建Android NDK新项目并编译导入Eclipse中正常运行!...
  3. flume1.8 开发指南学习感悟
  4. 『PPYOLO tiny尝鲜』基于PaddleDetection的人脸疲劳检测
  5. 【kafka】kafka InstanceAlreadyExists jmx consumer addMBean registerAppInfo AppInfoParser
  6. GDI+ 中发生一般性错误(在 OutputStream 中保存 PNG 格式图像时遇到的问题)
  7. pom中导入spingside包
  8. SQL数据库基础练习题及答案
  9. CronTrigger 示例 1
  10. 处理团队人际关系的九大原则
  11. 闭关的日子 好无聊。偷了半日闲去书店shopping一下
  12. telnet控制路由器交换机与微信公众平台
  13. 艾美捷重组蛋白酶K,无动物源/AF化学性质介绍
  14. 红米note4出厂系统版本_红米Note4官方出厂rom系统刷机包_升级包降级包回退包下载...
  15. CCTV与西方媒体的区别!句句发人深思...^^
  16. 第四次网页前端学习笔记(css)
  17. codeforces B. Calendar 解题报告
  18. 科技爱好者周刊:第 70 期
  19. Android学习第三天 创建demo 电话拨号器
  20. Object isExtensible()方法

热门文章

  1. windows中office无法使用撤销键
  2. -XX:SurvivorRatio 命令解释
  3. 浅层神经网络和深层神经网络介绍
  4. 专升本高等数学考试知识点汇总(二)
  5. 线性代数【13】基,基本向量、坐标系的构建和线性生成空间SPAN (向量线性相关)
  6. PLC基础知识(PLC入门必看)
  7. mysql连接失败问题
  8. google hacking 搜索技巧
  9. 华为全球发布AI-Native数据库;微信公众号功能升级,一次可改20个错字;腾讯天幕:“3+2+N”助力政企云网络安全治理……...
  10. 行人重识别论文阅读12-Bi-directional Exponential Angular Triplet Loss for RGB-Infrared Person ReID