逻辑回归灵魂拷问之(二)——渐入佳境

逻辑回归灵魂拷问之(二)——渐入佳境

在上篇文章(小试牛刀)中我们讲述了一些逻辑回归的常见问答,这篇文章还是继续上篇文章继续深入挖掘逻辑回归的常见问题。

1、逻辑回归的为什么采用交叉熵的损失函数

这个一般是通过极大似然估计推导出来的。由于最终的结果服从伯努利分布,我们有:

P ( Y = 1 ∣ x ) = p ( x ) P(Y=1|x)=p(x) P(Y=1x)=p(x) P ( Y = 0 ∣ x ) = 1 − p ( x ) P(Y=0|x)=1-p(x) P(Y=0x)=1p(x)
可以得到似然函数:
Π [ p ( x i ) y i ( 1 − p ( x i ) ) 1 − y i ] \Pi[p(x_i)^{y_i}(1-p(x_i))^{1-y_i}] Π[p(xi)yi(1p(xi))1yi]
l o g log log可以得到:

L ( w ) = Σ [ y i l o g ( p ( x i ) ) + ( 1 − y i ) l o g ( 1 − p ( x i ) ) ] L(w)=\Sigma[y_ilog(p(x_i))+(1-y_i)log(1-p(x_i))] L(w)=Σ[yilog(p(xi))+(1yi)log(1p(xi))]
进一步可以得到损失函数:
− 1 N Σ [ y i l o g ( p ( x i ) ) + ( 1 − y i ) l o g ( 1 − p ( x i ) ) ] -\frac{1}{N}\Sigma[y_ilog(p(x_i))+(1-y_i)log(1-p(x_i))] N1Σ[yilog(p(xi))+(1yi)log(1p(xi))]
我们都知道交叉熵公式为:
− ( y i l o g ( p ( x i ) ) + ( 1 − y i ) l o g ( 1 − p ( x i ) ) ) -(y_ilog(p(x_i))+(1-y_i)log(1-p(x_i))) (yilog(p(xi))+(1yi)log(1p(xi)))
从最大似然推导出来的损失函数刚好就是交叉熵。

2、逻辑回归的优化方法是什么,以及为什么使用该方法

逻辑回归常用的优化方法是梯度下降法。

能够采用梯度下降法的原因就是逻辑回归的代价函数是凸函数,采用梯度下降不会陷入到一个局部最优解中,它会一直朝着全局最优靠近。

还有一个问题是为什么采用最大似然而不可以采用最小二乘法,比如这样的:

L = Σ ( y i − 1 1 + e − w T x i + b ) 2 L=\Sigma(y_i-\frac{1}{1+e^{-w^Tx_i+b}})^2 L=Σ(yi1+ewTxi+b1)2
主要的原因有也是上面的式子是一个非凸的函数,容易得到局部最优解。

3、逻辑回归为什么要使用激活函数,以及为什么使用sigmoid函数,它有什么好处

sigmoid函数的好处主要有:
单调递增,可以将值压缩到0-1之间,求导非常的容易等。但是这些sigmoid的好处并不是作者采用sigmoid函数最根本的原因。满足该类条件的函数其实有很多。

主要原因用一句话解释的话就是:逻辑回归是广义线性模型中的一种,并且服从于伯努利分布,是指数分布族的一种,将逻辑回归的概率函数用指数族分布的形式表示,可以推导除来Sigmoid函数。

广义线性模型的三点假设:
1: p ( y ∣ x ; θ ) p(y|x;\theta) p(yx;θ)服从指数族分布
2:给定 x x x,目标是求解 T ( y ) ∣ x T(y)|x T(y)x,即给定 T ( y ) T(y) T(y)在给定 x x x下的期望
3:自然参数 η \eta η x x x是线性关系: η = θ T x \eta=\theta^Tx η=θTx
逻辑回归自然是广义线性模型中的一种

指数族分布

指数族分布一般有如下的形式:

p ( y ; η ) = b ( y ) e x p ( η T T ( y ) − α ( η ) ) p(y;\eta)=b(y)exp(\eta^TT(y)-\alpha(\eta)) p(y;η)=b(y)exp(ηTT(y)α(η))

其中:
η 是 自 然 参 数 \eta是自然参数 η
T ( y ) T(y) T(y)是充分统计量,一般情况下 T ( y ) = y T(y)=y T(y)=y
一般我们常见的正态分布,伯努利分布等都是指数族分布。

我们都知道逻辑回归是服从伯努利分布的,我们现在假设激活函数是 h h h,有:

