10 Softmax 回归
10.1 复习
上一讲 Chapter 7 关注 回归 (Regression) 问题. 在上一讲我们学习这些事情
- 线性回归的定义
- 线性回归可以看作是只有一层的神经网络. 因此, 我们在实践层面, 我们可以用神经网络的表达 (Representation) 和 深度学习框架 (e.g.
PyTorch
) 解决线性回归的求解问题 - 简单地讨论数值计算的话题
- 算法复杂度 (Computational complexity)
- 如何优化计算速度
10.2 本节重点
在机器学习经常处理的另一类问题是 分类问题 (Classification). 这是本节关注的内容. 在 ML 基础课程中, 分类问题研究的第一个模型通常是 Logistic regression.
Logistic 构造一个 0-1 之间的 S型函数 (Sigmoid function) 然后对数据进行二分类.
本节介绍 Softmax 回归. 它也叫做 Multinomial logistic regression (中文有时称作 多分类 Logisitc 回归). Softmax 回归 可以处理多分类问题. 与 logistic regression 对比
- 相似点
- Softmax 运算获取一个向量并将其映射为概率。
- Softmax 回归适用于分类问题,它使用了softmax运算中输出类别的概率分布。
- 差异
- Logisitic 回归 仅涉及二分类. 因此通长使用 0.5 作为阈值区分类别
- Softmax 回归 则需要其他衡量不同类别概率的方式. 本节将使用 [[交叉熵 (Cross-entropy loss)|交叉熵]].
- 交叉熵是一个衡量两个概率分布之间差异的很好的度量,
- 它测量给定模型编码数据所需的比特数。
10.3 Softmax回归的数学基础
10.3.1 定义
\[\hat{\mathbf{y}} = \mathrm{softmax}(\mathbf{o})\quad \text{其中}\quad \hat{y}_j = \frac{\exp(o_j)}{\sum_k \exp(o_k)}\] 其中各参数含义如下. \(x\) 为 features, \(w\) 为权重, \(b\) 为 截距 (Intercept).
\[ \begin{aligned} o_1 &= x_1 w_{11} + x_2 w_{12} + x_3 w_{13} + x_4 w_{14} + b_1,\\ o_2 &= x_1 w_{21} + x_2 w_{22} + x_3 w_{23} + x_4 w_{24} + b_2,\\ o_3 &= x_1 w_{31} + x_2 w_{32} + x_3 w_{33} + x_4 w_{34} + b_3. \end{aligned} \]
为了更简洁地表达模型,我们仍然使用线性代数符号。通过向量形式表达为\[\mathbf{o} = \mathbf{W} \mathbf{x} + \mathbf{b}\],这是一种更适合数学和编写代码的形式。由此,我们已经将所有权重放到一个\(3 \times 4\)矩阵中。对于给定数据样本的特征\(\mathbf{x}\),我们的输出是由权重与输入特征进行矩阵-向量乘法再加上偏置\(\mathbf{b}\)得到的。
10.3.2 神经网络角度的解读
10.3.3 比较
用 交叉熵 (Cross-entropy loss) 来比较两个概率的区别: \[H(p,q)=\sum_{i} -p \log(q_i)\]
10.4 附录: 信息论
10.4.1 信息熵 Entropy (information theory)
美国数学家 克劳德·香农 (Claude Shannon) 被称为”信息论之父”。人们通常将香农于1948年10月发表于 《贝尔系统技术学报》 上的论文 《通信的数学理论》 作为现代信息论研究的开端。这一文章部分基于 哈里·奈奎斯特和拉尔夫·哈特利 于1920年代先后发表的研究成果。在该文中,香农给出了信息熵的定义:
Def 10.1 (信息熵)
- Let
- \(\mathcal{X}\) 一个 集合
- \(\mathcal{X}\) 中的任意元素记作 \(x\)
- \(X\) 一个定义在 \(\mathcal{X}\) 上的 随机变量
- \(\mathcal{X}\) 一个 集合
- Let
- \(p_X(x)\): 为 \(X=x\) 的 概率
- \(I_X\left( x \right)\stackrel{\mathrm{def}}{=} \log\left( \dfrac{ 1 }{ p_X(x) } \right)\) : 为 \(X=x\) 所承载的信息量 (Information content), 也叫做 Self-Information
- Then, we call \[\mathbb{E}_X\left[ I_X(x) \right] \stackrel{\mathrm{def}}{=} \sum_{x\in \mathcal{X}} p_X(x) \log\left( \frac{1}{p_X(x)} \right)\]
- 是 \(X\) 的 信息熵 (Entropy (Information theory))
- 记作, \(H(X)\)