为什么神经网络不使用自由度的概念?

数据挖掘 神经网络 分类
2021-09-24 19:19:29

在大多数(如果不是全部)NMIST 神经网络教程中,您会看到最后两层减少为多层感知器 (MLP),标签数量为 0-9,总共 10 个标签。在统计学中众所周知,当你有 10 个标签时,你可以将其中一个的分数设置为 0,让其他 9 个不同。这是自由度的概念,其中允许 9 个变量“自由运行”,但一个变量可以保持固定,从而导致 9 个自由度。更直观地说,当您计算图像是特定数字的概率时,您只需指定它是 9 个数字之一的概率,因为所有 10 个标签的概率总和必须为 1,因此剩余标签的概率必须为1 - sum(of the other 9)

问题是:为什么神经网络不利用这种自由度的想法,而是估计score所有 10 个标签的 a 而不是将score其中一个标签固定为0

1个回答

实际上,神经网络确实考虑了这些信息。

当我们使用 NN 进行硬分类(即只有一个类用于输出)时,我们(几乎总是)使用softmax输出层,然后取 softmax 层的最大值来获得类及其概率。

那么为什么我们在 softmax 之前仍然有 10 个输出,为什么之后有 10 个呢?好吧,你需要有 10 个 softmax 输入来指示网络赋予每个类的权重,因为这仍然没有缩减为概率。然后为了简化输出层的使用,我们希望保持 10 个输出能够使用这些值而无需重建缺失值(由于 softmax 的工作方式,无论如何都需要计算缺失值)。