今天看到别人问这个问题,突然想到自己也对这两个经典的线性分类器没有太过区别其异同,所以特此翻阅了一下资料总结了一番。以下理论部分主要参考了LR与SVM的异同这篇文章。这篇文章之后,又写了它的姊妹篇【机器学习】Kernel Logestic Regression 和Kernel SVM
LR和Linear SVM的相同点
- 都是监督的分类算法
- 都是线性分类方法
另外这里需要说的就是LR也是可以加核函数的至于为什么不用,是原因的,后面再说。 - 都是判别模型
判别模型和生成模型是两个相对应的模型。
判别模型是直接生成一个表示 P(Y|X) 或者 Y=f(X) 的判别函数(或预测模型)
生成模型是先计算联合概率分布 P(Y,X) 然后通过贝叶斯公式转化为条件概率。
SVM和LR,KNN,决策树都是判别模型,而朴素贝叶斯,隐马尔可夫模型是生成模型。
生成算法尝试去找到底这个数据是怎么生成的(产生的),然后再对一个信号进行分类。基于你的生成假设,那么那个类别最有可能产生这个信号,这个信号就属于那个类别。判别模型不关心数据是怎么生成的,它只关心信号之间的差别,然后用差别来简单对给定的一个信号进行分类。
对于生成模型和判别模型的更详细的差别到时候再开一个博客来讲
LR和Linear SVM的不同点
LR和Linear SVM本质不同来自于loss function不同
LR的损失函数是cross entropy