逻辑回归

逻辑回归

一、问题

  1. 考虑二分类问题

给定给定数据集D\mathbf{D} = {(x1\mathbf{x}_{1},y1y_{1}),(x2\mathbf{x}_{2},y2y_{2}),…,(xm\mathbf{x}_{m},ymy_{m})},其中 xi\mathbf{x}_{i} = {xi1x_{i1};xi2x_{i2};…;xidx_{id}},yi{0,1}y_{i} \in \left \{ 0, 1\right \}

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

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

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

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

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

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

    逻辑回归

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

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

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

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

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

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

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

    (4)y1y \frac{y}{1- y} \tag{4}

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

    (5)ln(y1y)=z=ωTx+bln( \frac{y}{1- y}) = z = \mathbf{\omega}^{T}\mathbf{x} + b \tag{5}

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

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

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

二、参数估计

  1. 给定给定数据集D\mathbf{D} = {(x1\mathbf{x}_{1},y1y_{1}),(x2\mathbf{x}_{2},y2y_{2}),…,(xm\mathbf{x}_{m},ymy_{m})},其中 xi\mathbf{x}_{i} = {xi1x_{i1};xi2x_{i2};…;xidx_{id}},yi{0,1}y_{i} \in \left \{ 0, 1\right \}。可以用极大似然估计法估计模型参数,从而得出模型。

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

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

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

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

    整合后

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

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

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

    似然函数

    (8)L(θ)=i=1mP(yixi;θ)=i=1m(hθ(xi))yi(1hθ(xi))1yiL(\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}

    对数似然(log likelihood)

    (9)l(θ)=lnL(θ)=i=1m(yilnhθ(xi)+(1yi)ln(1hθ(xi)))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}

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

    (10)θ=argminθl(θ)\mathbf{\theta^*} = \underset{\mathbf{\theta}}{arg\min}l(\mathbf{\theta}) \tag{10}

三、求解

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

求解过程

J(θ)θj=1mi=1m(yi1hθ(xi)hθ(xi)θj(1yi)11hθ(xi)hθ(xi)θ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})

=1mi=1m(yi1g(θTxi)(1yi)11g(θTxi))g(θTxi)θ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}

=1mi=1m(yi1g(θTxi)(1yi)11g(θTxi))g(θTxi)(1g(θTxi))θTxiθ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}

=1mi=1m(yi(1g(θTxi))(1yi)g(θTxi))xij= -\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

=1mi=1m(yig(θTxi))xij= -\frac{1}{m}\sum_{i=1}^{m}(y_i - g(\mathbf{\theta}^Tx_i))x_i^j

=1mi=1m(hθ(xi)yi)xij= \frac{1}{m}\sum_{i=1}^{m}(h_\theta(x_i) - y_i)x_i^j

参数更新

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

参考