相同点:
- LR和SVM都是分类算法。
- LR和SVM都是监督学习算法。
- LR和SVM都是判别模型。
- 如果不考虑核函数,LR和SVM都是线性分类算法,也就是说他们的分类决策面都是线性的。 说明:LR也是可以用核函数的.但LR通常不采用核函数的方法。(计算量太大)
不同点:
- 损失函数不同,LR采用log损失,SVM采用合页(hinge)损失
- LR对异常值敏感,SVM对异常值不敏感。
- 计算复杂度不同。对于海量数据,SVM的效率较低,LR效率比较高
- 对非线性问题的处理方式不同
- LR主要靠特征构造,必须组合交叉特征,特征离散化。SVM也可以这样,还可以通过核函数kernel(因为只有支持向量参与核计算,计算复杂度不高)。由于可以利用核函数,SVM则可以通过对偶求解高效处理。LR则在特征空间维度很高时,表现较差
- SVM的损失函数就自带正则。
- SVM自带结构风险最小化,LR则是经验风险最小化。
- SVM会用核函数而LR一般不用核函数