当因变量的类型属于二元(1 / 0,真/假,是/否)变量时,应该使用逻辑回归。这里,Y的值为0或1,它可以用以下方程表示:

\begin{equation*} \begin{aligned} odds &= \frac{p}{1-p}\\ &=\frac{probability\hspace{5pt} of\hspace{5pt} event\hspace{5pt} occurrence}{probability\hspace{5pt} of\hspace{5pt} not\hspace{5pt} event \hspace{5pt} {}occurrence} \end{aligned} \end{equation*}

其中有:

logit(p)=log(odds)=b0+b1X1++bkXklogit(p)=\log(odds)=b_0+b_1X_1+\dots+b_kX_k

为什么要在公式中使用对数log呢?因为在这里使用的是二项分布(因变量),需要选择一个对于这个分布最佳的连结函数。它就是logit函数。在上述方程中,通过观测样本的极大似然估计值来选择参数,而不是最小化平方和误差。

Logistic regression, despite its name, is a linear model for classification rather than regression. Logistic regression is also known in the literature as logit regression, maximum-entropy classification (MaxEnt) or the log-linear classifier. In this model, the probabilities describing the possible outcomes of a single trial are modeled using a logistic function.

Binary classification

对于生活中常见的二分类问题,我们可以通过建立一个回归方程来解决,我们希望有一个函数h(x)的输入在[0,1]之间(二分类问题一般将类标签定义为0和1,因此[0,1]以外的值会给分类带来很多麻烦。下边介绍一个比较常用的函数:

logistic function/sigmoid function

g(z)=11+ezg(z)=\frac{1}{1+e^{-z}}

该函数的输出值在0和1之间,并且该函数有一个非常有用的属性是:

\begin{align*} g\prime(z) & =\frac{e^{-z}}{(1+e^{-z})^2}\\ &=g(z)(1-g(z)) \end{align*}

logistic regression model

逻辑斯特回归的问题也可以推广到多类别的情况,接下来以二分类问题进行讨论。
对于二分类问题,Logestic regression回归的思路是首先确定一个μ=θTx\mu=\mathbf{}{\theta^T x}
,然后利用Logistic 函数进行映射进而得到对样本类的判断函数:

hθ(x)=g(θTx)h_{\theta}(x)=g( \mathbf{\theta^Tx})

θTx=θ0+i=1nθixi\mathbf{\theta^T x}=\theta_0+\sum_{i=1}^n \theta_ix_i

对于二分类问题,我们可以假定:

P(y=1x;θ)=hθ(x)P(y=0x;θ)=1hθ(x)P(y=1|x;\theta)=h_{\theta}(x)\newline P(y=0|x;\theta)=1-h_{\theta}(x)

参数估计(Maximum likelihood &Stochastic gradient ascent)

建立了概率估计函数后,模型的学习过程就变成了对参数的学习过程,这里采用极大似然估计对模型的θ\theta进行估计,易得对应的对数似然函数为:

(θ)=logL(θ)=i=1Ny(i)logh(x(i))+(1y(i))log(1h(x(i)))\begin{aligned} \ell(\theta) &=\log L(\theta) \\ &=\sum_{i=1}^{N} y^{(i)} \log h\left(x^{(i)}\right)+\left(1-y^{(i)}\right) \log \left(1-h\left(x^{(i)}\right)\right) \end{aligned}

  1. 为求得似然函数的最大值,一般采用梯度上升的法则(gradient ascent):

  2. 除了利用梯度上升的算法,我们也可以从牛顿的求根法则中获得灵感

似然函数取最大值意味着一阶导数为0,也就是说我们需要找一阶导数的零点这样我们就可以利用下边的迭代原则:
image.png
image.png

两类到多类的推广

老师说,LR最完美的地方在于建立了一个很完整的概率框架–分类问题再也不是以前那种0-1的问题,而是通过函数形式化了样本输入某一类的概率(模糊值)。借助这个完整的概率框架,LR从两类到类的推广的实现也有了新的可能。
image.png
这里可以换一种思路回头来看分类的概率大小的问题,以二分类为例,我们可以通过exp(f1(x)),exp(f2(x))exp(f_1(x)),exp(f_2(x))来刻画样本属于某一类的程度,然后通过归一化来说明样本属于某一类的概率大小。通过这样的方法,当推广到n类的分类模型时,我们可以通过建立相似的函数来衡量,再通过归一化来实现对某种类别的概率大小的估计
接下来再来看损失函数的建立:

损失函数另一个视角

同样的可以通过极大似然估计来刻画损失函数,这里给出一种另外一个角度的解释

image.png
对于每一个训练样本,我们可以假设它的类别判断为q,除了q所属的真实的类别以外,q属于其他类的值我们都设为0。这样我们相当于得到了训练样本真实的概率分布状况。然后我们可以用相同的办法来定义pip_i表示训练样本属于某一个类别的概率大小,这样我们就可以借助交叉熵的概念来构造多类别逻辑回归的损失函数(如图中所示),其实损失函数刻画的就是伪概率与真实概率的相近程度,我们分类的目的其实是希望两者越接近越好!
接着其实可以进行进一步的优化,在我们标注时,我们或许可以对q进行优化,不是分成0-1的hard label,而是能够建立一种soft label,即对样本实际归属某一类的概率进行估计。

评估

  • 高效
  • 可解释
  • 容易快速实现

一个最主要的缺点是我们不能用它解决非线性问题,因为它的决策面是线性的。

线性回归到逻辑回归

从逻辑回归的一些假设能看出二者的明显不同:

  • 逻辑回归不需要自变量与因变量之间线性关系的假设

    • 逻辑回归假设自变量和对数几率是线性的。虽然这种分析不要求因变量和自变量线性相关,但它要求自变量与对数几率线性相关。
  • 逻辑回归不需要误差项正态分布的假设

  • 不需要方差齐性

  • 逻辑回归中的因变量不是在区间或比率尺度上测量的(分类问题)

其他假设则与线性模型相近:

  • 逻辑回归要求观察结果彼此独立。换言之,观察结果不应来自重复测量或匹配数据。
  • 逻辑回归要求自变量之间很少或没有多重共线性。这意味着自变量之间的相关性不应太高
  • 逻辑回归通常需要大样本量。对于模型中的每个自变量,一般情况下至少需要 10 个结果频率最低的样本。