开篇
为什么把这两个机器模型放在一起呢,主要是因为它们经常会在面试中同时出现,这边把它们放在一起,解析一下它们之间的联系和区别。我们先看一下问题
经典算法问题
LR 与 SVM 的相同和不同?
讲一下其中的LR、SVM,以及区别和联系(2018京东算法)
解析
相同点:
1、首先两个都是常用的分类算法,这边要注意的是,不要看LR带了回归二字就以为它是回归模型,其实不是,它是分类模型。
2、如果不考虑核函数,LR和SVM都是线性分类算法,也就是说他们的分类决策面都是线性的。
3、LR和SVM都是监督学习算法。这点算是常识啦,大家应该都知道的。
4、LR和SVM都是判别模型
判别模型会生成一个表示P(Y|X)的判别函数(或预测模型),而生成模型先计算联合概率p(Y,X)然后通过贝叶斯公式转化为条件概率。简单来说,在计算判别模型时,不会计算联合概率,而在计算生成模型时,必须先计算联合概率。或者这样理解:生成算法尝试去找到底这个数据是怎么生成的(产生的),然后再对一个信号进行分类。基于你的生成假设,那么那个类别最有可能产生这个信号,这个信号就属于那个类别。判别模型不关心数据是怎么生成的,它只关心信号之间的差别,然后用差别来简单对给定的一个信号进行分类。常见的判别模型有:KNN、SVM、LR,常见的生成模型有:朴素贝叶斯,隐马尔可夫模型。当然,这也是为什么很少有人问你朴素贝叶斯和LR以及朴素贝叶斯和SVM有什么区