美文网首页
问题汇总(2):支持向量机

问题汇总(2):支持向量机

作者: 大王叫我来巡老和山 | 来源:发表于2019-03-22 17:32 被阅读0次

本来是只想写一篇出来的,结果,,,内容也太多了,,,分开分开,先写SVM。


目录:
机器学习常见面试问题汇总
问题汇总(1):逻辑回归
问题汇总(2):支持向量机
问题汇总(3):树模型
问题汇总(4):聚类
问题汇总(5):神经网络
问题汇总(6):EM算法
问题汇总(7):朴素贝叶斯


参考的一些引用:

机器学习之有必要手推SVM吗?(这篇写的挺好~)
支持向量机通俗导论:理解SVM的三种境界
SVM从入门到放弃再到掌握

上面两篇文章基本可以解决SVM的推导,解释原问题和对偶问题,SVM原问题和对偶问题的关系,KKT限制条件,KKT条件用哪些,完整描述;软间隔问题,解释支持向量、核函数(哪个地方引入、画图解释高维映射,高斯核可以升到多少维,如何选择核函数),引入拉格朗日的优化方法的原因,最大的特点,损失函数解释,svm里面的c有啥用等。


简单介绍SVM:

从分类平面,到求两类间的最大间隔,到转化为求间隔分之一,等优化问题,然后就是优化问题的解决办法,首先是用拉格拉日乘子把约束优化转化为无约束优化,对各个变量求导令其为零,得到的式子带入拉格朗日式子从而转化为对偶问题, 最后再利用SMO(序列最小优化)来解决这个对偶问题。


SVM和LR的异同

机器学习-LR推导及与SVM的区别

相同点:

  • LR和SVM都是监督学习方法,是分类算法
  • 如果不考虑使用核函数,LR和SVM都是线性分类模型,也就是说它们的分类决策面是线性的。
  • LR和SVM都是判别模型。
    典型的判别模型包括K近邻法、感知机、决策树、Logistic回归、最大熵、SVM、boosting、条件随机场等。
    典型的生成模型包括朴素贝叶斯法、隐马尔可夫模型、高斯混合模型等。
  • LR和SVM在学术界和工业界都广为人知并且应用广泛。(这句话,,,被我找到了一个万能句式?)

不同点:

  • loss function不一样。LR基于概率理论,通过极大似然估计方法估计出参数的值,然后计算分类概率,取概率较大的作为分类结果。SVM基于几何间隔最大化,把最大几何间隔面作为最优分类面。
    Loss function of LR
    Loss function of SVM
  • SVM只考虑分类面附近的局部的点,即支持向量,LR则考虑所有的点,与分类面距离较远的点对结果也起作用,虽然作用较小。所以LR对异常值敏感,SVM对异常值不敏感。
  • 在解决非线性分类问题时,SVM采用核函数,而LR通常不采用核函数。在计算决策面时,SVM算法中只有支持向量参与了核计算,在LR算法里,如果采用核函数,则每一个样本点都会参与核计算,这会带来很高的计算复杂度。
  • SVM没有伸缩不变性,LR具有伸缩不变性。(SVM毕竟是基于距离的模型,这玩意对缺失值也比较敏感。)SVM模型在各个维度进行不均匀伸缩后,最优解与原来不等价,所以SVM 需要数据标准化。LR模型在各个维度进行不均匀伸缩后,最优解与原来等价。但是,由于实际求解往往使用迭代算法,如果目标函数的形状太“扁”,迭代算法可能收敛得很慢甚至不收敛。所以对于具有伸缩不变性的模型,最好也进行数据标准化。
  • SVM损失函数自带正则项,因此,SVM是结构风险最小化算法。而LR需要额外在损失函数上加正则项。所谓结构风险最小化,意思就是在训练误差和模型复杂度之间寻求平衡,防止过拟合,从而达到真实误差的最小化。未达到结构风险最小化的目的,最常用的方法就是添加正则项。

Kernel:核函数的定义和作用

