SVM支持向量机

定义:支持向量机是主要用于解决分类问题的学习模型。它的基本模型是在特征空间中寻找间隔最大化的分离超平面的线性分类器。

分类

1-当训练样本线性可分,通过硬间隔最大化,学习一个线性分类器,叫线性可分支持向量机

2-当训练数据近似线性可分时,引入松弛变量,通过软间隔最大化,学习一个线性分类器,叫线性支持向量机

3-当训练数据线性不可分的时候,通过使用核技巧以及软间隔最大化,学习非线性支持向量机

SVM算法的主要优点有:

1) 解决高维特征的分类问题和回归问题很有效,在特征维度大于样本数时依然有很好的效果。

2) 仅仅使用一部分支持向量来做超平面的决策,无需依赖全部数据。

3) 有大量的核函数可以使用,从而可以很灵活的来解决各种非线性的分类回归问题。

4) 样本量不是海量数据的时候,分类准确率高,泛化能力强。

SVM算法的主要缺点有:

1) 如果特征维度远远大于样本数,则SVM表现一般。

2) SVM在样本量非常大,核函数映射维度非常高时,计算量过大,不太适合使用。

3) 非线性问题的核函数的选择没有通用标准,难以选择一个合适的核函数。

4) SVM对缺失数据敏感。

SVM核函数的意义

SVM通过核函数将输入空间映射到高维特征空间,最终在高维特征空间中构造出最优分离超平面,从而把平面上本身无法线性可分的数据分开。核函数的真正意义在于没有真正映射到高维空间却达到了映射的作用,减少了大量的映射计算。

如何选择以及核函数的种类

1-如果特征的数量大到和样本数量差不多,则使用线性核函数SVM或者LR(逻辑回归)

2-如果特征的数量小,样本的数量正常,则使用高斯核函数SVM

3-如果特征的数量小,样本数量很多,由于求解最优化问题的时候,目标函数涉及两两样本计算内积,使用高斯核明显计算会大于线性核,所以手动添加一些特征,使得线性可分,然后可以用LR或者线性核的SVM

4-利用交叉验证,试用不同的核函数,误差最小的就是效果最好的核函数

5-混合核函数方法,将不同的核函数结合起来

为什么要将求解SVM的原始问题转换为对偶问题

对偶问题可以给出原始问题的一个下界,当满足一定条件时,原始问题和对偶问题的解是等价的,并且它还可以自然地引入核函数

SVM为什么采用间隔最大化

当训练数据线性可分的时候,存在无穷个分离超平面可以将两类数据正确分开。感知机或者神经网络等利用误分类最小策略,求得分离超平面,不过此时的解有无穷多个。线性可分支持向量机利用间隔最大化求得最优分离超平面,此时的解释唯一的。另一方面,此时的分隔超平面所产生的的分类结果是最鲁棒的,对未知实例的泛化能力最强。

为什么SVM对噪声以及缺失值敏感

当噪声出现的过多的话,或者当噪声出现并成为支持向量的时候,噪声对模型影响是巨大的

这里的缺失值是指缺失某些特征数据,向量数据不完整。因为SVM不像决策树一样有处理缺失值的策略,所以如果存在缺失值,这些数据在该特征维度很难正确的分类,将影响到训练结果的好坏。

SVM中样本偏斜的处理方法

样本偏斜是指数据集中真负类样本数量不均,例如正类样本有10000个,负类样本只有100个,这样的话就会使超平面被推向负类,因为负类数量少,分布的不够广,这样会影响结果的准确性。

解决方法:我们可以对正类的样本使用惩罚因子C+,负类样本用另一个C-,这个比例的确定一个好的方法时衡量他们分布的情况,具体的做法是给负类找一个高维空间中的超球体,它包含了所有负类的样本,再给正类找一个,比较一下两个球的半径,半径大的分布广,惩罚因子小。

实际中根据需要选择简单的就行,例如libSVM就可以直接使用样本的数量比。比如上面举例中就可以定义  c+ :c-=1 : 100

