逻辑回归

逻辑回归

一、问题

  1. 考虑二分类问题

给定给定数据集 D \mathbf{D} D = {( x 1 \mathbf{x}_{1} x1, y 1 y_{1} y1),( x 2 \mathbf{x}_{2} x2, y 2 y_{2} y2),…,( x m \mathbf{x}_{m} xm, y m y_{m} ym)},其中 x i \mathbf{x}_{i} xi = { x i 1 x_{i1} xi1; x i 2 x_{i2} xi2;…; x i d x_{id} xid}, y i ∈ { 0 , 1 } y_{i} \in \left \{ 0, 1\right \} yi{0,1}

  • 考虑到 ω T x + b \mathbf{\omega}^{T}\mathbf{x} + b ωTx+b取值是连续的,因此它不能拟合离散变量

    可以考虑用它来拟合条件概率 p ( y = 1   ∣   x ) p(y = 1\ | \ \mathbf{x}) p(y=1  x),因为概率的取值也是连续的

  • 但是对于 w ≠ 0 \mathbf{w} \neq \mathbf{0} w̸=0 (若等于零向量则没有什么求解的价值), z = ω T x + b z = \mathbf{\omega}^{T}\mathbf{x} + b z=ωTx+b取值是从 − ∞ ∼ + ∞ -\infty \sim +\infty +,不符合概率取值为 0 ∼ 1 0 \sim 1 01,于是,我们需将实值 z z z转换为0/1值

    最理想的是单位阶跃函数(unit-step function)

    (1) y = { 0 ,     z &lt; 0 ; 0.5 ,   z = 0 ; 1 ,     z &gt; 0 ; y = \left\{\begin{matrix} 0,\ \ \ z &lt; 0; &amp; \\ 0.5,\ z = 0;&amp; \\ 1,\ \ \ z &gt; 0;&amp; \end{matrix}\right. \tag{1} y=0,   z<0;0.5, z=0;1,   z>0;(1)

    即若预测值 z z z大于零就判为正例,小于零则判为反例,预测值为临界值零则可任意判别,如图

    在这里插入图片描述

  • 但从图可以看出,单位阶跃函数不满足单调可微,不能直接用作 g ( ⋅ ) g(·) g(),于是我们希望找到能在一定程度上近似单位阶跃函数的替代函数(surrogate function)。对数几率函数(logistic function)正式这样一个常用的替代函数

    (2) y = 1 1 + e − z y = \frac{1}{1+e^{-z}} \tag{2} y=1+ez1(2)

    从图中可以看出,对数几率函数是一种Sigmoid函数,它将 z z z值转化为一个接近 0 0 0 1 1 1 y y y值,并且其输出值在 z = 0 z = 0 z=0附近变化很陡

    Sigmoid函数即形似S的函数,对率函数是Sigmoid函数最重要的代表

  • 采用广义线性模型,得到

    (3) y = 1 1 + e − ( ω T x + b ) y = \frac{1}{1+e^{-(\mathbf{\omega}^{T}\mathbf{x} + b)}} \tag{3} y=1+e(ωTx+b)1(3)

    若将 y = 1 1 + e − z y = \frac{1}{1+e^{-z}} y=1+ez1视为 x x x作为正例的可能性,则 1 − y = e − z 1 + e − z 1-y = \frac{e^{-z}}{1+e^{-z}} 1y=1+ezez是其反例可能性,两者的比值

    (4) y 1 − y \frac{y}{1- y} \tag{4} 1yy(4)

    称为几率(odds),反映了 x x x作为正例的相对可能性

    (5) l n ( y 1 − y ) = z = ω T x + b ln( \frac{y}{1- y}) = z = \mathbf{\omega}^{T}\mathbf{x} + b \tag{5} ln(1yy)=z=ωTx+b(5)

    对几率取对数则得到对数几率(log odds,亦称logit)

    由此可以看出,式(3)实际上是在用线性模型的预测结果去逼近真实标记对数几率,因此,其对应的模型称为对数几率回归(logistic regression,亦称logit regression)

  1. 虽然对数几率回归名字带有回归,但是它是一种分类的学习方法。其优点
  • 直接对分类的可能性进行建模,无需事先假设数据分布,这就避免了因为假设分布不准确带来的问题
  • 不仅预测出来类别,还得到了近似概率的预测,这对许多需要利用概率辅助决策的任务有用
  • 对数函数是任意阶可导的凸函数,有很好的数学性质,很多数值优化算法都能直接用于求取最优解

二、参数估计

  1. 给定给定数据集 D \mathbf{D} D = {( x 1 \mathbf{x}_{1} x1, y 1 y_{1} y1),( x 2 \mathbf{x}_{2} x2, y 2 y_{2} y2),…,( x m \mathbf{x}_{m} xm, y m y_{m} ym)},其中 x i \mathbf{x}_{i} xi = { x i 1 x_{i1} xi1; x i 2 x_{i2} xi2;…; x i d x_{id} xid}, y i ∈ { 0 , 1 } y_{i} \in \left \{ 0, 1\right \} yi{0,1}。可以用极大似然估计法估计模型参数,从而得出模型。

    为方便讨论,令 θ = ( ω ; b ) \mathbf{\theta} = (\mathbf{\omega};b) θ=(ω;b) x = ( x ; 1 ) \mathbf{x} = (\mathbf{x};1) x=(x;1),则 ω T x + b \mathbf{\omega}^{T}\mathbf{x} + b ωTx+b可简写为 θ T x \mathbf{\theta}^T\mathbf{x} θTx,预测函数为

    (6) h θ ( x ) = g ( θ T x ) = 1 1 + e − θ T x h_{\mathbf{\theta}}(x) = g(\mathbf{\theta}^T\mathbf{x}) = \frac{1}{1+e^{-\mathbf{\theta}^{T}\mathbf{x}}} \tag{6} hθ(x)=g(θTx)=1+eθTx1(6)

    其中 θ 0 + θ 1 x 1 + , … , +   θ m x m = ∑ i = 1 m θ i x i = θ T x \theta_{0} + \theta_{1}x_{1} + ,…, + \ \theta_{m}x_{m} = \sum_{i=1}^m\theta_{i}x_{i} = \mathbf{\theta}^Tx θ0+θ1x1+,,+ θmxm=i=1mθixi=θTx

  2. 对于二分类任务,令 P ( y = 1 ∣ x ; θ ) = h θ ( x ) P(y = 1|x;\mathbf{\theta}) = h_{\mathbf{\theta}}(x) P(y=1x;θ)=hθ(x),则 P ( y = 0 ∣ x ; θ ) = 1 − h θ ( x ) P(y = 0|x;\mathbf{\theta}) = 1- h_{\mathbf{\theta}}(x) P(y=0x;θ)=1hθ(x)

    整合后

    (7) P ( y ∣ x ; θ ) = ( h θ ( x ) ) y ( 1 − h θ ( x ) ) 1 − y P(y|x;\mathbf{\theta}) = (h_{\mathbf{\theta}}(x))^{y}(1- h_{\mathbf{\theta}}(x))^{1-y} \tag{7} P(yx;θ)=(hθ(x))y(1hθ(x))1y(7)

    解释:对于二分类任务(0, 1),整合后y取0只保留 1 − h θ ( x ) 1- h_{\mathbf{\theta}}(x) 1hθ(x),y取1只保留 h θ ( x ) h_{\mathbf{\theta}}(x) hθ(x)

  3. 由于有 P ( y = 1 ∣ x ; θ ) P(y = 1|x;\mathbf{\theta}) P(y=1x;θ) ; P ( y = 0 ∣ x ; θ ) P(y = 0|x;\mathbf{\theta}) P(y=0x;θ),我们可以通过极大似然法(maximum likelihood method)来估计 θ \mathbf{\theta} θ

    似然函数

    (8) L ( θ ) = ∏ i = 1 m P ( y i ∣ x i ; θ ) = ∏ i = 1 m ( h θ ( x i ) ) y i ( 1 − h θ ( x i ) ) 1 − y i L(\mathbf{\theta}) =\prod_{i = 1}^{m}P(y_{i}|x_{i};\mathbf{\theta}) = \prod_{i = 1}^{m}(h_{\mathbf{\theta}}(x_{i}))^{y_{i}}(1- h_{\mathbf{\theta}}(x_{i}))^{1-y_{i}} \tag{8} L(θ)=i=1mP(yixi;θ)=i=1m(hθ(xi))yi(1hθ(xi))1yi(8)

    对数似然(log likelihood)

    (9) l ( θ ) = l n L ( θ ) = ∑ i = 1 m ( y i l n h θ ( x i ) + ( 1 − y i ) l n ( 1 − h θ ( x i ) ) ) l(\mathbf{\theta}) = lnL(\mathbf{\theta}) = \sum_{i=1}^m(y_{i} lnh_{\mathbf{\theta}}(x_{i}) + (1-y_{i})ln(1 - h_{\mathbf{\theta}}(x_{i}))) \tag{9} l(θ)=lnL(θ)=i=1m(yilnhθ(xi)+(1yi)ln(1hθ(xi)))(9)

    式(9)是关于 θ \mathbf{\theta} θ的高阶可导连续凸函数,根据凸优化理论,经典的数值优化算法如梯度下降法(gradient descent method)、牛顿法(Newton method)等都可以求得其最优解,于是就得到

    (10) θ ∗ = a r g max ⁡ θ l ( θ ) \mathbf{\theta^*} = \underset{\mathbf{\theta}}{arg\max}l(\mathbf{\theta}) \tag{10} θ=θargmaxl(θ)(10)

三、求解

对于式(9),应用梯度上升求最大值,引入 J ( θ ) = − 1 m l ( θ ) J(\mathbf{\theta}) = -\frac{1}{m}l(\mathbf{\theta}) J(θ)=m1l(θ)转换为梯度下降任务

求解过程

∂ J ( θ ) θ j = − 1 m ∑ i = 1 m ( y i 1 h θ ( x i ) ∂ h θ ( x i ) ∂ θ j − ( 1 − y i ) 1 1 − h θ ( x i ) ∂ h θ ( x i ) ∂ θ j ) \frac{\partial J(\mathbf{\theta})}{\theta_{j}} = -\frac{1}{m}\sum_{i=1}^{m}(y_{i}\frac{1}{h_{\theta}(x_{i})}\frac{\partial h_\theta(x_i)}{\partial \theta_j} - (1-y_i)\frac{1}{1-h_{\theta}(x_{i})}\frac{\partial h_\theta(x_i)}{\partial \theta_j}) θjJ(θ)=m1i=1m(yihθ(xi)1θjhθ(xi)(1yi)1hθ(xi)1θjhθ(xi))

= − 1 m ∑ i = 1 m ( y i 1 g ( θ T x i ) − ( 1 − y i ) 1 1 − g ( θ T x i ) ) ∂ g ( θ T x i ) ∂ θ j = -\frac{1}{m}\sum_{i=1}^{m}(y_{i}\frac{1}{g(\mathbf{\theta}^Tx_i)} - (1-y_i)\frac{1}{1-g(\mathbf{\theta}^Tx_i)})\frac{\partial g(\mathbf{\theta}^Tx_i)}{\partial \theta_j} =m1i=1m(yig(θTxi)1(1yi)1g(θTxi)1)θjg(θTxi)

= − 1 m ∑ i = 1 m ( y i 1 g ( θ T x i ) − ( 1 − y i ) 1 1 − g ( θ T x i ) ) g ( θ T x i ) ( 1 − g ( θ T x i ) ) ∂ θ T x i ∂ θ j = -\frac{1}{m}\sum_{i=1}^{m}(y_{i}\frac{1}{g(\mathbf{\theta}^Tx_i)} - (1-y_i)\frac{1}{1-g(\mathbf{\theta}^Tx_i)})g(\mathbf{\theta}^Tx_i)(1-g(\mathbf{\theta}^Tx_i))\frac{\partial \theta^Tx_i}{\partial \theta_j} =m1i=1m(yig(θTxi)1(1yi)1g(θTxi)1)g(θTxi)(1g(θTxi))θjθTxi

= − 1 m ∑ i = 1 m ( y i ( 1 − g ( θ T x i ) ) − ( 1 − y i ) g ( θ T x i ) ) x i j = -\frac{1}{m}\sum_{i=1}^{m}(y_{i}(1-g(\mathbf{\theta}^Tx_i)) - (1-y_i)g(\mathbf{\theta}^Tx_i))x_i^j =m1i=1m(yi(1g(θTxi))(1yi)g(θTxi))xij

= − 1 m ∑ i = 1 m ( y i − g ( θ T x i ) ) x i j = -\frac{1}{m}\sum_{i=1}^{m}(y_i - g(\mathbf{\theta}^Tx_i))x_i^j =m1i=1m(yig(θTxi))xij

= 1 m ∑ i = 1 m ( h θ ( x i ) − y i ) x i j = \frac{1}{m}\sum_{i=1}^{m}(h_\theta(x_i) - y_i)x_i^j =m1i=1m(hθ(xi)yi)xij

参数更新

θ j : = θ j − α 1 m ∑ i = 1 m ( h θ ( x i ) − y i ) x i j \theta_j := \theta_j - \alpha\frac{1}{m}\sum_{i=1}^{m}(h_\theta(x_i) - y_i)x_i^j θj:=θjαm1i=1m(hθ(xi)yi)xij

参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值