数据挖掘面试题之SVM和LR的不同
这道题很能考察应试者的理论与实践水平,同时,它也揭示了一个很重要的学习方法,那就是比较学习。这种方法在机器学习中尤其重要,因为有很多模型,通过比较,会迅速深化你对各个模型的认识水平。答案是我自己总结的,请指正。
-
1、样本点对模型的作用不同。SVM中,只有关键的样本点(支持向量)对模型结果有影响,而LR中,每一个样本点都对模型有影响。
-
2、损失函数不同。SVM是hinge损失函数,LR是log损失函数
-
3、理论基础不同。SVM基于严格的数学推导,LR基于统计。
-
4、输出不同。LR可以对每个样本点给出类别判断的概率值,SVM无法做到。
-
5、可处理的特征空间维度不同。LR在特征空间维度很高时,表现较差。SVM则可以通过对偶求解高效应对这一挑战。
-
6、防过拟合能力不同。SVM模型中内含了L2正则,可有效防止过拟合。LR要自己添加正则项。
-
7、处理非线性分类问题能力不同。SVM可通过核函数灵活地将非线性问题转化为线性分类问题。LR如果要做到这一点,需要自己手动地进行特征转换。
-
8、处理分类问题能力不同。SVM只能处理二类分类问题,如果要处理多类别分类,需要进行 one VS one 或one VS all建模。LR可以直接进行多类别分类。
-
9、计算复杂度不同。对于海量数据,SVM的效率较低,LR效率比较高。
-
10、对数据要求不同。SVM依赖于数据表达出的距离测度,所以需要对数据进行标准化处理,而LR不需要。
-
11、能力范围不同。 SVM拓展后,可解决回归问题,LR不能。
-
12、可解释性不同。LR基于统计,可解释性比SVM好。
-
13、抗噪声数据能力不同。SVM的损失函数基于距离测度,抗噪声能力要强于LR。