Logistic回归

1. 背景

Logistic回归是一种概率统计分类模型,它可以看成是对线性回归分析的进一步扩充。当因变量是定性变量(比如分类变量)时,则无法使用线性回归模型,这时可考虑使用LR(Logistic regression)模型。LR回归模型可进行二类分类(Binomial logistic regression)和多类分类(Multinomial logistic regression)。二类分类处理因变量只有两种类别(用0和1表示)的情况,而多类分类则处理因变量有多种类别的情况,这里只讨论二类分类的问题。

二分类的问题在实际中很常见。例如,用户点击网页上的广告,受到很多因素的影响,如广告的图片、广告的大小,广告的文本等等,但最终的结果只有两个,要么点击,要么不点击。我们不妨把$y=1$定义为点击,$y=0$定义为不点击,即
$$
y = \left\{
\begin{array}{ll}
1, & 点击 \\
0, & 不点击 \\
\end{array}
\right.
$$

而上面所说的广告图片、广告大小和广告文本等,则是广告的特征,不妨将其记为$x_i$,我们想预测用户是否会点击该广告,也就是想知道用户点击该广告的概率有多大,用$p$表示用户点击广告的概率,并把$p$看作自变量$x_i$的函数,即
\begin{equation}
\label{eq:eq1}
p=P(y=1)=F(\beta_i,x_i),~~i=1,2,\cdots,k
\end{equation}

不同形式的$F$,就有不同形式的模型,采用最简单的线性函数,则有
\begin{equation}
\label{eq:eq2}
p=\beta_0+\beta_1 x_1 + \beta_2 x_2 + \cdots + \beta_k x_k
\end{equation}

式(\ref{eq:eq2})跟线性回归的形式差不多,如果我们可以像线性回归一样采用最小二乘法对未知参数进行估计,那就大功告成了。但是$p$的值在区间$[0,1]$,而且当$p$接近于0或1时,自变量即使有很大变化,$p$的值也不可能变化很大,因此对式(\ref{eq:eq2}),我们不能采用最小二乘法。

2. Logistic函数

LR模型的一个重要基础就是Logistic函数(也称Sigmoid函数):
\begin{equation}
\label{eq:sigma}
\sigma(t) = \frac{e^t}{e^t + 1} = \frac{1}{1 + e^{-t}},~~t \in (-\infty,+\infty)
\end{equation}

它可以将$(-\infty,+\infty)$的变量映射到(0,1),如图所示:

$\sigma(t)$具有连续、可导的特点,且有:
\begin{equation}
\label{eq:d_sigma}
\sigma’(t) = \sigma(t)[1-\sigma(t)]
\end{equation}

$\sigma(t)$的逆变换为:
\begin{equation}
\label{eq:invsigma}
\theta(t) = \ln \frac{t}{1-t},~~t \in (0,1)
\end{equation}

3. Logistic模型

回到式子(\ref{eq:eq2}),我们考虑用$\theta(p)$代替$p$,即
\begin{equation}
\label{eq:sub_p}
\theta(p) = \ln \frac{p}{1-p} = \beta_0+\beta_1 x_1 + \beta_2 x_2 + \cdots + \beta_k x_k
\end{equation}

由式子(\ref{eq:sub_p})可知,此时$\theta(p)$对$x_i$就是线性关系了,由式子(\ref{eq:sub_p}),可得
\begin{equation}
\begin{split}
p& = \frac{e^{\theta}}{1+e^{\theta}} \\
& = \frac{e^{\beta_0+\beta_1 x_1 + \beta_2 x_2 + \cdots + \beta_k x_k}}{1+e^{\beta_0+\beta_1 x_1 + \beta_2 x_2 + \cdots + \beta_k x_k}} \\
& = \frac{1}{1 + e^{-(\beta_0+\beta_1 x_1 + \beta_2 x_2 + \cdots + \beta_k x_k)}}
\end{split}
\end{equation}


$$
x =(1,x_1,x_2,\cdots,x_k) \\
\beta =(\beta_0,\beta_1,\beta_2,\cdots,\beta_k)
$$
则Logistic回归模型是如下的条件概率分布:
\begin{equation}
\label{eq:logi}
\left\{
\begin{split}
P(y=1|x)&= \frac{1}{1+e^{-\beta \cdot x}} \\
\\
P(y=0|x)&= \frac{1}{1+e^{\beta \cdot x}} \\
\end{split}
\right.
\end{equation}

其中,$ x \in \mathbb{R}^{k+1} $是输入,$y \in \{0,1\}$是输出,$\beta \in \mathbb{R}^{k+1}$是未知参数,$\beta \cdot x$表示$\beta$和$x$的内积。

3.1 Logistic模型的特点

一个事件的几率(odds)是指该事件发生的概率与该事件不发生的概率的比值。如果事件发生的概率是$p$,那么该事件的几率是$\frac{p}{1-p}$,该事件的对数几率(log odds)是
$$
logit(p)=\ln \frac{p}{1-p}
$$

对Logistic回归而言,由式子(\ref{eq:sub_p})可知,
\begin{equation}
\ln \frac{P(y=1|x)}{1-P(y=1|x)} = \beta \cdot x
\end{equation}

也就是说,在Logistic回归模型中,输出$y=1$的对数几率是输入$x$的线性函数

4. Logistic模型参数估计

在上面,我们已经得到了Logistic模型(8),但里面含有未知参数,因此需要对其进行估计。对于给定的$N$个训练样本
$$
T={(X_1,Y_1),(X_2,Y_2),\cdots,(X_N,Y_N)}
$$
其中,$X_j \in \mathbb{R}^{k+1}$,$Y_j \in \{0,1\}$,可以应用极大似然估计法估计模型参数,它的基本思想是:当从总体中随机抽取$n$个样本后,最合理的参数估计量应该使得这$n$个样本观测值的概率最大。

设:
$$
\left\{
\begin{split}
P(Y=1|X) &=\pi(X) \\
P(Y=0|X) &=1 - \pi(X)
\end{split}
\right.
$$

似然函数为:
\begin{equation}
\prod_{j=1}^N [\pi(X_j)]^{Y_j} [1-\pi(X_j)]^{1-Y_j}
\end{equation}

对数似然函数为:
\begin{equation}
\begin{split}
L(\beta)& = \sum_{j=1}^N[Y_j\ln \pi(X_j) + (1-Y_j)\ln (1-\pi(X_j))] \\
& = \sum\left[Y_j \ln \frac{\pi(X_j)}{1-\pi(X_j)} + \ln(1-\pi(X_j))\right] \\
& = \sum\left[Y_j(\beta \cdot X_j) - \ln(1+e^{\beta \cdot X_j})\right]
\end{split}
\end{equation}

对$L(\beta)$求极大值,得到$\beta$的估计值,问题变成了以对数似然函数为目标函数的最优化问题,可采用梯度下降法或拟牛顿法求解。

5. 参考资料