修订历史:
- 2024.08.31 初稿
- 2024.09.03 版式调整,使得不同内容笔记区分更清晰
学习笔记
《深度学习详解》/王棋等/中国工信出版社/新书
〇 独热向量(one-hot编码)(P59)
★ One-hot 编码是一种处理分类变量的方法,通常用于机器学习和统计分析中。在这种编码方式中,每个类别值都被表示为一个二进制向量,其中只有一个位置是1,其余位置都是0。这个1的位置对应于类别值的索引。
例如,假设我们有一个颜色的分类变量,包含三个类别:红色、蓝色和绿色。在 one-hot 编码中,这三个类别可以被编码为以下向量:
- 红色:[1, 0, 0]
- 蓝色:[0, 1, 0]
- 绿色:[0, 0, 1]
这样,每个类别都有一个唯一的二进制向量表示,可以被机器学习算法处理。One-hot 编码的主要优点是它消除了类别之间的任何隐含的顺序关系,这对于某些算法(如线性回归)来说是很重要的,因为它们可能会错误地解释类别之间的数值关系。此外,它也使得模型能够更容易地处理稀疏数据,因为大多数位置都是0。
〇 Softmax (P60-P61) Softmax 函数如下
Q:为什么分类过程中要加上 softmax 函数?
A:一个比较简单的解释是,y 是独热向量,所以其里面的值只有 0 跟 1,但是 里面有任何值。既然目标只有 0 跟 1,但 有任何值,可以先把它归一化到 0 到 1 之间,这样才能跟标签的计算相似度。
当只有两个类的时候,sigmoid 和 softmax 是等价的。当有大于等于 3 个类时,使用 softmax。
〇 分类损失(P61)
如下图所示,当我们把 x 输入到一个网络里面产生 后,通过 softmax 得到 y′,再去计算 y′ 跟 y 之间的距离 e.
★ 距离 的计算方式有
- 均方误差:
- 交叉熵:
其中分类任务中交叉熵更常用,当 跟 相同时,可以最小化交叉熵的值,此时均方误差也是最小的。最小化交叉熵其实就是最大化似然(maximize likelihood)。