关于SVM的一些知识点的更多相关文章

  1. SVM知识点

    SVM(Support Vector Machine),支持向量机,有监督学习模型,一种分类模型.在特征空间(输入空间为欧式空间或离散集合,特征空间为欧式空间或希尔伯特空间)中寻找间隔最大化的分离超平 ...

  2. SVM面试知识点总结

    1. SVM 原理 SVM 是一种二类分类模型.它的基本思想是在特征空间中寻找间隔最大的分离超平面使数据得到高效的二分类,具体来讲,有三种情况(不加核函数的话就是个线性模型,加了之后才会升级为一个非线 ...

  3. EasyPR--开发详解(6)SVM开发详解

    在前面的几篇文章中,我们介绍了EasyPR中车牌定位模块的相关内容.本文开始分析车牌定位模块后续步骤的车牌判断模块.车牌判断模块是EasyPR中的基于机器学习模型的一个模块,这个模型就是作者前文中从机 ...

  4. Atitit 图像处理知识点体系知识图谱 路线图attilax总结 v4 qcb.xlsx

    Atitit 图像处理知识点体系知识图谱 路线图attilax总结 v4 qcb.xlsx 分类 图像处理知识点体系 v2 qb24.xlsx 分类 分类 理论知识 图像金字塔 常用底层操作 卷积扫描 ...

  5. 支持向量机(SVM)基础

    版权声明: 本文由LeftNotEasy发布于http://leftnoteasy.cnblogs.com, 本文可以被全部的转载或者部分使用,但请注明出处,如果有问题,请联系wheeleast@gm ...

  6. SVM入门

    前言: 又有很长的一段时间没有更新博客了,距离上次更新已经有两个月的时间了.其中一个很大的原因是,不知道写什么好-_-,最近一段时间看了看关于SVM(Support Vector Machine)的文 ...

  7. 常用的机器学习&数据挖掘知识点【转】

    转自: [基础]常用的机器学习&数据挖掘知识点 Basis(基础): MSE(Mean Square Error 均方误差),LMS(LeastMean Square 最小均方),LSM(Le ...

  8. 支持向量机(SVM)利用网格搜索和交叉验证进行参数选择

    上一回有个读者问我:回归模型与分类模型的区别在哪?有什么不同,我在这里给他回答一下 : : : : 回归问题通常是用来预测一个值,如预测房价.未来的天气情况等等,例如一个产品的实际价格为500元,通过 ...

  9. 机器学习中的算法(2)-支持向量机(SVM)基础

    版权声明:本文由LeftNotEasy发布于http://leftnoteasy.cnblogs.com, 本文可以被全部的转载或者部分使用,但请注明出处,如果有问题,请联系wheeleast@gma ...

随机推荐

  1. 堆排序Heap_Sort

    堆排序就是借助二叉堆进行排序,不了解二叉堆的可以先看这里.本文以升序排序为例,首先将待排序数组放置在最小堆中,此时堆顶一定是数组中最小的元素,然后删除堆顶元素,此时调整后的最小堆顶会是第二小的元素,从 ...

  2. SQLCommand命令、DbTransaction事务

    一.SqlDataReader SqlConnection conn = new SqlConnection("server=10.126.64.11;user=it_oper;pwd=IT ...

  3. vue.js v-cloak指令

    可以使用 v-cloak 指令设置样式,这些样式会在 Vue 实例编译结束时,从绑定的 HTML 元素上被移除. 当网络较慢,网页还在加载 Vue.js ,而导致 Vue 来不及渲染,这时页面就会显示 ...

  4. node.js中允许的app对象声明方式

    伪对象形式 app = function () { console.log("我是一个初始化的app对象"); }; app.get=function () { console.l ...

  5. BZOJ 3931 / Luogu P3171 [CQOI2015]网络吞吐量 (最大流板题)

    题面 中文题目,不解释: BZOJ传送门 Luogu传送门 分析 这题建图是显然的,拆点后iii和i′i'i′连容量为吞吐量的边,根据题目要求,111和nnn的吞吐量看作∞\infty∞. 然后用di ...

  6. axios并行请求

    有些操作需要在几个异步请求都完成之后再执行,虽然一个Ajax可以放到另一个Ajax完成的回调里面,但这样很容易导致回调地狱,且代码也极其不美观. 幸运的是axios提供了并行请求的方法, 使用方法: ...

  7. How to change the default browser to debug with in Visual Studio 2008?

    http://stackoverflow.com/questions/297298/how-to-change-the-default-browser-to-debug-with-in-visual- ...

  8. Codeforces Educational Codeforces Round 67

    目录 Contest Info Solutions A. Stickers and Toys B. Letters Shop C. Vasya And Array D. Subarray Sortin ...

  9. Linux命令行提交更新冲突

    1.在harry目录下的hello文件第五行加一些内容 2.将修改后文件执行提交操作 提交成功,文件版本升为5 3.在sally目录下同样修改hello文件第五行 4.sally进行提交操作 发现提交 ...

  10. spring中文参考指南

    主要是4.x版本的 比较全面的:https://muyinchen.gitbooks.io/spring-framework-5-0-0-m3/content/3.5-bean/3.5.4-reque ...