6.支持向量机(SVM)
6.1.什么是SVM
6.2.支持向量机基本原理与思想
6.2.1.支持向量机
6.2.2.基本原理
6.3.课程中关于SVM介绍

6.支持向量机(SVM)

6.1.什么是SVM

以下转自:https://www.zhihu.com/question/21094489

支持向量机/support vector machine (SVM)。

可以从一个了解什么是SVM,以及要做的事情。

在很久以前的情人节,大侠要去救他的爱人,但魔鬼和他玩了一个游戏。
魔鬼在桌子上似乎有规律放了两种颜色的球,说:“你用一根棍分开它们?要求:尽量在放更多球之后,仍然适用。”

于是大侠这样放,干的不错?

然后魔鬼,又在桌上放了更多的球,似乎有一个球站错了阵营。

SVM就是试图把棍放在最佳位置,好让在棍的两边有尽可能大的间隙。

现在即使魔鬼放了更多的球,棍仍然是一个好的分界线。

然后,在SVM 工具箱中有另一个更加重要的 trick。 魔鬼看到大侠已经学会了一个trick,于是魔鬼给了大侠一个新的挑战。

现在,大侠没有棍可以很好帮他分开两种球了,现在怎么办呢?当然像所有武侠片中一样大侠桌子一拍,球飞到空中。然后,凭借大侠的轻功,大侠抓起一张纸,插到了两种球的中间。

现在,从魔鬼的角度看这些球,这些球看起来像是被一条曲线分开了。

再之后,无聊的大人们,把这些球叫做**「data」,把棍子 叫做「classifier」, 最大间隙trick 叫做「optimization」, 拍桌子叫做「kernelling」, 那张纸叫做「hyperplane」**

6.2.支持向量机基本原理与思想

6.2.1.支持向量机

SVM即支持向量机(Support Vector Machine),是有监督学习算法的一种,用于解决数据挖掘或模式 识别领域中数据分类问题。

6.2.2.基本原理

SVM算法 即寻找一个分类器使得超平面和最近的数据点之间的分类边缘(超平面和最近的数据点之间的 间隔被称为分类边缘)最大,对于SVM算法通常认为分类边缘越大,平面越优,通常定义具有“最大间隔”的决策面就是 SVM 要寻找的最优解。并且最优解对应两侧虚线要穿过的样本点,称为“支持向量”。其处理的基本思路为:把问题转化为一个凸二次规划 问题,可以用运筹学有关思想进行求解:
(1)目标函数
在线性SVM算法中,目标函数显然就是那个"分类间隔",使分类间隔最大。
(2)约束条件
即决策面,通常需要满足三个条件:
1)确定决策面使其正确分类。
2)决策面在间隔区域的中轴线。
3)如何确定支持向量因此求解SVM问题即转化为求解凸二次规划的最优化问题。

支持向量机:就是用来分割数据点那个分割面,他的位置是由支持向量确定的(如果支持 向量发生了变化,往往分割面的位置也会随之改变), 因此这个面就是一个支持向量确定的 分类器即支持向量机。

线性可分数据的二值分类机理:系统随机产生一个超平面并移动它,直到训练集中属于不同类别的样本点正好位于该超平面的两侧。显然,这种机理能够解决线性分类问题,但不能够保证产生的超平面是最优的。支持向量机建立的分类超平面能够在保证分类精度的同时, 使超平面两侧的空白区域最大化,从而实现对线性可分问题的最优分类。

SVM的主要思想是:建立一个最优决策超平面,使得该平面两侧距平面最近的两类样 本之间的距离最大化,从而对分类问题提供良好的泛化力(推广能力)。
支持向量:则是指训练集中的某些训练点,这些点最靠近分类决策面,是最难分类的数据点。
SVM: 它是一种有监督(有导师)学习方法,即已知训练点的类别,求训练点和类别之间的对应关系,以便将训练集按照类别分开,或者是预测新的训练点所对应的类别。

6.3.课程中关于SVM介绍

Support Vector Machine

  • 决策边界:选出来离雷区最远的(雷区就是边界上的点,要Large Margin)

距离的计算









约束条件:





最小值在(0.25, 0, 0.25)处取得

  • 平面方程为:

SVM求解实例
支持向量:真正发挥作用的数据点,a值不为0的点。

soft-margin

  • 软间隔:有时候数据中有一些噪音点,如果考虑它们咱们的线就不太好了。

  • 之前的方法要求要把两类点完全分得开,这个要求有点过于严格了,我们来放松一点!

  • 为了解决该问题,引入松弛因子


    soft-margin

  • 新的目标函数:

  • 当C趋近于很大时:意味着分类严格不能有错误。
    当C趋近于很小时:意味着可以有更大的错误容忍

  • C是我们需要指定的一个参数!

    Soft-margin

  • 拉格朗日乘子法:

    低维不可分问题

  • 核变换:既然低维的时候不可分,那我给它映射到高维呢?

    低维不可分问题

  • 目标:找到一种变换的方法,也就是

    Support Vector Machine

