美文网首页
机器学习面试之LR与SVM的异同

机器学习面试之LR与SVM的异同

作者: 梦无音 | 来源:发表于2018-08-28 11:19 被阅读51次

    一、逻辑回归LR

    (1)模型表达式:

    与单个神经元加Sigmoid激活函数的表达与效果相同

    (2)损失函数:

    二分类交叉熵损失

    (3)参数估计:

    损失函数的求导 梯度下降

    (4)关于LR的一些提问:

      (a)逻辑回归为什么使用极大似然函数作为损失函数?

    极大似然函数与对数损失等价,使得最终的梯度更新与Sigmoid函数无关,更新速度稳定。而平方损失会导致梯度更新的速度很慢。

      (b)如果特征高度相关或者一个特征重复多遍会有什么影响?

    如果在损失函数最终收敛的情况下,不会影响最终的效果。但是对于特征本身,假设只有一个特征,不重复与重复多遍,训练结束后,后者这些特征的权重和将会等于前者。

      (c)为什么我们还是要将高度相关的特征去掉?

    首先可以让模型的可解释性更好。其次可以提高训练速度,因为如果有特征高度相关,就算损失函数本身收敛,但实际参数并没有收敛,会拉低训练速度。并且特征多了,训练时间自然会提高。

    二、LR与SVM的异同

    (1)相同点:LR与SVM都是监督学习模型中的线性分类算法。

    (2)不同点:

      (a)本质上是损失函数不同

    合页损失和对数损失 两种损失的比较

    总而言之,SVM只考虑边界上的点(支持向量)带来的影响,而LR考虑了数据集中所有点的影响。然而他们的目的却相同,因为LR通过非线性映射,降低离分类面远的点的权重。

    (b)对数据分布的依赖

    SVM增加新的点 LR增加新的点

    SVM不直接依赖数据的分布,分类平面受一类点的影响;LR受所有数据点的影响,数据需要balance。

      (c)解决非线性问题

    SVM解决非线性问题一般采用核函数,因为只有少数几个点参与计算。而LR通常不使用核函数,因为所有点都需要计算,计算复杂度很高。

      (d)SVM依赖数据表达的测度

    (参考:https://www.zhihu.com/question/26768865/answer/34078149)

    Linear SVM比较依赖penalty的系数(故实验中需要validation)和数据表达空间的测度,而(带正则化)LR比较依赖对参数做L1正则化的系数。由于他们都是线性分类器,在低维空间overfitting的能力都比较有限,在高维空间中LR会更加稳定,因为Linear SVM在计算margin有多宽时依赖距离测度(如果测度不好,那么最大化边界将没有意义;这种现象在高维空间更明显)。所以使用Linear SVM之前需要对数据做normalization,而LR不需要或者不敏感。

    注:不带正则的LR,对其做normalization的目的是为了方便选择优化的起始值,不代表最后的效果与normalization有关。如果用最大熵模型解释(http://www.win-vector.com/dfiles/LogisticRegressionMaxEnt.pdf),实际优化目标与距离测度无关,其线性约束是可以被放缩的。

    注2:Linear SVM在小数据集上表现好于LR,而在大规模数据上,LR应用更广泛。

      (e)SVM损失函数自带正则

    SVM是结构风险最小化,而不带正则的LR是经验风险最小化。

    相关文章

      网友评论

          本文标题:机器学习面试之LR与SVM的异同

          本文链接:https://www.haomeiwen.com/subject/tulfwftx.html