04_线性神经网络_softmax回归笔记

3.4. softmax回归

通常,机器学习实践者用分类这个词来描述两个有微妙差别的问题:
(1)只对样本的硬性类别感兴趣,即属于哪个类别;
(2)希望得到软性类别,即得到属于每个类别的概率。
这两者的界限往往很模糊。其中的一个原因是,即使只关心硬类别,仍然需要使用软类别的模型。

3.4.1. 分类问题

  1. 当分类问题类别间存在自然顺序可以用数值代表每个类别,一般的分类问题并不与类别之间的自然顺序有关,可以使用独热编码。
  2. 独热编码是一个向量,它的分量和类别一样多。类别对应的分量设置为1,其他所有分量设置为0

3.4.2. 网络结构

  1. 在线性模型的分类问题中,需要拥有和输出一样多的仿射函数,每个输出对应它自己的仿射函数
  2. 与线性回归一样,softmax回归也是一个单层神经网络,其输出层为全连接层
  3. 向量形式表达softmax模型: o = W x + b o = Wx + b o=Wx+b

3.4.3. 全连接层的参数开销

  1. 对于任何具有 d 个输入和 q 个输出的全连接层,参数开销为 O(dq)
  2. 将 d 个输入转换为 q 个输出的成本可以减少到 O(dqn) ,其中超参数 n 可以由我们灵活指定,以在实际应用中平衡参数节约和模型有效性

3.4.4. softmax运算

  1. 采取的主要方法是将模型的输出视作为概率。我们将优化参数以最大化观测数据的概率。为了得到预测结果,我们将设置一个阈值,如选择具有最大概率的标签(使用软类别模型做硬类别的分类)
  2. 要将输出视为概率,必须保证在任何数据上的输出都是非负的且总和为1
  3. 校准:在分类器输出0.5的所有样本中,希望这些样本有一半实际上属于预测的类
  4. softmax: y ^ = s o f t m a x ( o ) \hat{y}=softmax(o) y^=softmax(o)其中 y j ^ = exp ⁡ ( o j ) ∑ k exp ⁡ ( o k ) \hat{y_j}=\frac{\exp(o_j)}{\sum_k \exp(o_k)} yj^=kexp(ok)exp(oj)
  5. softmax运算不会改变未归一化的预测 o o o之间的顺序,只会确定分配给每个类别的概率
  6. 预测过程中选择最有可能类别: a r g m a x j ( y j ^ ) = a r g m a x j ( o j ) argmax_j (\hat{y_j})=argmax_j (o_j) argmaxj(yj^)=argmaxj(oj)
  7. 尽管softmax是一个非线性函数,但softmax回归的输出仍然由输入特征的仿射变换决定。因此,softmax回归是一个线性模型(线性函数:只拥有一个变量的一阶多项式函数,线性模型:输出由输入特征的仿射变换决定)

3.4.5. 小批量样本的矢量化

  1. 矢量化可以提高计算效率并充分利用GPU
  2. softmax回归的矢量计算表达式:
    O = X W + b O = XW + b O=XW+b
    Y ^ = s o f t m a x ( O ) \hat{Y} = softmax(O) Y^=softmax(O)
    小批量特征 X ∈ R n × d X \in R^{n \times d} XRn×d表示一批样本 X X X特征维度(输入数量) d d d,批量大小 n n n
    权重 W ∈ R d × q W \in R^{d \times q} WRd×q
    偏置 b ∈ R 1 × q b \in R^{1 \times q} bR1×q
    X X X中每行代表一个数据样本, s o f t m a x softmax softmax运算按行执行,对于 O O O的每一行,先对所有项进行幂运算,然后通过求和对它们进行标准化

3.4.6. 损失函数

使用损失函数来度量预测概率的效果,最大似然估计与线性回归中的均方误差目标提供概率证明时遇到的概念完全相同

