统计学习方法习题笔记——第6章 逻辑斯谛回归与最大熵模型


思维导图

逻辑斯谛回归模型

逻辑斯谛分布

\(X\)是连续随机变量,\(X\)服从逻辑斯蒂分布是指\(X\)具有下列分布函数和密度函数:

\[F(x) = P(X \leqslant x) = \frac{1}{1+e^{- \frac{(x-\mu)}{\gamma}}} \]

\[f(x) = F'(x) = \frac{e^{-\frac{(x-\mu)}{\gamma} }} {\gamma (1+e^{-\frac{(x-\mu)}{\gamma}})^2} \]

式中,\(\mu\)为位置参数,\(\gamma > 0\)为形状参数。
分布函数属于逻辑斯谛函数,其图像是一条S形曲线,该曲线以\((\mu,1/2)\)为中心对称,即满足

\[F(-x+\mu)-\frac{1}{2} = -F(x-\mu)+\frac{1}{2} \]

\(\gamma\)变化时,其密度函数与分布函数的变化如下图所示。

可以看出,\(\gamma\)的值越小,分布函数在中心附近增长越快,密度函数在中心附近越集中。

二项逻辑斯谛回归模型

二项逻辑斯谛回归模型是一种分类模型,由条件概率分布\(P(Y|X)\)表示,形式为参数化的逻辑斯谛分布。二项逻辑斯谛回归模型是如下条件概率分布:

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

这里,\(x\in R^n\)是输入,\(Y \in \{0,1\}\) 是输出,\(w\in R^n\)\(b\in R\)是参数,w称为权值向量,\(b\)称为偏置。
对于给定的实例\(x\),按照上式可以求得\(P(Y=1|x)\)\(P(Y=0|x)\),逻辑斯谛回归比较两个概率的大小,并将实例分类到概率较大的那一类。
为了方便,可以将权值向量和输入向量加以扩充,仍记作\(w,x\),即\(w=(w^{(1)},w^{(2)},\cdots,w^{(n)},b)^T, x=(x^{(1)},x^{(2)},\cdots,x^{(n)},b)^T\)。这时,逻辑斯谛回归模型如下:

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

模型参数估计

逻辑斯谛回归模型学习时, 对于给定的训练数据集 \(T=\left\{\left(x_{1}, y_{1}\right),\left(x_{2}, y_{2}\right), \cdots\right.\), \(\left.\left(x_{N}, y_{N}\right)\right\}\), 其中, \(x_{i} \in \mathbf{R}^{n}, y_{i} \in\{0,1\}\), 可以应用极大似然估计法估计模型参数, 从 而得到逻辑斯谛回归模型.
设: \(\quad P(Y=1 \mid x)=\pi(x), \quad P(Y=0 \mid x)=1-\pi(x)\)
似然函数为

\[\prod_{i=1}^{N}\left[\pi\left(x_{i}\right)\right]^{y_{i}}\left[1-\pi\left(x_{i}\right)\right]^{1-y_{i}} \]

对数似然函数为

\[\begin{aligned} L(w) &=\sum_{i=1}^{N}\left[y_{i} \log \pi\left(x_{i}\right)+\left(1-y_{i}\right) \log \left(1-\pi\left(x_{i}\right)\right)\right] \\ &=\sum_{i=1}^{N}\left[y_{i} \log \frac{\pi\left(x_{i}\right)}{1-\pi\left(x_{i}\right)}+\log \left(1-\pi\left(x_{i}\right)\right)\right] \\ &=\sum_{i=1}^{N}\left[y_{i}\left(w \cdot x_{i}\right)-\log \left(1+\exp \left(w \cdot x_{i}\right)\right]\right. \end{aligned} \]

\(L(w)\) 求极大值, 得到 \(w\) 的估计值.
这样, 问题就变成了以对数似然函数为目标函数的最优化问题. 逻辑斯谛回 归学习中通常采用的方法是梯度下降法及拟牛顿法.
假设 \(w\) 的极大似然估计值是 \(\hat{w}\), 那么学到的逻辑斯谛回归模型为

\[\begin{aligned} &P(Y=1 \mid x)=\frac{\exp (\hat{w} \cdot x)}{1+\exp (\hat{w} \cdot x)} \\ &P(Y=0 \mid x)=\frac{1}{1+\exp (\hat{w} \cdot x)} \end{aligned} \]

多项逻辑斯谛回归

假设离散型随机变量\(Y\)的取值集合是\(\{1,2,\cdots,K\}\),那么多项逻辑斯谛回归模型是

\[\begin{gathered} P(Y=k \mid x)=\frac{\exp \left(w_{k} \cdot x\right)}{1+\sum_{k=1}^{K-1} \exp \left(w_{k} \cdot x\right)}, \quad k=1,2, \cdots, K-1 \\ P(Y=K \mid x)=\frac{1}{1+\sum_{k=1}^{K-1} \exp \left(w_{k} \cdot x\right)} \end{gathered} \]

最大熵模型

最大樀模型是由以下条件概率分布表示的分类模型. 最大樀模型也可以 用于二类或多类分类.

\[\begin{aligned} &P_{w}(y \mid x)=\frac{1}{Z_{w}(x)} \exp \left(\sum_{i=1}^{n} w_{i} f_{i}(x, y)\right) \\ &Z_{w}(x)=\sum_{y} \exp \left(\sum_{i=1}^{n} w_{i} f_{i}(x, y)\right) \end{aligned} \]

其中, \(Z_{w}(x)\) 是规范化因子, \(f_{i}\) 为特征函数, \(w_{i}\) 为特征的权值.

模型学习的最优化算法

逻辑斯谛回归模型、最大樀模型学习归结为以似然函数为目标函数的最优化 问题, 通常通过迭代算法求解. 从最优化的观点看, 这时的目标函数具有很好的 性质. 它是光滑的凸函数, 因此多种最优化的方法都适用, 保证能找到全局最优 解. 常用的方法有改进的迭代尺度法、梯度下降法、牛顿法或拟牛顿法. 牛顿法 或拟牛顿法一般收玫速度更快.

习题

  1. 确认Logistic分布属于指数分布族。

所谓指数分布族,是指对于随机变量 \(x\) ,在给定参数 \(\theta\) 下,其概率分别满足如下形式:

\[f(x \mid \theta)=h(x) g(\theta) \exp (\eta(\theta) \cdot T(x)) \]

称之为指数分布族。
其中: \(g(\theta)\) 表示归一化系数, \(h(x)>0\)

单参数Logistic分布:
\(\gamma=1\) ,则单参数 \(\mu\) 的Logistic分布:

\[f(x \mid \mu)=\frac{\mathrm{e}^{-(x-\mu)}}{\left(1+\mathrm{e}^{-(x-\mu)}\right)^{2}} \]

  1. 计算 \(f(x \mid \mu=0)\)

\[f(x \mid \mu=0)=\frac{\mathrm{e}^{-x}}{\left(1+\mathrm{e}^{-x}\right)^{2}} \]

可知,当 \(\mu=0, s=1\) 时,

\[M_{X}(\theta)=E\left(\mathrm{e}^{\theta x}\right)=B(1-\theta, 1+\theta), \quad \theta \in(-1,1) \]

综上可知

\[f_{\theta}(x)=\mathrm{e}^{\theta x-k(\theta)} f_{0}(x) \]

其中, \(k(\theta)=\log M_{X}(\theta)=B(1-\theta, 1+\theta), \quad \theta \in(-1,1)\) ,根据指数倾斜性质, \(f_{\theta}(x)\) 无法表示 Logistic分布的密度函数形式。
所以,Logistic分布不属于指数分布族。

  1. 写出Logistic回归模型学习的梯度下降算法。

梯度下降法公式为
输入: 目标函数 \(f(x)\) ,梯度函数 \(g(x)=\nabla f(x)\) ,计算精度 \(\varepsilon\)
输出: \(f(x)\) 的极小值 \(x^{*}\)
(1) 取初始值 \(x^{(0)} \in R^{n}\) ,置 \(k=0\)
(2) 计算 \(f\left(x^{(k)}\right)\)
(3) 计算梯度 \(g_{k}=g\left(x^{(k)}\right)\) ,当 \(\left\|g_{k}\right\|<\varepsilon\) 时,停止迭代,令 \(x^{*}=x^{(k)}\) ;否则,令 \(p_{k}=-> g\left(x^{(k)}\right)\) ,求 \(\lambda_{k}\) ,使

\[f\left(x^{(k)}+\lambda_{k} p_{k}\right)=\min _{\lambda \geqslant 0} f\left(x^{(k)}+\lambda p_{k}\right) \]

(4) 置 \(x^{(k+1)}=x^{(k)}+\lambda_{k} p_{k}\) ,计算 \(f\left(x^{(k+1)}\right)\)
\(\left\|f\left(x^{(k+1)}\right)-f\left(x^{(k)}\right)\right\|<\varepsilon\)\(\left\|x^{(k+1)}-x^{(k)}\right\|<\varepsilon\) 时,> 停止迭代,令 \(x^{*}=x^{(k+1)}\)
(5) 否则,置 \(k=k+1\) ,转(3)

只需要求出梯度函数,代入即可,下面推导梯度函数。

Logistic回归模型的对数似然函数为

\[L(w)=\sum_{i=1}^{N}\left[y_{i}\left(w \cdot x_{i}\right)-\log \left(1+\exp \left(w \cdot x_{i}\right)\right)\right] \]

将对数似然函数求偏导,可得

\[\frac{\partial L(w)}{\partial w^{(k)}}=\sum_{i=1}^{N}\left[x_{i} \cdot y_{i}-\frac{\exp \left(w^{(k)} \cdot x_{i}\right) \cdot x_{i}}{1+\exp \left(w^{(k)} \cdot x_{i}\right)}\right] \]

梯度函数为

\[\nabla L(w)=\left[\frac{\partial L(w)}{\partial w^{(0)}}, \cdots, \frac{\partial L(w)}{\partial w^{(n)}}\right] \]

参考文献

  1. 统计学习方法习题解答
  2. 《统计学习方法》李航