01 SVM - 大纲

作者: 白尔摩斯 | 来源:发表于2018-11-28 12:52 被阅读246次

    本章开始进入SVM的讲解。SVM(Support Vector Machine)指的是支持向量机,是常见的一种判别方法。在机器学习领域,是一个有监督的学习模型,通常用来进行模式识别、分类以及回归分析。

    在进入SVM学习之前,需要对以下知识点进行说明,大纲如下:

    ● 梯度下降法、拉格朗日乘子法、KKT条件回顾
    ● 感知器模型回顾
    ● SVM线性可分 (重点)
    ● SVM线性不可分 (重点)
    ● 核函数 (重点)
    ● SMO

    1、梯度下降法、拉格朗日乘子法、KKT条件回顾

    梯度下降法是一种求极值的算法,在对自变量没有限制条件的时候使用。当函数自变量存在取值范围的时候,就无法使用梯度下降法进行求解了。
    10 回归算法 - 梯度下降在线性回归中的应用
    11 回归算法 - BGD、SGD、MBGD梯度下降
    12 回归算法 - 手写梯度下降代码

    对自变量有取值范围的函数,如果要求极值,可以使用拉格朗日乘子法。即在有限制的情况下,对有限制条件的函数进行转化,转化成无限制条件的函数,使转化完的函数和原函数等价,这时取得极值点的时候和原函数相同。这就是拉格朗日乘子法的思想和存在的意义。
    02 SVM - 拉格朗日乘子法

    当有限制的函数转化成无限制的函数后,就可以通过求偏导的方法(梯度下降法)进行求极值。

    KKT条件 是指,满足什么样的条件下,可以让原函数转化成拉格朗日乘子法。
    03 SVM - KKT条件

    2、感知器模型

    直观理解:找到一些直线划分两个不同的分类,使得误分的点越少越好。
    04 SVM - 感知器模型

    3、SVM线性可分、不可分 (重点)

    用感知器找到的直线不止一条,可以找到一条感知器模型的最优解。最后找到的直线称为SVM支持向量机

    SVM支持向量机可以处理两类问题:
    SVM线性可分模型 ,即一条直线可以分割两种分类。

    线性可分

    05 SVM - 支持向量机 - 概念、线性可分
    06 SVM - 线性可分SVM算法和案例
    07 SVM - 软间隔模型
    08 SVM - 软间隔模型算法流程

    SVM线性不可分模型,两种分类比较紧密,用一条直线无法轻易分割。这种问题的处理方式可以将数据映射到高维,通过一个面来分割两类数据,最后求高维面在低维上的映射。

    线性不可分

    09 SVM - 线性不可分模型

    4、核函数 (重点)

    解决数据映射到高维时,计算量复杂的问题。
    10 SVM - 核函数

    5、SMO

    SVM通常用对偶问题来求解,这样的好处有两个:1、变量只有N个(N为训练集中的样本个数),原始问题中的变量数量与样本点的特征个数相同,当样本特征非常多时,求解难度较大。2、可以方便地引入核函数,求解非线性SVM。求解对偶问题,常用的算法是SMO,彻底地理解这个算法对初学者有一定难度,本文尝试模拟算法作者发明该算法的思考过程,让大家轻轻松松理解SMO算法。

    理解原理即可。
    参考: 《用讲故事的办法帮你理解SMO算法

    11 SVM - SMO - 序列最小优化算法
    12 SVM - SMO - 初始β变量的选择、总结
    13 SVM - SVR(回归问题的SVM)

    6、scikit-learn SVM算法库

    scikit-learn中SVM的算法库主要分为两类,一类是分类算法,包括:SVC、NuSVC和LinearSVC这三个类,另外一类是回归算法,包括:SVR、NuSVR和LinearSVR这三个类;除此之外,用的比较多的SVM模型还有OneClassSVM类(主要功能是:异常点检测)

    详见:http://scikit-learn.org/dev/modules/svm.html

    scikit-learn SVM算法库概述分类算法
    分类 - 1 分类 - 2
    scikit-learn SVM算法库概述回归算法
    回归 - 1 回归 - 2
    一些代码案例:

    14 SVM - 代码案例一 - 鸢尾花数据SVM分类
    15 SVM - 代码案例二 - 鸢尾花数据不同分类器效果比较
    16 SVM - 代码案例三 - 不同SVM核函数效果比较
    17 SVM - 代码案例四 - 不同SVM惩罚参数C值不同效果比较

    相关文章

      网友评论

        本文标题:01 SVM - 大纲

        本文链接:https://www.haomeiwen.com/subject/njuaqqtx.html