Machine Learning: A Probabilistic Perspective

第8章 · 逻辑斯谛回归

Sigmoid、最大似然、IRLS 与多分类——判别式分类的经典入门。 共 10 个 Manim 动画,点击缩略图可全屏播放。

10
知识点
10
动画视频
§08
教材章节
知识脉络
01生成式与判别
→
02Sigmoi
→
03逻辑回归最大
→
04梯度下降与牛
→
05IRLS 迭
→
06多分类逻辑回
→
07贝叶斯逻辑回
→
08在线学习与随
→
09感知机算法
→
10残差分析与异

场景 01–02

01 – 02
draft

生成式与判别式分类器

同一道分类题,生成式模型先学「每类数据长什么样」,判别式模型直接学「边界画在哪」——后者往往更省数据、更准,但前者能生成样本、处理缺失特征。
$p(y\mid\mathbf\{x\}) = \frac{p(\mathbf{x}\mid y)\,p(y)}{\sum_{y'} p(\mathbf{x}\mid y')\,p(y')}$$p(y\mid\mathbf\{x\}, \mathbf{w}) = \mathrm{Ber}\bigl(y \mid \mathrm{sigm}(\mathbf{w}^\top\mathbf{x})\bigr)$
构建概率分类器的一种方法是建立形如 $p(\mathbf\{x\}, y) = p(y)\,p(\mathbf{x}\mid y)$ 的联合模型……由于该方法指定了如何为每个类别 $y$ 生成观测特征 $\mathbf\{x\}$,因此称为生成式分类器。更常见的一种替代方法……是拟合形如 $p(y\mid\mathbf\{x\})$ 的模型……由于该方法能区分类别标签,因此称为判别式分类器,但它无法生成各类别的样本。(§8.1,p.1)
生成式模型判别式模型模型选择
draft

Sigmoid 与决策边界

把线性得分 $\mathbf\{w\}^\top\mathbf{x}$ 压进 $(0,1)$ 的概率区间——阈值 0.5 处,恰好切出一刀线性决策边界,法向量就是 $\mathbf\{w\}$。
$p(y\mid\mathbf\{x\}, \mathbf{w}) = \mathrm{Ber}\bigl(y \mid \mathrm{sigm}(\mathbf{w}^\top\mathbf{x})\bigr)$$\mathrm\{sigm\}(a) = \frac{1}{1 + e^{-a}}, \quad \frac{d\,\mathrm{sigm}(a)}{da} = \mathrm{sigm}(a)\bigl(1-\mathrm{sigm}(a)\bigr)$
逻辑斯谛回归对应以下二分类模型:$p(y\mid\mathbf\{x\}, \mathbf{w}) = \mathrm{Ber}(y \mid \mathrm{sigm}(\mathbf{w}^\top\mathbf{x}))$(式 8.1)。图 1.19(b)展示了一个一维输入的例子。(§8.2,p.1)
sigmoid决策边界对数几率

场景 03–04

03 – 04
draft

逻辑回归最大似然估计

用交叉熵当损失、用梯度(和黑塞)当指南针——没有闭式解,但损失碗是凸的,谷底唯一,优化器一定能找到。
$\mathrm\{NLL\}(\mathbf{w}) = -\sum_{i=1}^N \bigl[y_i \log \mu_i + (1-y_i)\log(1-\mu_i)\bigr], \quad \mu_i = \mathrm{sigm}(\mathbf{w}^\top\mathbf{x}_i)$$\mathrm\{NLL\}(\mathbf{w}) = \sum_i \log\bigl(1 + e^{-y_i \mathbf{w}^\top\mathbf{x}_i}\bigr)$
逻辑斯谛回归的负对数似然(negative log-likelihood, NLL)函数为式(8.2)……这也称为交叉熵(cross-entropy)误差函数(见 2.8.2 节)。(§8.3.1,p.2)
MLE交叉熵NLL凸优化
draft

梯度下降与牛顿法

梯度下降沿最陡下坡走——步长不对就慢或振荡;牛顿法用曲率(黑塞)画局部二次碗,一步跳到碗底,但对非凸面可能跳进山顶。
$\boldsymbol\{\theta\}_{k+1} = \boldsymbol{\theta}_k - \eta_k \mathbf{g}_k, \quad \mathbf{g}_k = \nabla f(\boldsymbol{\theta}_k)$$\eta_k = \arg\min_\{\eta>0\} f(\boldsymbol{\theta}_k + \eta \mathbf{d}_k)$
无约束优化中最简单的算法或许是梯度下降法(gradient descent),也称最速下降法(steepest descent),其迭代更新形式为式(8.8)。梯度下降法的核心问题是如何设置步长。(§8.3.2,p.3)
梯度下降牛顿法线搜索二阶优化

场景 05–06

05 – 06
draft

IRLS 迭代重加权最小二乘

每一轮牛顿步,逻辑回归悄悄变成一次**加权最小二乘**——权重 $\mu_i(1-\mu_i)$ 随拟合更新,工作响应 $\mathbf\{z\}$ 把非线性拉直。
$\mathbf\{w\}_{k+1} = \mathbf{w}_k - \mathbf{H}_k^{-1}\mathbf{g}_k$$\mathbf\{w\}_{k+1} = (\mathbf{X}^\top \mathbf{S}_k \mathbf{X})^{-1} \mathbf{X}^\top \mathbf{S}_k \mathbf{z}_k$
现将牛顿算法应用于求解二元逻辑斯谛回归的最大似然估计。在第 $k+1$ 次迭代,该模型的牛顿法更新为式(8.18)……由于黑塞矩阵是精确而非近似的,因此取 $\eta_k = 1$。(§8.3.4,p.5)
IRLS加权最小二乘牛顿法working response
draft

多分类逻辑回归

每一类一根权重向量,softmax 做归一化——多分类逻辑回归就是「多个 sigmoid 竞争 + 概率和为 1」。
$p(y=c\mid\mathbf\{x\}, \mathbf{W}) = \frac{\exp(\mathbf{w}_c^\top \mathbf{x})}{\sum_{c'=1}^C \exp(\mathbf{w}_{c'}^\top \mathbf{x})}$$f(\mathbf\{W\}) = -\sum_{i,c} y_{ic}\log \mu_{ic}, \quad \mu_{ic} = \mathrm{softmax}(\mathbf{W}^\top \mathbf{x}_i)_c$
现讨论多分类逻辑斯谛回归(multinomial logistic regression)模型,有时也称为最大熵分类器(maximum entropy classifier)。模型的形式为式(8.33)。(§8.3.7,p.8)
softmax多分类最大熵one-hot

场景 07–08

07 – 08
draft

贝叶斯逻辑回归

逻辑回归没有共轭先验,但可以在最大后验附近用高斯「贴」一个碗——后验不确定性让远离数据的决策边界变得模糊,预测不再过度自信。
$p(\mathbf\{w\}\mid\mathcal{D}) \approx \mathcal{N}\bigl(\mathbf{w}\mid \hat{\mathbf{w}},\,(\hat{\mathbf{H}})^{-1}\bigr)$$\log p(\mathcal\{D\}) \approx \log p(\mathcal{D}\mid\hat{\boldsymbol{\theta}}_{\mathrm{MLE}}) - \tfrac{D}{2}\log N$
对于逻辑斯谛回归模型,自然希望能够计算参数 $\mathbf\{w\}$ 的完整后验分布 $p(\mathbf\{w\}\mid\mathcal{D})$……遗憾的是,与线性回归不同,由于逻辑斯谛回归缺乏便利的共轭先验分布,因此逻辑斯谛回归无法精确计算完整后验分布。(§8.4,p.10)
贝叶斯拉普拉斯近似后验预测调节输出
draft

在线学习与随机梯度下降

数据像水龙头一样来——不必等全量算完梯度,每来一个(或小批)样本就挪一步,噪声反而帮你逃出浅坑。
$f(\boldsymbol\{\theta\}) = \frac{1}{N}\sum_i f_i(\boldsymbol{\theta}, \mathbf{z}_i), \quad f_i = -\log p(y_i\mid\mathbf{x}_i, \boldsymbol{\theta})$$\boldsymbol\{\theta\}_{k+1} = \mathrm{proj}_\Theta(\boldsymbol{\theta}_k - \eta_k \nabla f(\boldsymbol{\theta}_k, \mathbf{z}_k))$
传统机器学习是离线(offline)进行的,即基于批量(batch)数据……然而,对于流式数据(streaming data),需进行在线学习(online learning),以便在每个新数据点到达时更新估计值。(§8.5,p.15–16)
在线学习SGDmini-batchRobbins-Monro

场景 09–10

09 – 10
draft

感知机算法

分对了就什么都不做,分错了就把样本向量「加进」权重——感知机是最简在线分类器,也是神经网络的老祖宗。
$\mathbf\{g\} = (\mu_i - y_i)\mathbf{x}_i, \quad \mu_i = \mathrm{sigm}(\boldsymbol{\theta}^\top \mathbf{x}_i)$$\hat\{y\}_i = \mathrm{sign}(\boldsymbol{\theta}^\top \mathbf{x}_i)$
在线学习情况下,权重的更新具有如下简洁形式……由此可见,上式与最小均方算法的形式完全相同。事实上,这一性质对所有广义线性模型均成立(9.3 节)。(§8.5.4,p.19)
感知机在线学习线性可分Rosenblatt
draft

残差分析与异常点

回归看 $y - \hat\{y\}$,分类看「模型有多意外」——贝叶斯交叉验证预测概率低的点,就是可疑异常点。
$r_i = y_i - \hat\{y\}_i, \quad \hat{y}_i = \mathbf{w}^\top \mathbf{x}_i$$\text\{score\}_i = p(y_i \mid \hat{y}_i), \quad \hat{y}_i = \mathrm{sigm}(\hat{\mathbf{w}}^\top \mathbf{x}_i)$
检测数据样本中的「异常点」有时非常有用,这一过程称为残差分析(residual analysis)或个例分析(case analysis)。在回归问题中,可通过计算 $r_i = y_i - \hat\{y\}_i$ 来实现……通过绘制分位数-分位数图(QQ-plot),可对高斯分布的理论分位数与残差 $r_i$ 的经验分位数进行比对评估。(§8.4.5,p.15)
残差分析异常检测交叉验证贝叶斯
← 上一章 第5章 · 贝叶斯统计学