p ( y = 1 ; ϕ ) = ϕ , p ( y = 0 ; ϕ ) ) = 1 − ϕ p(y=1;\phi)=\phi ,p(y=0;\phi))=1-\phi p(y=1;ϕ)=ϕ,p(y=0;ϕ))=1ϕ
可以得到:
p ( y ∣ x ) = ϕ y ( 1 − ϕ ) 1 − y = e x p ( y l o g ϕ + ( 1 − y ) l o g ( 1 − ϕ ) ) = e x p ( y ( l o g ϕ 1 − ϕ ) + l o g ( 1 − ϕ ) ) \begin{aligned} p(y|x) &=\phi^y(1-\phi)^{1-y}\\ &= exp(ylog\phi+(1-y)log(1-\phi))\\ &=exp(y(log\frac{\phi}{1-\phi})+log(1-\phi)) \end{aligned} p(yx)=ϕy(1ϕ)1y=exp(ylogϕ+(1y)log(1ϕ))=exp(y(log1ϕϕ)+log(1ϕ))
将上面的式子采用指数族分布的方式写的话:
T ( y ) = y α = − l o g ( 1 − ϕ ) b ( y ) = 1 η = l o g ϕ 1 − ϕ = > ϕ = 1 1 + e − η \begin{aligned} &T(y)=y\\ &\alpha=-log(1-\phi)\\ &b(y)=1\\ &\eta=log\frac{\phi}{1-\phi}=>\phi=\frac{1}{1+e^{-\eta}} \end{aligned} T(y)=yα=log(1ϕ)b(y)=1η=log1ϕϕ=>ϕ=1+eη1
衍生问题:其实线性回归的平方还有softmax的函数都可以采用这种方法推导出来

4:逻辑回归与贝叶斯之间有没有什么联系
上一篇文章在正则化中也提到了,正则化防止过拟合的解释可以从贝叶斯的思想出发,下面我们来推导从贝叶斯到逻辑回归的正则化。
逻辑回归其实是假设参数是确定,我们需要来求解参数。贝叶斯假设逻辑回归的参数是服从某种分布的。假设参数 w w w的概率模型为 p ( w ) p(w) p(w)。使用贝叶斯推理的话:

p ( w ∣ D ) ≺ p ( w ) p ( D ∣ w ) = Π j = 1 M p ( w j ) Π i = 1 N p ( D i ∣ w j ) p(w|D)\prec p(w)p(D|w)=\Pi^{M}_{j=1}p(w_j)\Pi^{N}_{i=1}p(D_i|w_j) p(wD)p(w)p(Dw)=Πj=1Mp(wj)Πi=1Np(Diwj)
对上式取 l o g log log

= > a r g m a x w [ Σ j = 1 M l o g p ( w j ) + Σ i = 1 N l o g p ( D i ∣ w ) ] = > a r g m a x w [ Σ i = 1 N l o g p ( D i ∣ w ) + Σ j = 1 M l o g p ( w j ) ] = > a r g m i n w ( − 1 N Σ i = 1 N l o g p ( D i ∣ w ) − 1 N Σ j = 1 M l o g p ( w j ) ) \begin{aligned} &=>argmax_w[\Sigma^{M}_{j=1}logp(w_j)+\Sigma^{N}_{i=1}logp(D_i|w)]\\ &=>argmax_w[\Sigma^{N}_{i=1}logp(D_i|w)+\Sigma^{M}_{j=1}logp(w_j)]\\ &=>argmin_w (-\frac{1}{N}\Sigma^{N}_{i=1}logp(D_i|w)-\frac{1}{N}\Sigma^{M}_{j=1}logp(w_j)) \end{aligned} =>argmaxw[Σj=1Mlogp(wj)+Σi=1Nlogp(Diw)]=>argmaxw[Σi=1Nlogp(Diw)+Σj=1Mlogp(wj)]=>argminw(N1Σi=1Nlogp(Diw)N1Σj=1Mlogp(wj))
前面的式子大家很熟悉,就是逻辑回归的损失函数。现在假设 p ( w ) p(w) p(w)服从某个分布,相当于引入一个先验的知识。如果 p ( w ) p(w) p(w)服从均值为0拉普拉斯分布:
p ( w ) = 1 2 λ e − ∣ w ∣ λ p(w)=\frac{1}{2\lambda}e^{\frac{-|w|}{\lambda}} p(w)=2λ1eλw
p ( w ) p(w) p(w)代入上面的式子可以得到:
Σ j = 1 M l o g p ( w j ) = > Σ j = 1 M ( − ∣ w i ∣ λ l o g ( 1 2 λ ) ) \Sigma^{M}_{j=1}logp(w_j)=>\Sigma^{M}_{j=1}(-\frac{|w_i|}{\lambda}log(\frac{1}{2\lambda})) Σj=1Mlogp(wj)=>Σj=1M(λwilog(2λ1))
将参数 1 λ l o g ( 1 2 λ ) \frac{1}{\lambda}log(\frac{1}{2\lambda}) λ1log(2λ1)用一个新的参数 λ \lambda λ代替,然后就可以得到我们正则化L1的正则化项:
λ Σ j = 1 M ∣ w i ∣ \lambda\Sigma^{M}_{j=1}|w_i| λΣj=1Mwi
两部分加起来就是逻辑回归L1正则化下的损失函数了。

L2正则化也是同样的道理,只不过是假设 p ( w ) p(w) p(w)服从均值为0的正态分布。

关于逻辑回归的问题就总结到这里了,如果有什么别的问题的话,欢迎大家一起交流。

欢迎大家加入我们challengeHub的群和我们一起交流,关于数据分析,数据挖掘,python学习,深度学习,自然语言处理的都可以进群交流,群内各路大佬。欢迎大家一起学习成长。
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值