LR与SVM的异同

来源:互联网 发布:信息技术网络研修总结 编辑:程序博客网 时间:2024/06/06 12:45

LR与SVM的相同点:

  • *LR和SVM都是分类算法
  • *如果不考虑核函数,LR和SVM都是线性分类算法,模型求解的就是一个超平面
  • *LR和SVM都是监督学习算法
  • *LR和SVM都是判别模型 
    –判别模型会生成一个表示p(y|x)的判别函数或直接学习决策函数f(x), 
    –生成模型先计算联合p(y,x)然后通过贝叶斯公式转化为条件概率。 
    –常见的判别模式:KNN、SVM、LR,常见的生成模型有:朴素贝叶斯,隐马尔可夫模型。

LR和SVM的不同:

1.本质上是其loss function不同 
逻辑回归采用的是logistical loss,svm采用的是hinge loss。
可以看出,二者的唯一区别就是对于单个数据点,计算损失的方法不同。
Logistic regression中的f(x) = \log(1+\text{e}^{-x})称为log loss
而SVM中的f(x) = \max(0, 1-x)称为hinge loss

可以看出,二者的唯一区别就是对于单个数据点,计算损失的方法不同。
Logistic regression中的f(x) = \log(1+\text{e}^{-x})称为log loss
而SVM中的f(x) = \max(0, 1-x)称为hinge loss


2.SVM不直接依赖数据分布,分类平面不受一类点影响(正确分类的点);LR则受所有数据点的影响,如果数据不同类别strongly unbalance,一般需要先对数据做balancing。
3.LR可以给出每个点属于每一类的概率,而SVM是非概率的
4.在解决非线性问题时,支持向量机采用核函数的机制,而LR通常不采用核函数的方法。
SVM算法里只有少数几个代表支持向量的样本参与了计算,也就是只有少数几个样本需要参与核计算,LR每个样本点都必须参与核计算,这带来的计算复杂度是相当高的。

5.SVM是结构风险最小化算法,LR必须另外在损失函数上添加正则项。
6.线性SVM依赖数据表达的距离测度,所以需要对数据先做normalization,LR不受其影响。

同样的线性分类情况下,如果异常点较多的话,无法剔除,首先LR,LR中每个样本都是有贡献的,最大似然后会自动压制异常的贡献,SVM+软间隔对异常还是比较敏感,因为其训练只需要支持向量,有效样本本来就不高,一旦被干扰,预测结果难以预料。
原创粉丝点击