文章目录
SVM和LR的相同之处
- 二者都是监督学习方法.
- 二者都是分类算法.
- 二者都是线性分类算法,二者的分类决策面都是线性的,即求解一个超平面…
SVM可以通过核技巧拓展到非线性. - 二者都是判别模型
判别模型不会计算联合概率,而是直接生成表示条件概率的判别函数. 生成模型先计算联合概率,然后通过贝叶斯转化为条件概率. 常用的生成模型有朴素贝叶斯、隐马尔科夫. 典型的判别模型有:KNN、SVM、DT、LR、最大熵、AdaBoost、CRF.
SVM和LR的不同
- 损失函数不同.
LR的损失函数是对数损失函数,SVM是L2 + Hinge loss(合页损失),所谓合页损失是当分类正确时损失为0,分类错误时. - SVM只考虑分类决策面附近的点,而LR则考虑所有的的点.
SVM不直接依赖于数据分布,而LR受所有数据点的影响 - LR试图找到一个超平面,让所有的样本点都远离它,而SVM只使离超平面最近的样本点尽可能远离.
- SVM属于结构风险最小化模型
所谓的结构风险最小化就是在训练误差和模型复杂度之间折中,即为了防止过拟合,可以在损失函数中加入正则项,而SVM的损失函数自带L2正则. - SVM更加看重归一化.
对于高维数据,未经过归一化的数据,SVM要比LR效果差很多. - SVM不具有伸缩不变性,LR具有伸缩不变性.
所谓伸缩不变性是指,在数据维度经过不均匀的伸缩后,最优解与原来的解不等价,所以对于这样的模型,除非数据原本的分布范围就很接近,否则必须进行标准化. 而LR的维度进行不均匀伸缩后,最优解与原来等价. 但是在实际求解中,由于使用迭代算法,如果参数等值线太扁,则会收敛很慢,通常是进行归一化. - 训练集较小时,SVM效果更好,LR需要较多的样本.