逻辑回归 — Logistic Regression

逻辑回归通式定义如下:
{ p ( z i ) = 1 1 + e − z i z i = θ T x i \begin{cases} p(z_i) = \frac {1}{1 + e^{-z_i}} \\ z_i = \theta^Tx_i \end{cases} {p(zi)=1+ezi1zi=θTxi

要想理解逻辑回归,我们需要看一下函数 p p p的图像,如下图:
logistic_func

由图可知,在 z ∈ R z \in R zR的定义域中,函数 p p p z z z映射到 ( 0 , 1 ) (0, 1) (0,1)的值域中,其中 z = 0 z = 0 z=0时, p ( z ) = 0.5 p(z) = 0.5 p(z)=0.5。一种常见的对这个图的解释是 p ( x i ; θ ) = 1 1 + e − θ T x i p(x_i; \theta) = \frac {1}{1+e^{-\theta^Tx_i}} p(xi;θ)=1+eθTxi1是事件 x i x_i xi发生的概率。

事件 x i x_i xi发生与否其实也就是一个二分类问题。我们可以用标签 y i = 1 y_i = 1 yi=1表示事件 x i x_i xi发生,标签 y i = 0 y_i = 0 yi=0表示事件 x i x_i xi不发生。用函数 p ( x ; θ ) p(x;\theta) p(x;θ)表示事件 x x x发生的概率 P r ( Y = 1 ∣ X = x ) Pr(Y=1 \vert X=x) Pr(Y=1X=x)。因此,事件 x x x不发生的概率 P r ( Y = 0 ∣ X = x ) Pr(Y=0 \vert X=x) Pr(Y=0X=x) 1 − p ( x ; θ ) 1 - p(x;\theta) 1p(x;θ)。我们可以用一个式子表示如上两种情况:
P r ( Y = y i ∣ X = x i ) = p ( x i ; θ ) y i ( 1 − p ( x i ; θ ) ) 1 − y i Pr(Y=y_i \vert X=x_i) = p(x_i; \theta)^{y_i} (1-p(x_i; \theta))^{1-y_i} Pr(Y=yiX=xi)=p(xi;θ)yi(1p(xi;θ))1yi

从现在开始,我们应该对逻辑回归有了初步的认识。逻辑回归是一个分类算法,而非回归算法。本文主要分析其在二分类问题中的应用。逻辑回归以概率的方式来对数据进行分类。例如,设置阈值为 0.5 0.5 0.5,如果 P r ( Y = 1 ∣ X = x i ) ≥ 0.5 Pr(Y=1 \vert X=x_i) \ge 0.5 Pr(Y=1X=xi)0.5,则将数据 x i x_i xi标记为类 1 1 1,否则将其标记为类 0 0 0 p ( x i ; θ ) = 0.5 p(x_i;\theta) = 0.5 p(xi;θ)=0.5其实就是一个超平面,平面之上的点组成 y i = 1 y_i = 1 yi=1的集合,平面之下的点组成 y i = 0 y_i = 0 yi=0的集合。总结一下我们的问题:已知 x i x_i xi y i y_i yi,求函数 p ( x i ; θ ) p(x_i; \theta) p(xi;θ)中的 θ \theta θ的取值。

首先,我先给出此问题的似然函数:
∏ i = 1 m P r ( Y = y i ∣ X = x i ) \prod\limits_{i=1}^m Pr(Y=y_i \vert X=x_i) i=1mPr(Y=yiX=xi)

为了理解这个最大似然估计函数,我们考虑一个简单的、却类似的问题。假设一个袋子里有若干颗白球和黑球,在10次有放回的抽取中,我抽到了8次黑球,2次白球。如何求袋子中黑白球的比例呢?我们可以利用最大似然估计:假设我抽取到黑球的概率为 p p p,那么我这次抽取得到8次黑球、2次白球的概率为:
P = p 8 ∗ ( 1 − p ) 2 P = p^8*(1-p)^2 P=p8(1p)2

我们用使这次抽取结果发生的概率 P P P最大化的 p ^ \hat p p^值去近似替代实际的 p p p值。

同样的道理,回到逻辑回归的问题中。我们要目前已知的标签集合 Y Y Y发生的概率最大化,求该情况下的 θ \theta θ的取值。因此:
L ( θ ) = ∏ i = 1 m P r ( Y = y i ∣ X = x i ) = ∏ i = 1 m p ( x i ; θ ) y i ( 1 − p ( x i ; θ ) ) 1 − y i L(\theta) = \prod\limits_{i=1}^m Pr(Y=y_i \vert X=x_i) = \prod\limits_{i=1}^m p(x_i; \theta)^{y_i} (1-p(x_i; \theta))^{1-y_i} L(θ)=i=1mPr(Y=yiX=xi)=i=1mp(xi;θ)yi(1p(xi;θ))1yi

对数似然函数为:
l ( θ ) = log ⁡ ( L ( θ ) ) = ∑ i = 1 m log ⁡ [ p ( x i ; θ ) y i ( 1 − p ( x i ; θ ) ) 1 − y i ] = ∑ i = 1 m [ y i log ⁡ p ( x i ) + ( 1 − y i ) log ⁡ ( 1 − p ( x i ) ) ] = ∑ i = 1 m [ log ⁡ ( 1 − p ( x i ) ) + y i ( log ⁡ p ( x i ) − log ⁡ ( 1 − p ( x i ) ) ) ] = ∑ i = 1 m [ log ⁡ ( 1 − p ( x i ) ) + y i log ⁡ p ( x i ) 1 − p ( x i ) ] = ∑ i = 1 m [ log ⁡ ( 1 − 1 1 + e − θ T x i ) + y i log ⁡ ( 1 + e − θ T x i ) − 1 1 − ( 1 + e − θ T x i ) − 1 ] = ∑ i = 1 m [ log ⁡ e − θ T x i 1 + e − θ T x i + y i log ⁡ 1 ( 1 + e − θ T x i ) − 1 ] = ∑ i = 1 m [ log ⁡ 1 e θ T x i + 1 + y i log ⁡ e θ T x i ] = ∑ i = 1 m − log ⁡ ( e θ T x i + 1 ) + ∑ i = 1 m y i θ T x i \begin{aligned} & l(\theta) = \log(L(\theta)) = \sum\limits_{i=1}^m \log[p(x_i; \theta)^{y_i} (1-p(x_i; \theta))^{1-y_i}] \\ & = \sum\limits_{i=1}^m [y_i \log p(x_i) +(1-y_i)\log (1-p(x_i))] \\ & = \sum\limits_{i=1}^m [\log (1-p(x_i)) + y_i(\log p(x_i) - \log(1-p(x_i)))] \\ & = \sum\limits_{i=1}^m [\log (1-p(x_i)) + y_i\log \frac {p(x_i)}{1-p(x_i)}] \\ & = \sum\limits_{i=1}^m [\log (1-\frac {1}{1+e^{-\theta^Tx_i}}) + y_i\log \frac {(1+e^{-\theta^Tx_i})^{-1}}{1-(1+e^{-\theta^Tx_i})^{-1}}] \\ & = \sum\limits_{i=1}^m [\log \frac {e^{-\theta^Tx_i}}{1+e^{-\theta^Tx_i}} + y_i\log \frac {1}{(1+e^{-\theta^Tx_i}) -1}] \\ & = \sum\limits_{i=1}^m [\log \frac {1}{e^{\theta^Tx_i}+1} + y_i\log e^{\theta^Tx_i}] \\ & = \sum\limits_{i=1}^m -\log (e^{\theta^Tx_i}+1) + \sum\limits_{i=1}^m y_i\theta^Tx_i \\ \end{aligned} l(θ)=log(L(θ))=i=1mlog[p(xi;θ)yi(1p(xi;θ))1yi]=i=1m[yilogp(xi)+(1yi)log(1p(xi))]=i=1m[log(1p(xi))+yi(logp(xi)log(1p(xi)))]=i=1m[log(1p(xi))+yilog1p(xi)p(xi)]=i=1m[log(11+eθTxi1)+yilog1(1+eθTxi)1(1+eθTxi)1]=i=1m[log1+eθTxieθTxi+yilog(1+eθTxi)11]=i=1m[logeθTxi+11+yilogeθTxi]=i=1mlog(eθTxi+1)+i=1myiθTxi

l ( θ ) l(\theta) l(θ) θ j \theta_j θj的偏导数:
∂ l ( θ ) ∂ θ j = ∂ θ j [ ∑ i = 1 m − log ⁡ ( e θ T x i + 1 ) + ∑ i = 1 m y i θ T x i ] = ∑ i = 1 m − e θ T x i x i j 1 + e θ T x i + ∑ i = 1 m y i x i j = ∑ i = 1 m [ y i − e θ T x i 1 + e θ T x i ] x i j = ∑ i = 1 m [ y i − 1 1 + e − θ T x i ] x i j = ∑ i = 1 m [ y i − p ( x i ; θ ) ] x i j \begin{aligned} & \frac {\partial l(\theta)}{\partial \theta_j} = \frac {\partial}{\theta_j} [\sum\limits_{i=1}^m -\log (e^{\theta^Tx_i}+1) + \sum\limits_{i=1}^m y_i\theta^Tx_i] \\ & = \sum\limits_{i=1}^m -\frac {e^{\theta^Tx_i}x_i^j}{1+e^{\theta^Tx_i}} + \sum\limits_{i=1}^m y_ix_i^j \\ & = \sum\limits_{i=1}^m[y_i - \frac {e^{\theta^Tx_i}}{1+e^{\theta^Tx_i}}]x_i^j \\ & = \sum\limits_{i=1}^m[y_i - \frac {1}{1+e^{-\theta^Tx_i}}]x_i^j \\ & = \sum\limits_{i=1}^m[y_i - p(x_i;\theta)]x_i^j \\ \end{aligned} θjl(θ)=θj[i=1mlog(eθTxi+1)+i=1myiθTxi]=i=1m1+eθTxieθTxixij+i=1myixij=i=1m[yi1+eθTxieθTxi]xij=i=1m[yi1+eθTxi1]xij=i=1m[yip(xi;θ)]xij

最后,通过梯度上升求 l ( θ ) l(\theta) l(θ)最大化时 θ \theta θ的近似解:
θ j : = θ j + α ∂ l ( θ ) ∂ θ j \theta_j := \theta_j + \alpha \frac {\partial l(\theta)}{\partial \theta_j} θj:=θj+αθjl(θ)

将上式写成向量形式,即: θ = θ + α ▽ l ( θ ) \theta = \theta + \alpha \bigtriangledown l(\theta) θ=θ+αl(θ)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值