算法小白菜统计算法

Logistic Regression与Logistic Los

2019-02-21  本文已影响11人  Jaydu

Logistic Regression

在线性回归中,我们寻找的连续型随机变量YX的函数关系式为:Y=\beta^T X+\epsilon,其中\beta为待估参数(包含截距项\beta_0,即\beta=(\vec{w},\beta_0)^T\beta^TX=w^TX+\beta_0),\epsilon为随机误差。那么,如果Y是离散型随机变量,例如服从Bernoulli分布、多项分布等,又应该怎么样来描述YX的关系呢?

下面我们只讨论一般的Logistic Regression,即Y\sim Bernoulli(p)。直观的想法是假设下面关系成立:

p=\beta^TX\\1-p=1-\beta^TX

其中p=\mathbb{E}Y。然而,这样就会出现一个问题,p1-p应该是在[0,1]范围内。因此,我们可以考虑做以下修正,将其映射到[0,1]范围内:

p=\dfrac{e^{\beta^TX}}{e^{\beta^TX}+e^{1-\beta^TX}}\\1-p=\dfrac{e^{1-\beta^TX}}{e^{\beta^TX}+e^{1-\beta^TX}}

即先取指数,映射到非负区间,再做归一化。对上式再做简单化简,就可以得到Logistics Regression的常见形式:

p=\dfrac{1}{1+e^{-\beta^TX}}\\1-p=\dfrac{e^{-\beta^TX}}{1+e^{-\beta^TX}}

因此,上述变换等价于对\beta^TX做了sigmoid变换,对应的sigmoid函数为\sigma(x)=\dfrac{1}{1+e^{-x}};在多分类的情形下,即为softmax变换;在其他情形下,还有其他对应的函数,感兴趣的读者可以参考以下Generalized Model的Mean Function

注1:这里我们只是给出了一个容易理解的方式,为什么这个映射函数恰好是\sigma(x)而不是其他函数?其实是可以从凸优化问题中利用KKT条件求解出\sigma(x)的,详见论文The equivalence of logistic regression and maximum entropy models

\beta的极大似然估计

在给定样本\{(X_i,Y_i),i=1,2,\cdots,n\}的情况下,首先我们需要写出似然函数。由于Y\sim Bernoulli(p),因此Y的分布函数为f_Y(y;\beta)=p^y(1-p)^{1-y}。似然函数为

\begin{align}L(\beta;X_i,Y_i,i=1,2,\cdots,n)&=\prod\limits_{i=1}^nf_Y(Y_i;\beta)\\&=\prod\limits_{i=1}^np_i^{Y_i}(1-p_i)^{1-Y_i}\\&=p_i^{\sum\limits_{i=1}^nY_i} (1-p_i)^{\sum\limits_{i=1}^n(1-Y_i)}\end{align}\\

取对数之后,得到

\begin{align}l(\beta;X_i,Y_i,i=1,2,\cdots,n)&=\log L(\beta;X_i,Y_i,i=1,2,\cdots,n)\\&= \sum\limits_{i=1}^nY_i\log p_i +  \sum\limits_{i=1}^n(1-Y_i)\log(1- p_i)\end{align}\\

注意到我们在前一节已经假定了Logistic模型,即p_i=\sigma(\beta^TX_i),为了保持形式的简洁,在上式中仍用p_i代替。注意到

\begin{align}\dfrac{\partial p}{\partial \beta}&=- \dfrac{1}{(1+e^{-\beta^TX})^2}\cdot e^{-\beta^TX}\cdot (-X)\\&=\dfrac{Xe^{-\beta^TX}}{(1+e^{-\beta^TX})^2}\\&=Xp(1-p)\end{align}\\

