一、ArgMax
把各个输出元都送到ArgMax层后,ArgMax会简单地将最大值设为1,其余值设为0。
但是这将会导致的问题是:无法通过反向传播来优化权重和偏差。
插入0之后,整个导数为0,梯度下降并不能朝着最优参数求解。
二、SoftMax
特点:
- SoftMax函数保留了原始输出值的原始顺序或排名
- 所有输出值都在0和1之间。
- 所有输出值之和为1。→ 因此SoftMax输出值可以被解释为预测概率(不准确的)。
相比之下, SoftMax函数有一个可以用来反向传播的导数。
因此带有多个输出的神经网络,总是使用SoftMax进行训练,然后使用ArgMax来对新观察进行分类(它的输出更易于理解)。
三、交叉熵
(一)原理
交叉熵用来确定神经网络对于数据的拟合程度。
(二)特点
(三)为什么Softmax使用交叉熵而不是MSE(残差平方和)?
- 概率分布的特性 :Softmax输出的是一个概率分布(所有输出值的和为1),而交叉熵是专门为衡量概率分布差异设计的。MSE更适合衡量数值差异,而不是概率分布差异。
-
梯度特性 :步长是取决于这些函数的导数,交叉熵的的导数变化更大,所以神经网络做出糟糕预测时,交叉熵会帮助我们向更好的预测迈出较大的步伐。