crackcell's dustbin home projects
首页 > LR模型小结 > 正文

LR模型小结

1 从线性回归到广义线性模型

先看一下线性回归的形式:

\begin{eqnarray} y=w^Tx+b \end{eqnarray}

稍微改造一下(1)式的左边部分,让右边部分拟合一个新的目标:

\begin{eqnarray} g(y)=w^Tx+b \end{eqnarray}

变换一下成为:

\begin{eqnarray} y=g^{-1}(w^Tx+b) \end{eqnarray}

这样就得到了广义线性模型(Generalized Linear Model)。

2 从广义线性模型到对数几率回归

将(3)中的 \(g^{-1}()\) 换成ln(),并把y替换成 \(\frac{y}{1-y}\) ,就得到了对数几率回归(Logistic Regression):

\begin{eqnarray} ln(\frac{y}{1-y})=w^Tx+b \end{eqnarray}

这里,几率就是 \(\frac{y}{1-y}\) ,加上 \(ln()\) ,就是“对数几率”。以线性回归的视角,这里是对对数几率进行回归,故叫做“对数几率回归”。 为什么是ln()呢?LR的用途是分类,那么一个显而易见的想法是将回归出来的连续值“截断”。最简单的截断函数是“单位跃迁函数”(unit-step function):

\begin{equation} y=\left\{ \begin{array}{lr} 0, & z < 0; \\ 0.5, & z = 0; \\ 1, & z > 0, \end{array} \right. \end{equation}

但这个函数不利于数值求解,所以用对数几率函数(logistic function)来作为替代函数(surrogate function):

\begin{eqnarray} y=\frac{1}{1+e^{-z}} \end{eqnarray}

对数几率函数是Sigmoid函数的一种。

3 和概率值的转换

将(4)改写一下:

\begin{eqnarray} \ln{\frac{p(y=1|x)}{p(y=0|x)}}=w^Tx+b \end{eqnarray}

显然有:

\begin{eqnarray} p(y=1|x) &=& \frac{e^{w^Tx+b}}{1+e^{w^Tx+b}} \\ p(y=0|x) &=& \frac{1}{1+e^{w^Tx+b}} \end{eqnarray}

4 求解

对LR的求解是通过极大似然法对对数似然(log likehood)求最大值得到的。

对数似然:

\begin{eqnarray} l(w,b)=\sum_{i=1}^{m}ln(p(y_i|x_i;w,b)) \end{eqnarray}

上式中的p()部分可以改写成:

\begin{eqnarray} p(y_i|x_i;w,b) &=& y_{i}p_{1}(\hat{x_i};w,b)+(1-y_i)p_{0}(\hat{x_i};w,b) \\ &=& y_{i}p_{1}(\hat{x_i};w,b)+(1-y_i)(1-p_{i}(\hat{x_i};w,b)) \end{eqnarray}

上面式子变换一下就成了logloss:

\begin{eqnarray} logloss(x_i,y_i) = - y_{i}p_{1}(\hat{x_i};w,b)+(1-y_i)(1-p_{i}(\hat{x_i};w,b)) \end{eqnarray}

问题就变成了对上式的数值最优化问题。常用的梯度下降(gradient descent method)和牛顿法(newton method)求解:

  • 梯度下降:沿着函数导数梯度下降的方向迭代更新参数
  • 牛顿法:利用泰勒级数的一阶展开式作为迭代公式,更新求解

Date: Thu Feb 7 13:52:28 2019

Author: Menglong TAN

Created: 2019-02-25 Mon 16:31

Validate

Modified theme and code from Tom Preston-Werner.