逻辑回归和KL距离


逻辑回归属于线性分类器,是线性回归的延伸。

和线性回归一样,LR先随机一个权重W,然后原始数据通过模型,计算得到y_hat,再与y_true比较,计算损失,通过梯度下降来更新权重。

逻辑回归能否和线性回归一样使用MSE来计算损失?

MSE本质是求距离,而逻辑回归计算的是概率,先说结论,概率之间的差异使用KL距离。

KL距离

1、两个概率分布p相对q的KL距离的定义是:
K L ( p , q ) = Σ i n p ( x i ) l o g p ( x i ) q ( x i ) KL_(p,q)=\Sigma_i^n p(x_i)log\frac{p(x_i)}{q(x_i)} KL(p,q)=Σinp(xi)logq(xi)p(xi

​假设有两个硬币P,Q,正反面的概率分别如下:
在这里插入图片描述
那么:
在这里插入图片描述
这里:1、若两个硬币概率分布一样,那么log后面的 p(x)=q(x),log后恒为1。即两个概率分布要是一样,那么KL距离为0。
2、KL距离不具备对称性。

KL距离的不对称

假设p(x) 和 q(x) 的分布分别为:
在这里插入图片描述
K L ( p , q ) = Σ ( p ( x ) l o g p ( x ) − p ( x ) l o g ( q ( x ) ) KL(p, q)= \Sigma(p(x)logp(x)-p(x)log(q(x)) KLp,q=Σ(p(x)logp(x)p(x)log(q(x))
Σ ( p ( x ) ) = 1 , Σ ( q ( x ) ) = 1 \Sigma(p(x))=1, \Sigma(q(x))=1 Σ(p(x))=1Σ(q(x))=1
括号中的前一项与q 分布无关,所以得到结论:
1、当p的概率取值大的时候,所对应的q应该越大越好,以使得p(x)log(q(x))取值更大。
而同时,当p取值很小的时候,q就不是很重要,因为更大取值的q被分配到拟合更大的p概率上。
所以上图中,KL(p, q1) < KL(p, q2)

2、 考虑KL(q,p)时,
K L ( q , p ) = Σ ( q ( x ) l o g q ( x ) − q ( x ) l o g ( p ( x ) ) KL(q, p)= \Sigma(q(x)logq(x)-q(x)log(p(x)) KLq,p=Σ(q(x)logq(x)q(x)log(p(x))
由于log函数的特性,当p很小时,log p 趋向于负无穷,若要KL(p, q)取值小,此时的q 取值也必须非常小,来抵消log p 的影响。

结论:概率p 固定时,KL(p, q)是Q尽可能去优先匹配P的大值;
而KL(q, p)是Q尽可能去优先匹配P的小值

交叉熵

对于公式 K L ( p , q ) = Σ ( p ( x ) l o g p ( x ) − p ( x ) l o g ( q ( x ) ) KL(p, q)= \Sigma(p(x)logp(x)-p(x)log(q(x)) KL(p,q)=Σ(p(x)logp(x)p(x)log(q(x)),若真实标签y=1,KL可以学习;但当真实标签y=0时,log后面为0,导致无法学习。
同时考虑二分类的实际情况——要同时让正样本的预测概率趋向于1,负样本的预测概率趋向于0(1-fi 趋向于(1-yi))。
这里使用交叉熵损失,实际上交叉熵损失就是KL(预测正类, 真实正类)+ KL(预测负类, 真实负类)
在这里插入图片描述
交叉熵:
− 1 n Σ 1 n [ y i l o g f i + ( 1 − y i ) l o g ( 1 − f i ) ] -\frac{1}{n}\Sigma_1^n[y_ilogf_i+(1-y_i)log(1-f_i)] n1Σ1n[yilogfi+(1yi)log(1fi)]
在这里插入图片描述

为什么不用MSE?

MSE函数的梯度是:
在这里插入图片描述
在计算概率差异时,若使用MSE作为损失存在两个问题:
1、当w非常大的时候,fi 会趋近于0或1,梯度中(fi-yi)fi 会趋近于0,非常之小,不利于参数更新。
2、fi(1-fi) 本身就很小,1、2叠加导致不能使用mse。
3、事实上,在逻辑回归中的MSE曲线并非完全凸函数,存在多个极小值,而KL距离是严格凸函数,天然有优势。
在这里插入图片描述

从最大似然来看

数据{xi}-> {yi}。
最大化xi 和 yi 的共现概率:
在这里插入图片描述
即最大化 m a x Σ i n l o g P ( y i ∣ x i ) max \Sigma_i^n logP(yi|xi) maxΣinlogP(yixi)
P ( y = 1 ∣ x ) = f ( x ) ; P ( y = 0 ∣ x ) = 1 − f ( x ) P(y=1|x)=f(x); P(y=0|x)=1-f(x) P(y=1∣x)=f(x);P(y=0∣x)=1f(x)合并y为0和1的情况==>
P ( Y ∣ X ) = f y ( 1 − f ) ( 1 − y ) P(Y|X)=f^y(1-f)^{(1-y)} P(YX)=fy(1f)(1y)
两边取log:
l o g P ( Y ∣ X ) = l o g [ f y ( 1 − f ) ( 1 − y ) ] logP(Y|X)=log[f^y(1-f)^{(1-y)}] logP(YX)=log[fy(1f)(1y)]
即要max y l o g f + ( 1 − y ) l o g ( 1 − f ) ylogf+(1-y)log(1-f) ylogf+(1y)log(1f)
这和min KL距离完全等价。

其他

1、LR的好处是当X特征稀疏时,运算非常快。
2、考虑一个判断癌症的LR分类器,是否sigmoid>0.5就判断得病? 显然是不对的,具体阈值设置要看场景。
3、LR参数更新可以看作是每个样本都把分割线向远离自己的地方推,当类别不均衡时,样本数多的类别力量就会更强,会把分类超平面往少数类推(这样即使判断出错,准确率也很高)。这时就要使用上采样/下采样,实际中一般采用上采样,即随机重复少类的样本,因为标准数据的价值很高,使用下采样会浪费数据。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值