Kernel讲解视频
知乎:核函数

  当样本不在线性可分时,就用到了核函数。其实核函数就是把原来的x做了一波变换,从容易理解的角度上来说,就是将低维度的特征映射到了高维度(无穷维),即 x_i映射到\Phi(x_i),使样本再次变得可以通过一个超平面分开。
  但其实,如果对每个样本都做这样的映射操作,将会很耗费时间,并且,我们并不知道这个\Phi(x_i)具体是什么。幸运的是,如果大家对对偶问题熟悉的话,可以看到,其实并不需要求出\Phi(x_i)的具体值,而只需要求内积即可,也就是求\Phi(x_i)^T\Phi(x_j),就可以完成SVM的计算工作。那么,我们直接设一个核函数K= \Phi(x_i)^T\Phi(x_j),相当于我们还是不知道\Phi(x_i),而是直接知道了\Phi(x_i)^T\Phi(x_j)(因为我们的计算过程只需要知道内积即可)。这样子就可以解决线性不可分问题。
  只要一个对称函数所对应的核矩阵半正定,那么就可以作为核函数使用,此时总能找到一个与之对应的映射空间\Phi。但是核函数选择是支持向量机最大变数,如果选择不合适,那么意味着样本映射到了一个不合适的特征空间,会导致性能不佳。常用的核函数有线性核、多项式核、高斯核(也称RBF、径向基)、拉普拉斯核、sigmoid核等。


SVM如何处理多分类任务?

Logistic回归和SVM的异同
SVM解决多分类问题的方法


对偶问题

  • 为什么要把原问题转换为对偶问题?
    因为原问题是凸二次规划问题,转换为对偶问题更加高效。
    方便引入核函数思想,求解非线性SVM。

  • 为什么求解对偶问题更加高效?
    因为只用求解alpha系数,而alpha系数只有支持向量才非0,其他全部为0。
    并且对偶问题有了高效求解方法,SMO。

    用讲故事的方法帮你理解SMO

  • alpha系数有多少个?
    个数为样本点的个数。

相关文章

  • ROC-AUC 曲线以及PRC曲线

    目录:机器学习常见面试问题汇总问题汇总(1):逻辑回归问题汇总(2):支持向量机问题汇总(3):树模型问题汇总(4...

  • 问题汇总(5):神经网络

    这篇应当也是很重要的把~ 目录:机器学习常见面试问题汇总问题汇总(1):逻辑回归问题汇总(2):支持向量机问题汇总...

  • 问题汇总(6):EM算法

    这个现学现卖把,先把链接放上来: 目录:机器学习常见面试问题汇总问题汇总(1):逻辑回归问题汇总(2):支持向量机...

  • 问题汇总(3):树模型

    好,又来到一个重难点区域,前进! 目录:机器学习常见面试问题汇总问题汇总(1):逻辑回归问题汇总(2):支持向量机...

  • 问题汇总(2):支持向量机

    本来是只想写一篇出来的,结果,,,内容也太多了,,,分开分开,先写SVM。 目录:机器学习常见面试问题汇总问题汇总...

  • 问题汇总(7):朴素贝叶斯

    这个东西也是得好好搞清楚才行~ 目录:机器学习常见面试问题汇总问题汇总(1):逻辑回归问题汇总(2):支持向量机问...

  • 支持向量机

    问题 1. 支持向量机是如何进行数据分类? 2. 支持向量机求解过程 3. 支持向量机是怎么对 线性不...

  • 支持向量机(分类问题公式及python实现)

    NOTEBOOK支持向量机(分类问题公式及python实现) 此notebook包括:1、支持向量机介绍2、什么是...

  • 编程作业(六)

    支持向量机 支持向量机 本部分练习,我们将在2D示例数据集上使用支持向量机。通过在这些数据集上使用支持向量机,将帮...

  • 支持向量机优化2020-03-19

    1、拉格朗日对偶问题求解 2、支持向量机优化求解 通过拉格朗日对偶问题求解得到支持向量机的最优解 导数代表的是变化...

网友评论

      本文标题:问题汇总(2):支持向量机

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