李沐深度学习 3 月 28 日课程笔记

3 月 28 日 课程笔记

讲课大纲

分类问题的例子

回归是单连续数值的输出,而分类通常有多个输出,输出 \(O_i\) 是第 \(i\) 类的置信度。

从回归过渡到多分类

对类别进行一位有效编码 \(y = [y_1, y_2, ..., y_n]^T\)​(这种编码方式叫做 one-hot encoding,相比于直接编码成类别的序号,去除了类别之间的自然顺序)。

这样可以用线性的全连接层建模,然后用均方损失进行训练:

\[o = Wx + b \]

初看起来可以通过直接判断没有规范化的输出 \(o\) 的大小来选取输出结果的,但这样存在一些问题:我们不能将输出直接视为概率,它们不满足概率公理(和为 1,且都是正数)。我们需要让输出满足概率公理,也希望能有一个适合于评估概率的目标函数来鼓励模型估计概率。

我们可以使用 Softmax 函数和交叉熵损失。

Softmax 函数能够将一个向量归一化到单位向量上面。将 \(y=softmax(o)\) 定义为:

\[y_i = \exp{o_i} / \sum_k{\exp{o_k}} \]

交叉熵损失用来衡量两个概率的区别(这个公式本身是由最大似然估计导出的,详见书上):

\[H(p, q) = \sum_i{-p_i \log{q_i}} \]

Softmax 回归的从零开始实现和利用框架实现

略,主要见 Jupyter Notebook 中的代码。

上一篇:HarmonyOS第四次培训


下一篇:python中字符串中一些函数的用法