SVM(Support Vector Machine),支持向量机,有监督学习模型,一种分类模型。在特征空间(输入空间为欧式空间或离散集合,特征空间为欧式空间或希尔伯特空间)中寻找间隔最大化的分离超平面的线性分类器。学习策略就是间隔最大化,可形式化为一个求解凸二次规划(QP)的问题,也等价于正则化的合页损失函数的最小化问题。

针对数据特点,处理方法或者说原理是:

(1).当训练样本线性可分时,通过硬间隔最大化,学习一个线性分类器,即线性可分SVM;

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

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

一句话解释一下线性核和高斯核的区别:

Linear核主要用于线性可分的情形,参数少,速度快;高斯核主要用于线性不可分的情形,参数多,分类结果依赖于参数,可通过公式辨别。

1. 如果Feature的数量很大,跟样本数量差不多,这时候选用LR或者是LinearKernel的SVM

2. 如果Feature的数量比较小,样本数量一般,不算大也不算小,选用SVM+Gaussian Kernel

3. 如果Feature的数量比较小,而样本数量很多,需要手工添加一些feature变成第一种情况

当样本在原始空间线性不可分时,将样本由原始空间映射到一个更高维的特征空间,使得样本在这个特征空间内线性可分。(高维空间线性可分)

通过核函数可以学习非线性支持向量机,等价于隐式地在高维的特征空间中学习线性支持向量机。即传说中的核方法。

为什么SVM对缺失数据敏感?

SVM没有处理缺失值的策略(决策树有),SVM希望样本在特征空间中线性可分,所以特征空间的好坏对SVM性能很重要。

为什么使用间隔最大化:

线性可分支持向量机利用间隔最大化求得最优分离超平面,这时,解是存在且唯一的。另一方面,此时的分隔超平面所产生的分类结果是最鲁棒的,对未知实例的泛化能力最强。

为什么将SVM的原始问题转换为其对偶问题来解决:

因为对偶问题往往更容易求解,原问题的求解包含约束条件,使问题求解变得复杂,将目标函数和约束重新整合到一个新函数,即拉格朗日函数,然后再通过这个函数来寻找最优解比较容易。

具体求解过程见李航统计学习方法第七章。

SVM用到的Python库和调参:

Sklearn库,调用sklearn.svm,-c 惩罚参数;kernel:0为线性,1为多项式,2为RBF核,3为sigmoid(tanh);gamma:核函数参数;coef0:核函数的常数项。

https://www.zhihu.com/question/21094489上的例子解释的很通俗易懂。

SVM知识点的更多相关文章

  1. SVM面试知识点总结

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

  2. 关于SVM的一些知识点

    SVM支持向量机 定义:支持向量机是主要用于解决分类问题的学习模型.它的基本模型是在特征空间中寻找间隔最大化的分离超平面的线性分类器. 分类 1-当训练样本线性可分,通过硬间隔最大化,学习一个线性分类 ...

  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. 使用Mosh,本地Mac locale与Remote Debian locale不一致的问题

    事实上, 你并不需要安装语言包, 只需安装中文字体并将/etc/locale.gen 中zh_CN.UTF-8 前的注释符号去掉, 执行sudo locale-gen 然后重启即可.

  2. TCP和UDP的现实应用

    以下应用的区分是基于TCP可靠传输,UDP不可靠传输 TCP一般用于文件传输(FTP HTTP 对数据准确性要求高,速度可以相对慢),发送或接收邮件(POP IMAP SMTP 对数据准确性要求高,非 ...

  3. oracle 完整性约束的禁用启用以及对表的影响,表的修改和复制

    primary key ----表的唯一性约束,不能为空,且不能有重复值 foreign key ----俩表之间的约束,启用之时,在删除数据时需要先删除父表数据,再删除子表数据 禁用方式为:alte ...

  4. update、commit、trancate,delete

    update 用于更新表的数据,使用方式为: update table_name set column_name=值 条件 顺便一提:date数据插入更新应该使用 to_date()格式转换函数例如: ...

  5. SpringBoot学习17:springboot热部署配置

    spring为开发者提供了一个名为spring-boot-devtools的模块来使Spring Boot应用支持热部署,提高开发者的开发效率,无需手动重启Spring Boot应用. devtool ...

  6. C++定义一个简单的Computer类

    /*定义一个简单的Computer类 有数据成员芯片(cpu).内存(ram).光驱(cdrom)等等, 有两个公有成员函数run.stop.cpu为CPU类的一个对象, ram为RAM类的一个对象, ...

  7. 【2018 ICPC南京网络赛 A】An Olympian Math Problem(数论题)

    Alice, a student of grade 6, is thinking about an Olympian Math problem, but she feels so despair th ...

  8. hdu 3966 Aragorn's Story : 树链剖分 O(nlogn)建树 O((logn)²)修改与查询

    /** problem: http://acm.hdu.edu.cn/showproblem.php?pid=3966 裸板 **/ #include<stdio.h> #include& ...

  9. Tomcat服务器的介绍、安装配置

    [1] Tomcat服务器的介绍 1.是一个免费的.开饭源代码的Servlet服务器,目前非常流行. 2.Tomcat服务器是Apache软件基金会的一个顶级项目,由Apache.Sun等公司共同开发 ...

  10. ABAP术语-Application

    Application 原文:http://www.cnblogs.com/qiangsheng/archive/2007/12/15/995737.html Set of work processe ...