3.4 softmax回归

分类问题

线性回归模型适用于输出为连续值的情景。softmax回归适用于离散值的预测问题。

通常使用离散的数值来表示类别,例如$y_1=1, y_2=2, y_3=3$。与线性回归的一个主要不同在于,softmax回归的输出值个数等于标签里的类别数。

softmax回归模型

softmax回归同线性回归一样,也是一个单层神经网络。输出值$o_i$当作预测类别是$i$的置信度。

$$
\hat{y}_1, \hat{y}_2, \hat{y}_3 = \text{softmax}(o_1, o_2, o_3)
$$

$$
\hat{y}_1 = \frac{ \exp(o_1)}{\sum_{i=1}^3 \exp(o_i)},\quad\hat{y}_2 = \frac{ \exp(o_2)}{\sum_{i=1}^3 \exp(o_i)},\quad\hat{y}_3 = \frac{ \exp(o_3)}{\sum_{i=1}^3 \exp(o_i)}.
$$

单样本分类的矢量计算表达式

softmax回归对样本$i$分类的矢量计算表达式为

$$
\begin{aligned}\boldsymbol{o}^{(i)} &= \boldsymbol{x}^{(i)} \boldsymbol{W} + \boldsymbol{b},\\\boldsymbol{\hat{y}}^{(i)} &= \text{softmax}(\boldsymbol{o}^{(i)})\end{aligned}
$$

交叉熵损失函数

平方损失则过于严格,交叉熵(cross entropy)是一个常用的衡量方法:

$$
H\left(\boldsymbol y^{(i)}, \boldsymbol {\hat y}^{(i)}\right ) = -\sum_{j=1}^q y_j^{(i)} \log \hat y_j^{(i)},
$$

假设训练数据集的样本数为$n$,交叉熵损失函数定义为

$$
\ell(\boldsymbol{\Theta}) = \frac{1}{n} \sum_{i=1}^n H\left(\boldsymbol y^{(i)}, \boldsymbol {\hat y}^{(i)}\right ),
$$

其中$\boldsymbol{\Theta}$代表模型参数。

知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议
上一篇
下一篇