神经网络最后一层处理

  • 回归任务
  • 分类任务
  • 二分类
  • 多分类



通常,根据目标任务的不同,神经网络的最后一层处理方式也会不同。这篇文章将根据任务类型分别讨论。

回归任务

如果目标任务的预测值在 神经网络huigui 神经网络回归任务_神经网络,一般默认不使用激活函数,意味着神经网络的输入和输出是线性关系。不过,以这种目标为任务的神经网络,一般在隐藏层使用非线性激活函数,在输出层不使用激活函数。
如果目标任务的预测值在 神经网络huigui 神经网络回归任务_神经网络_02,一般使用ReLU,例如房价预测的回归任务。和上面一样,在隐藏层一般可以使用非线性激活函数,输出层使用ReLU函数。

分类任务

二分类

二分类任务一般使用 Sigmoid,使输出的值集中在 神经网络huigui 神经网络回归任务_神经网络_03

多分类

多分类任务一般使用softmax,使输出的值集中在 神经网络huigui 神经网络回归任务_神经网络_03 之间,与二分类相似。多分类的最后一层通常由全连接层+Softmax(分类网络)组成,如下图所示:

神经网络huigui 神经网络回归任务_机器学习_05


由于Softmax常常会搭配one-hot的标签使用,所以经过Softmax的最后一层,往往会选择最后一层的神经元输出中最大的值对应的索引,作为整层神经元最后的结果。

全连接层将倒数第二层的神经元个数压缩/扩张到分类的数量K(如八分类对应的分类数为8),每个神经元为一个实数,经过softmax,将这K个数映射到 神经网络huigui 神经网络回归任务_神经网络_03