3.4.6.1. 对数似然
  1. 最大似然与最小化负对数似然效果相同
  2. 标签与预测的损失函数为交叉熵损失: l ( y , y ^ ) = − ∑ j = 1 q y j l o g y ^ l(y,\hat{y}) = -\sum_{j=1}^q y_jlog\hat{y} l(y,y^)=j=1qyjlogy^
  3. s o f t m a x softmax softmax公式: y j ^ = exp ⁡ ( o j ) ∑ k exp ⁡ ( o k ) \hat{y_j}=\frac{\exp(o_j)}{\sum_k \exp(o_k)} yj^=kexp(ok)exp(oj)
    损失函数: l ( y , y ^ ) = − ∑ j = 1 q y j l o g y ^ l(y,\hat{y}) = -\sum_{j=1}^q y_jlog\hat{y} l(y,y^)=j=1qyjlogy^
    l ( y , y ^ ) = − ∑ j = 1 q y j l o g exp ⁡ ( o j ) ∑ k exp ⁡ ( o k ) = l o g ∑ k = 1 q exp ⁡ ( o k ) − ∑ j = 1 q y j o j \begin{aligned} l(y,\hat{y}) &= -\sum_{j=1}^q y_jlog\frac{\exp(o_j)}{\sum_k \exp(o_k)} \\ & = log \sum_{k=1}^q \exp(o_k) - \sum_{j=1}^q y_jo_j \end{aligned} l(y,y^)=j=1qyjlogkexp(ok)exp(oj)=logk=1qexp(ok)j=1qyjoj
    对预测 o j o_j oj求导: ∂ o j l ( y , y ^ ) = exp ⁡ ( o j ) ∑ k = 1 q exp ⁡ ( o k ) − y j = s o f t m a x ( o j ) − y j \partial_{o_j}l(y,\hat{y})=\frac{\exp(o_j)}{\sum_{k=1}^q \exp(o_k)}-y_j = softmax(o_j)-y_j ojl(y,y^)=k=1qexp(ok)exp(oj)yj=softmax(oj)yj
    导数是模型分配的概率(由softmax得到)与实际发生的情况(由独热标签向量表示)之间的差异。与回归中看到的非常相似,其中梯度是观测值 y y y和估计值 y ^ \hat{y} y^之间的差异
3.4.6.3. 交叉熵损失

度量两个概率分布间的差异性信息

交叉熵损失:所有标签分布的预期损失值

3.4.7. 信息论基础

信息论涉及编码、解码、发送以及尽可能简洁地处理信息或数据

3.4.7.1. 熵

信息论核心思想:量化数据中的信息内容,数值被称为分布 P 的熵: H [ P ] = ∑ j − P ( j ) l o g P ( j ) H[P] = \sum_j -P(j)logP(j) H[P]=jP(j)logP(j)

3.4.7.2. 惊异
  1. 当数据易于预测,也就易于压缩
  2. 不能完全预测一个事件,可能会感到惊异,当赋予一个事件较低的概率时,惊异更大。用 l o g 1 P ( j ) = − l o g P ( j ) log\frac{1}{P(j)} = -logP(j) logP(j)1=logP(j)量化一个人的惊异。在观察一个事件 j j j并赋予(主观)概率 P ( j ) P(j) P(j)。在 定义的熵中当分配的概率真正匹配数据生成过程时的预期惊异
3.4.7.3. 重新审视交叉熵

交叉熵从 P P P Q Q Q,记为 H ( P , Q ) H(P,Q) H(P,Q),是主观概率为 Q Q Q的观察者在看到根据概率 P P P实际生成的数据时的预期惊异。当 P = Q P=Q P=Q时,交叉熵达到最低。在这种情况下,从 P P P Q Q Q的交叉熵是 H ( P , P ) = H ( P ) H(P,P)=H(P) H(P,P)=H(P)

从两方面来考虑交叉熵分类目标:(i)最大化观测数据的似然;(ii)最小化传达标签所需的惊异。

3.4.8. 模型预测和评估

在训练softmax回归模型后,给出任何样本特征,可以预测每个输出类别的概率。通常使用预测概率最高的类别作为输出类别。如果预测与实际类别(标签)一致,则预测是正确的。

3.4.9. 小结

softmax运算获取一个向量并将其映射为概率。

softmax回归适用于分类问题。它使用了softmax运算中输出类别的概率分布。

交叉熵是一个衡量两个概率分布之间差异的很好的度量。它测量给定模型编码数据所需的比特数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值