高斯核函数:

6.支持向量机(SVM)、什么是SVM、支持向量机基本原理与思想、基本原理、课程中关于SVM介绍相关推荐

  1. python支持向量机回归_机器学习实战-支持向量机原理、Python实现和可视化(分类)...

    支持向量机(SVM)广泛应用于模式分类和非线性回归领域. SVM算法的原始形式由Vladimir N.Vapnik和Alexey Ya提出.自从那以后,SVM已经被巨大地改变以成功地用于许多现实世界问 ...

  2. 深度学习与计算机视觉系列(3)_线性SVM与SoftMax分类器--在深度学习的视觉分类中的,这两个分类器的原理和比较

    作者: 寒小阳  时间:2015年11月.  出处:http://blog.csdn.net/han_xiaoyang/article/details/49999299  声明:版权所有,转载请注明出 ...

  3. 1071svm函数 r语言,科学网—R中的svm - 吴锐的博文

    svm理解: LSSVM: 最小二乘支持向量机(Least squares support vector Maehine,LSSVM)是SVM的一种变体,把问题转化成对一个 线性方程求解,所需计算资源 ...

  4. python笔迹识别_python_基于Scikit learn库中KNN,SVM算法的笔迹识别

    之前我们用自己写KNN算法[网址]识别了MNIST手写识别数据 [数据下载地址] 这里介绍,如何运用Scikit learn库中的KNN,SVM算法进行笔迹识别. 数据说明: 数据共有785列,第一列 ...

  5. 支持向量机之松弛因子与线性支持向量机

    一.线性支持向量机解决的问题 线性可分支持向量机只支持线性可分的训练数据,通过硬间隔最大化实现分类数据:如果训练数据不是线性可分的,我们就需要使用线性支持向量机的方法,去除其中的一些异常点,从而实现剩 ...

  6. svm预测股价 python_小蛇学python(4)利用SVM预测股票涨跌

    最近接了一个私活,指导学妹完成毕业设计.核心思想就是利用SVM模型来预测股票涨跌,并完成策略构建,自动化选择最优秀的股票进行资产配置. 在做这个项目的过程中,我体会到想成为一个合格的数据分析或者数据挖 ...

  7. linux手写数字识别,OpenCV 3.0中的SVM训练 mnist 手写字体识别

    前言: SVM(支持向量机)一种训练分类器的学习方法 mnist 是一个手写字体图像数据库,训练样本有60000个,测试样本有10000个 LibSVM 一个常用的SVM框架 OpenCV3.0 中的 ...

  8. 支持向量机回归python_python 机器学习之支持向量机非线性回归SVR模型

    本文介绍了python 支持向量机非线性回归SVR模型,废话不多说,具体如下: import numpy as np import matplotlib.pyplot as plt from skle ...

  9. OpenCV中使用SVM简介

    下面这是opencv官方文档中的代码,我加了一部分注释: 1 #include "stdafx.h" 2 #include "opencv2/core/core.hpp& ...

最新文章

  1. python文件粉碎传输_python使用stuck 实现scoket编程实现文件传输
  2. 列举当前用户或指定用户的所有表,所有字段,以及所有约束
  3. 一文了解P2P的前世今生
  4. spark-2.4.5-bin-2.6.0-cdh5.15.1环境搭建:Local模式和StandAlone
  5. 自学python系列14:映像,集合类型-集合类型
  6. maya崩溃自动保存路径_maya 使用swig将插件编译成pyd,无缝使用内置数据实现加速计算模块...
  7. OCP China Day 2021:开放计算十年,以全球协作打破创新边界
  8. Python之线程(二)
  9. php网站接入微信支付,PHP接入微信H5支付的方法示例
  10. 湖南2021年高考成绩查询与录取查询课件,@所有高考生,高考成绩和录取动态查询方式公布...
  11. 牛客网 正则表达式匹配
  12. MySQ学习笔记之十 NULL值处理
  13. uniapp小程序生成海报图
  14. 阿里与百度的网盘中场大战
  15. 解决每次打开office都提示windows正在配置visio的问题以及office2013闪退问题
  16. WindowsXP的图标结构
  17. 前沿 | 复活逝者?他在用聊天机器人复制一个自己
  18. java 将html转为word导出 (富文本内容导出word)
  19. python pygame小游戏_第一个python+pygame小游戏
  20. Qt 实现的时间轴 Timeline 用于视频非线形编辑工具

热门文章

  1. 《机器学习实战》第九章
  2. 阿里Python后端1w+薪资面试真题!(附带准答案)offer轻松拿到手
  3. Python中的Pandas(1.pandas概述和Series的概述和相关操作)
  4. VTK:平行坐标视图用法实战
  5. VTK:构造图用法实战
  6. wxWidgets:wxConfig 和相关类的演示
  7. wxWidgets:wxBitmapToggleButton类用法
  8. 拷贝boost::exception的测试程序
  9. GDCM:gdcm::FileStreamer的测试程序
  10. GDCM:gdcm::XMLDictReader的测试程序