美文网首页
逻辑回归(Logistic Regression)和SVM的比较

逻辑回归(Logistic Regression)和SVM的比较

作者: 踏玉 | 来源:发表于2019-07-22 14:40 被阅读0次

    逻辑回归不是回归,是做分类,只是用回归的思路做分类罢了。

    逻辑回归是传统机器学习的一种分类方法。特点是简单,高效,在线学习。

         适用场景:(1)评论信息正负情感二分类 (2)用户点击率(二分类)(3)用户违约信息预测

    (4)用户等级分类

    线性回归模型(Liner Regresssion)

    逻辑回归(LR)

    其中Sigmoid函数g(z)的定义如下:

    把输出映射到(0,1)的范围内。

    LR的单个样本的目标函数为:

    假设有n个独立的训练样本{(x1, y1) ,(x2, y2),…, (xn, yn)},y={0, 1}。那每一个观察到的样本(xi, yi)出现的概率是:

    整个样本集,也就是n个独立的样本出现的似然函数为(因为每个样本都是独立的,所以n个样本出现的概率就是他们各自出现的概率相乘),到整个样本的后验概率:

    最终的目标函数:

    求解模型中的参数:梯度下降法

    利用链式法则对目标函数求导:

    模型的优化——引入正则化

    LR如何解决多分类问题:sigmoid->softmax

    softmax函数 target函数

    LR和SVM的比较:

    LR与SVM的联系与区别:

    联系:

    1、LR和SVM都可以处理分类问题,且一般都用于处理线性二分类问题(在改进的情况下可以处理多分类问题)

    2、两个方法都可以增加不同的正则化项,如l1、l2等等。所以在很多实验中,两种算法的结果是很接近的。

    区别:

    1、LR是参数模型[逻辑回归是假设y服从Bernoulli分布],SVM是非参数模型,LR对异常值更敏感。

    2、从目标函数来看,区别在于逻辑回归采用的是logistical loss,SVM采用的是hinge loss,这两个损失函数的目的都是增加对分类影响较大的数据点的权重,减少与分类关系较小的数据点的权重。

    3、SVM的处理方法是只考虑support vectors,也就是和分类最相关的少数点,去学习分类器。而逻辑回归通过非线性映射,大大减小了离分类平面较远的点的权重,相对提升了与分类最相关的数据点的权重。

    4、逻辑回归相对来说模型更简单,好理解,特别是大规模线性分类时比较方便。而SVM的理解和优化相对来说复杂一些,SVM转化为对偶问题后,分类只需要计算与少数几个支持向量的距离,这个在进行复杂核函数计算时优势很明显,能够大大简化模型和计算。

    5、logic 能做的 svm能做,但可能在准确率上有问题,svm能做的logic有的做不了。

    非线性分类器,低维空间可能很多特征都跑到一起了,导致线性不可分。

    如果Feature的数量很大,跟样本数量差不多,这时候选用LR或者是Linear Kernel的SVM

    如果Feature的数量比较小,样本数量一般,不算大也不算小,选用SVM+Gaussian Kernel

    如果Feature的数量比较小,而样本数量很多,需要手工添加一些feature变成第一种情况。

    模型复杂度:SVM支持核函数,可处理线性非线性问题;LR模型简单,训练速度快,适合处理线性问题;决策树容易过拟合,需要进行剪枝

    损失函数:SVM hinge loss; LR L2正则化; adaboost 指数损失

    数据敏感度:SVM添加容忍度对outlier不敏感,只关心支持向量,且需要先做归一化; LR对远点敏感

    数据量:数据量大就用LR,数据量小且特征少就用SVM非线性核

    相关文章

      网友评论

          本文标题:逻辑回归(Logistic Regression)和SVM的比较

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