逻辑回归模型

逻辑回归模型(Logistic Regression)是一种分类模型,属于广义的线性回归模型,它也是一种判别模型,由条件概率\(P(Y|X)\)表示。二项逻辑回归中,随机变量\(X\)取实数,\(Y\)的取值为1或者0。逻辑回归模型简单高校,在实际应用中非常广泛,如预测一个用户是否点击广告,判断用户性别等。

sigmoid函数

介绍逻辑回归模型前,首先引入sigmoid函数,它的定义如下

\[\sigma(z)=\frac{1}{1+e^{-z}} \]

sigmoid函数将取值在\((-R,R)\)的变量映射到\((0,1)\)之间,该函数在\(z=0\)附近增长较快,在两端增长较慢,这个性质可以让我们以概率的方式来解释模型。并且\(\sigma(z)\)光滑可导

\[\sigma(z)'=\sigma(z)(1-\sigma(z)) \]

即它的导数可以用自己表示。

模型

二项逻辑回归模型是如下条件概率分布

\[P(Y=1|x)=\frac{exp(w \cdot x+b)}{1+exp(w \cdot x+b)} \\ P(Y=0|x)=\frac{1}{1+exp(w \cdot x+b)} \]

上式中,\(x\in R^n\)是输入,\(Y \in \{0,1\}\)是输出,\(b\)是偏置量。它表示在特征\(x\)下样本分布属于类别0和1的概率。一般情况下,模型将样本分到概率大的那个类别。为了表示方便,将输入向量和权重向量进行扩充

\[x=[x_1,x_2,...,x_n,1]^T \\ w=[w_1,w_2,...,w_n,b]^T \]

这样模型就可以简写为

\[P(Y=1|x)=\frac{exp(w \cdot x)}{1+exp(w \cdot x)} \\ P(Y=0|x)=\frac{1}{1+exp(w \cdot x)} \]

下面考察逻辑回归模型的特点。一个事件的几率(odds)是指该事件发生的概率与不发生的概率的比值,设该时间发生概率为\(p\),不发生概率为\(1-p\),则该时间的对数几率或者logit函数表示为

\[logit(p)=\ln{\frac{p}{1-p}} \]

对于逻辑回归函数而言

\[\ln{\frac{P(Y=1|x)}{1-P(Y=1|x)}}=w \cdot x \]

即输出\(Y=1\)的几率是输入\(x\)的线性函数表示的模型。

决策函数

逻辑回归模型所做的假设是

\[P(Y=1|x)=\frac{exp(w \cdot x)}{1+exp(w \cdot x)} \]

它的决策函数是

\[y^*=1 \quad \textrm{if} \quad P(Y=1|x)>0.5 \]

0.5只是一种常用的阈值,实际中可以选择不同的阈值,如果对正例的选择的判别准确率要求高,可以选择大一点的阈值,如果对正例的召回率要求高,可以选择小一点的阈值。

模型参数求解

逻辑回归模型输入的数据集为

\[T=\{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\} \]

其中\(x_i \in R^n,y_i \in \{0,1\}\).我们采用极大似然估计方法来求解模型中的参数向量\(w\),即找到一组参数,在这组参数条件下,模型的似然度最大。
为了推导方便,这里令\(P(Y=1|x)=\pi(x)\),则\(P(Y=0|x)=1-\pi(x)\),似然函数表示为

\[L(w)=\prod_{i=1}^N[\pi(x_i)]^{y_i}[1-\pi(x_i)]^{1-y_i} \]

于是对数似然函数表示为

\[\ln{L(w)}=\sum_{i=1}^N [y_i \ln{\pi(x_i)}+(1-y_i)\ln{(1-\pi(x_i))}] \\ =\sum_{i=1}^N[y_i\ln{\frac{\pi(x_i)}{1-\pi(x_i)}}+\ln{(1-\pi(x_i))}] \\ =\sum_{i=1}^N[y_i(w \cdot x_i)-\ln{(1+exp(w \cdot x_i))}] \]

于是

\[w^*= arg \; \max_{w} \; \ln{L(w)} \quad\quad\quad\quad\quad\quad\quad\quad\quad \]

上述最优化问题没有解析解,需要通过牛顿法或者梯度上升来学习模型中的参数。

梯度上升法

梯度上升法它是一种通过平面来逼近局部的方法,通过每一步选择目标函数变化最快的方向来调整参数值逼近最优值。步骤如下:

  • 选择上升降方向,即为梯度方向\(\nabla \ln{L(w)}\)
  • 选择步长,更新参数。
  • 重复上述两步,直到找到极小值为止。

求解的目标函数为

\[w^*= arg \; \max_{w} \; \ln{L(w)} \quad\quad\quad\quad\quad\quad\quad\quad\quad \]

求目标函数偏导数

\[\dfrac{\partial ln{L(w)}}{\partial w^{(j)}}=\sum_{i=1}^N[y_i-\pi(x_i)]x_i^{(j)} \]

其中\(x_i^{(j)}\)表示特征向量\(x_i\)的第\(j\)个分量,\(w^{(j)}\)表示\(w\)的第\(j\)个分量。\(w\)更新方式表示为

\[w^{(j)}:=w^{(j)}+\alpha\sum_{i=1}^N[y_i-\pi(x_i)]x_i^{(j)} \quad\quad\quad\quad\quad \]

上式中,\(\alpha\)是学习率。

posted @ 2017-10-21 16:39  曹孟德  阅读(1268)  评论(0编辑  收藏  举报