对log似然函数求偏导,并令其为0:\begin{align}\dfrac{\partial l}{\partial \beta}&=\sum\limits_{i=1}^nY_i \dfrac{1}{p_i}\cdot\dfrac{\partial p_i}{\partial \beta}-\sum\limits_{i=1}^n(1-Y_i) \dfrac{1}{1-p_i}\cdot\dfrac{\partial p_i}{\partial \beta}\\&= \sum\limits_{i=1}^n \dfrac{X_iY_ie^{-\beta^TX_i}}{1+e^{-\beta^TX_i}}-\sum\limits_{i=1}^n \dfrac{X_i(1-Y_i)}{1+e^{-\beta^TX_i}}\\&=\sum\limits_{i=1}^n \dfrac{X_i}{1+e^{-\beta^TX_i}}[-1+(1+e^{-\beta^TX_i})Y_i]\\&=\sum\limits_{\{i|Y_i=1\}} \dfrac{X_i}{1+e^{-\beta^TX_i}}e^{-\beta^TX_i}-\sum\limits_{\{i|Y_i=0\}} \dfrac{X_i}{1+e^{-\beta^TX_i}}\\&=\sum\limits_{\{i|Y_i=1\}} X_i-\sum\limits_{i=1}^n \dfrac{X_i}{1+e^{-\beta^TX_i}}\\&=0\end{align}\\

上述方程没有显式解,一般只能用牛顿迭代法求\beta最大似然估计的数值解。

Logistic Loss

我们重新化简一下对数似然函数,

\begin{align}l(\beta;X_i,Y_i,i=1,2,\cdots,n)&= \sum\limits_{i=1}^nY_i\log p_i +  \sum\limits_{i=1}^n(1-Y_i)\log(1- p_i)\\&= -\sum\limits_{i=1}^nY_i\log(1+e^{-\beta^TX_i})+  \sum\limits_{i=1}^n(1-Y_i)[-\beta^TX_i-\log(1+e^{-\beta^TX_i})]\\&=\sum\limits_{i=1}^n[(Y_i-1)\beta^TX_i-\log(1+e^{-\beta^TX_i})]\\&=\sum\limits_{i=1}^n\left[(Y_i-1)\beta^TX_i+\log\left(\frac{e^{\beta^TX_i}}{1+e^{\beta^TX_i}}\right)\right]\\&=\sum\limits_{i=1}^n\left[Y_i\beta^TX_i-\log\left(1+e^{\beta^TX_i}\right)\right]\end{align}\\

因此,我们有

\begin{align}\max\limits_{\beta}l(\beta;X_i,Y_i,i=1,2,\cdots,n)&=\max\limits_{\beta}\sum\limits_{i=1}^n\left[Y_i\beta^TX_i-\log\left(1+e^{\beta^TX_i}\right)\right]\\&=\min\limits_{\beta}\sum\limits_{i=1}^n\left[-Y_i\beta^TX_i+\log\left(1+e^{\beta^TX_i}\right)\right]\\LogisticLoss(X_i,Y_i;\beta)&\triangleq -Y_i\beta^TX_i+\log\left(1+e^{\beta^TX_i}\right)\end{align}\\

注2:在实际计算中,通常还要除以样本数n,控制梯度大小,因为计算\hat{\beta}的时候是根据gradient-based算法。

注3:我们讨论的是Y_i\in\{0,1\}的情况,在Y\in\{-1,1\}时,Logistic Loss有不同的形式(详见Which loss function is correct for logistic regression?),

LogisticLoss(X_i,Y_i;\beta)=\log(1+e^{-Y_i\beta^TX_i})\\

而后者的标签与Adaboost推导时默认的标签相同,Logistic Loss与Adaboost的Exponential Loss也有一定相似性,在底数为e的情况下,\ln(1+x)\leq x,\ x\geq -1,Logistic Loss的图像在Exponential Loss下方,甚至还可以将Adaboost修改为优化Logistic Loss(详见Logistic Regression)。

A plot of the exponential loss, the logistic loss (using both logarithm base 2 and logarithm base e), and classification loss.
上一篇下一篇

猜你喜欢

热点阅读