逻辑回归相关问题整理

1. 写逻辑回归的logloss损失函数

对于样本 x x x,输出为 p ( x i ) = 1 1 + e − θ T x p(x_i) = \frac{1}{1+e^{-\theta^T x}} p(xi)=1+eθTx1
对于正样本 P ( Y = 1 ∣ x ) = p ( x ) P(Y=1|x) = p(x) P(Y=1∣x)=p(x), 对于负样本 P ( Y = 0 ∣ x ) = 1 − p ( x ) P(Y=0|x)=1-p(x) P(Y=0∣x)=1p(x)
最大似然 L ( θ ) = Π i = 1 N p ( x i ) y i ( 1 − p ( x i ) 1 − y i ) L(\theta)=\Pi_{i=1}^Np(x_i)^{y_i}(1-p(x_i)^{1-y_i}) L(θ)=Πi=1Np(xi)yi(1p(xi)1yi)
取log. l n L ( θ ) = ∑ i = 1 N y i p ( x i ) + ( 1 − y i ) ( 1 − p ( x i ) ) ln L(\theta)=\sum_{i=1}^N{y_i}p(x_i)+(1-y_i)(1-p(x_i)) lnL(θ)=i=1Nyip(xi)+(1yi)(1p(xi))
损失函数 l n L ( θ ) = − 1 N ∑ i = 1 N y i p ( x i ) + ( 1 − y i ) ( 1 − p ( x i ) ) ln L(\theta)=-\frac{1}{N}\sum_{i=1}^N{y_i}p(x_i)+(1-y_i)(1-p(x_i)) lnL(θ)=N1i=1Nyip(xi)+(1yi)(1p(xi))

2. 逻辑回归损失函数可以用mse吗?(从梯度角度)

一般和平方损失函数(最小二乘法)拿来比较,因为线性回归用的就是平方损失函数,原因就是平方损失函数加上sigmoid的函数将会是一个非凸的函数,不易求解,会得到局部解,用对数似然函数得到高阶连续可导凸函数,可以得到最优解。

3. 逻辑回归在训练的过程当中,如果有很多的特征高度相关或者说有一个特征重复了100遍,会造成怎样的影响

先说结论,如果在损失函数最终收敛的情况下,其实就算有很多特征高度相关也不会影响分类器的效果
但是对特征本身来说的话,假设只有一个特征,在不考虑采样的情况下,你现在将它重复100遍。训练以后完以后,数据还是这么多,但是这个特征本身重复了100遍,实质上将原来的特征分成了100份,每一个特征都是原来特征权重值的百分之一。
如果在随机采样的情况下,其实训练收敛完以后,还是可以认为这100个特征和原来那一个特征扮演的效果一样,只是可能中间很多特征的值正负相消了。

4. 为什么我们还是会在训练的过程当中将高度相关的特征去掉

  • 去掉高度相关的特征会让模型的可解释性更好
  • 可以大大提高训练的速度。如果模型当中有很多特征高度相关的话,就算损失函数本身收敛了,但实际上参数是没有收敛的,这样会拉低训练的速度。其次是特征多了,本身就会增大训练的时间

5. 为什么用对数损失函数?例如MSE(非凸)?

  • 对数似然和交叉熵函数在二分类的情况下形势几乎是一样的,可以说最小化交叉熵的本质就是对数似然函数的最大化. 对数似然函数的本质就是衡量在某个参数下,整体的估计和真实情况一样的概率,越大代表越相近。所以采用对数似然损失是基于LR的理论支撑,即极大似然估计所推导出来的.
  • 对数似然函数是凸函数,易于优化,能收敛到全局最优,而采取其他损失如平方损失,不是一个凸函数,不易优化且容易陷入局部最优解.

6. 为什么LR比线性回归要好?

  • 线性回归:大于0则判定为1,小于0则判定为0
  • 这主要是由于线性回归在整个实数域内敏感度一致. 它根据线性回归方程 w x + b wx+b wx+b计算的结果是否大于 0 0 0来确定分类,计算结果是包含整个实数域的. 而分类范围,需要在 [ 0 , 1 ] [0,1] [0,1]之间. 逻辑回归减少了预测范围, 且逻辑回归在 0 0 0附近敏感, 在远离 0 0 0的位置不敏感,好处是模型更加关注分类边界,增加模型的鲁棒性.

7. LR与SVM比较

  • 共同点:
    • 都是分类算法
    • 如果不考虑核函数,都是线性分类算法,即分类决策面都是线性的
    • 都是有监督的学习算法
    • 都是判别模型
  • 不同点:
    • 损失函数不同,LR采用对数损失函数, svm采用hinge loss
    • 分类原理不同,LR基于概率理论,通过极大似然估计的方法估计出参数的值,SVM基于几何间隔最大化原理,认为存在最大几何间隔的分类面为最优分类面,从最大间隔出发,转化为对变量 w w w b b b的凸二次规划问题.
    • 由于分类原理不同,导致了LR是所有样本都有影响,而SVM只是少量样本有影响,即支持向量,在支持向量外添加样本点对分类没影响
    • 正因为LR受数据影响较大,所以在数据不同类型时,要对数据做balancing;同样的,由于SVM依赖数据表达的距离度测度,所以要对数据做normalization标准化.
    • 对于线性不可分的情况,SVM的核函数可以帮助将低维不可分的数据转换到高维,变成线性可份的,而LR很少用到核函数,假设我们在LR里也运用核函数的原理,那么每个样本点都必须参与核计算,这带来的计算复杂度时相当高的,所以LR很少使用核函数
    • SVM的损失函数就自带正则,这就是为什么SVM是结构风险最小化算法,而LR必须另外在损失函数上添加正则化.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值