Logistic regression(逻辑斯蒂回归)

前言

线性回归是一种回归(Regression)方法,常用于预测连续输出,而对于离散的分类输出就难以解决。因此在基于线性回归的前提下,引入了激活函数的概念,形成了Logistic回归。在这里简述自己对Logistic回归的所见所学。

如有谬误,请联系指正。转载请注明出处。

联系方式:
e-mail: FesianXu@163.com
QQ: 973926198
github: https://github.com/FesianXu


Logistic regression

线性回归(Linear Regression)是一种回归方法,常用于预测连续输出,而对于离散的分类输出,则爱莫能助。为了解决线性分类问题,引入了sigmoid激活函数,形成了Logistic回归方法。所谓的sigmoid函数,既是形式如:

σ(x)=11+eαx(1.1)

的式子,通常α取1。图像如下:

sigmoid

而基本的线性回归的式子我们都知道,如下:

θ(x)=θTx+b(1.2)

其中,θT=(θ1,θ2,,θn)x=(x1,x2,,xn),其中n是特征维数,b为实数。

将线性回归和激活函数sigmoid结合起来,就得到了:

fθ(x)=11+e(θTx+b)(1.3)

我们可以看出,其实sigmoid激活函数的作用可以看成是将θTx+b映射到(0,1)区间中,注意到,因为这个取值区间,我们可以将sigmoid函数看成是将score映射到概率分布的函数,也就是说fθ(x)可以看成是概率值。从这个角度出发,我们定义:

  1. P(yi=1|xi)=σ(θTx+b)(1.4)
  2. P(yi=0|xi)=1P(yi=1|xi)=1σ(θTx+b)(1.5)
    其中,下标i表示第i个样本,xi表示第i个样本的特征,xiRn. yi表示第i个样本的标签,yi{0,1}

极大似然估计

极大似然估计(Maximum Likelihood Estimate,MLE)是频率学派常用于对给定模型进行参数估计的方法,在logistic回归中用于(估计)学习出θb的值。极大似然法的基本思想很简单,假定发生的事情(也就是样本)肯定是符合模型的,就是求得参数θ,使得目前所有的样本在这个模型下f(x;θ)发生的概率之积最大。用到logistic回归上,我们可以得出似然函数:

L(θ)=i=1NP(yi=1|xi)yiP(yi=0|xi)1yi(2.1)

在实际使用中,因为连乘不如累加好使,我们对等式进行两边求自然对数,得到对数似然函数,有:
lnL(θ)=lni=1NP(yi=1|xi)yiP(yi=0|xi)1yi=i=1NyilnP(yi=1|xi)+(1yi)lnP(yi=0|xi)=i=1Nyi(lnP(yi=1|xi)lnP(yi=0|xi))+lnP(yi=0|xi)=i=1NyilnP(yi=1|xi)P(yi=0|xi)+lnP(yi=0|xi)=i=1NyilnP(yi=1|xi)1P(yi=1|xi)+lnP(yi=0|xi)=i=1Nyi(θTxi+b)+ln(1σ(θTx+b))=i=1Nyi(θTxi+b)+ln11+eθTxi+b=i=1Nyi(θTxi+b)ln(1+eθTxi+b)(2.2)

根据极大似然法的思想,对对数似然函数求最大值,按照传统的方法,我们是对lnL(θ)求导数后令其为0解得极值点,但是我们会发现lnL(θ)θ=0没有解析解,所以我们需要通过梯度下降法去近似求得其数值解。关于梯度下降法的介绍见《随机梯度下降法,批量梯度下降法和小批量梯度下降法以及代码实现》。于是现在我们需要求得lnL(θ)θ
lnL(θ)θ=i=1Nyixi11+eθTxi+bxieθTxi+b=i=1Nyixixi11+e(θTxi+b)=i=1Nyixiσ(θTxi+b)xi=i=1Nxi(yiσ(θTxi+b))(2.3)

所以参数的更新公式为:
θ:=θηlnL(θ)θ=θηi=1Nxi(yiσ(θTxi+b))(2.4)

b:=bηlnL(θ)b=bηi=1N(yiσ(θTxi+b))(2.5)

posted @ 2018-03-01 13:38  FesianXu  阅读(177)  评论(0编辑  收藏  举报