zoukankan      html  css  js  c++  java
  • 机器学习-逻辑回归与SVM的联系与区别

    (搬运工)

    逻辑回归(LR)与SVM的联系与区别

    LR 和 SVM 都可以处理分类问题,且一般都用于处理线性二分类问题(在改进的情况下可以处理多分类问题,如LR的Softmax回归用在深度学习的多分类中)

    区别:

    1、LR 是 参数模型,SVM是非参数模型,(svm中的 linear 和 rbf 是指线性可分和不可分的问题)

    2、从目标函数来看,逻辑回归的目标是使得经验风险最小化,采用的是logistical loss,svm则是最大化分类间隔,使用的损失函数是合页损失( hinge损失):当样本点被正确分类且函数间隔大于1时,损失为0,否则损失是1-y(wx+b),即对于分类正确的样本也有一定的损失。其目标函数为 min  sum(1-y(wx+b)) + λ ||w||^2

    逻辑回归基于概率理论,假设样本为正样本的概率可以用sigmoid函数(S型函数)来表示,然后通过极大似然估计的方法估计出参数的值。支持向量机基于几何间隔最大化原理,认为存在最大几何间隔的分类面为最优分类面。

    这两个损失函数的目的都是增加对分类影响较大的数据点的权重,减少与分类关系较小的数据点的权重。

    直接依赖数据分布,每个样本点都会影响决策面的结果。如果训练数据不同类别严重不平衡,则一般需要先对数据做平衡处理,让不同类别的样本尽量平衡。

    3、SVM的处理方法是只考虑支持向量,也就是和分类最相关的少数点,去学习分类器。而逻辑回归通过非线性映射,大大减小了离分类超平面较远的点的权重,相对提升了与分类最相关的数据点的权重。但是LR还是受到所有的数据点的影响。

    4、逻辑回归相对来说模型更加简单,好理解,特别是大规模线性分类时比较方便。而SVM的理解和优化相对复杂,svm转化为对偶问题后,分类只需要计算与少数几个支持向量的距离,这个在进行复杂核函数计算时优势较为明显,能够大大简化计算。LR算法里,每个样本点都必须参与分类决策的计算过程,也就是说,假设我们在LR里也运用核函数的原理,那么每个样本点都必须参与核计算,这带来的计算复杂度是相当高的。

    5、logic能够做的svm都可以做,只是在准确率上有问题,svm能做的logic有时做不了

    6、SVM 基于距离分类,LR 基于概率分类。SVM依赖数据表达的距离测度,所以需要对数据先做 normalization;LR不受其影响。

    7、SVM的损失函数就自带正则,而 LR 必须另外在损失函数之外添加正则项。

    联系:

    1、都是判别模型,判别模型不关心数据是如何生成的,只关心信号之间的差别,然后用差别来简单对给定的信号进行分类。

    2、都是监督学习模型。训练数据带有标记。

    3、都是线性分类器,本质上都是求一个最佳分类超平面。


    参考文献

    [1] https://www.cnblogs.com/zhizhan/p/5038747.html

    [2] http://blog.csdn.net/timcompp/article/details/62237986

  • 相关阅读:
    HDU 1261 字串数(排列组合)
    Codeforces 488C Fight the Monster
    HDU 1237 简单计算器
    POJ 2240 Arbitrage
    POJ 3660 Cow Contest
    POJ 1052 MPI Maelstrom
    POJ 3259 Wormholes
    POJ 3268 Silver Cow Party
    Codesforces 485D Maximum Value
    POJ 2253 Frogger(最短路)
  • 原文地址:https://www.cnblogs.com/wzhao-cn/p/11326184.html
Copyright © 2011-2022 走看看