神经网络之输出层设计

输出层的设计

神经网络可以用在分类问题和回归问题上,不过需要根据情况改变输出层的激活函数。一般而言,回归问题用恒等函数,分类问题用softmax函数。

1、恒等函数和softmax函数

  • 恒等函数:将输入按原样输出,对于输入的信息,不加以任何改动地直接输出。
  • softmax函数:
    神经网络之输出层设计_第1张图片
    图示:
    神经网络之输出层设计_第2张图片
  • 实现softmax注意事项:
    溢出问题解决措施:减去输出信号最大值。
  • softmax特征:softmax函数的输出是0.0到1.0之间的实数。并且,softmax函数的输出值的总和是1。输出可以解释为“概率”。
  • 即便使用了softmax函数,各个元素之间的大小关系也不会改变。这是因为指数函数(y = exp(x))是单调递增函数。
  • 神经网络在进行分类时,输出层的softmax函数可以省略。

2、softmax函数 VS sigmoid函数

softmax函数

  • softmax =多类别分类问题=只有一个正确答案=互斥输出(手写数字)。构建分类器,解决只有唯一正确答案的问题时,用softmax函数处理各个原始输出值。softmax函数的分母综合了原始输出值的所有因素,这意味着,softmax函数得到的不同概率之间相互关联。

  • softmax函数,又称归一化指数函数。

sigmoid函数

  • sigmoid =多标签分类问题=多个正确答案=非独占输出。构建分类器,解决有多个正确答案的问题时,用sigmoid函数分别处理各个原始输出值。

  • sigmoid函数是一种logistic函数。

  • 优点:1、sigmoid函数的输出在(0,1)之间,输出范围有限,优化稳定,可以用作输出层。2. 连续函数,便于求导。

  • 缺点:1. 最明显的就是饱和性,容易造成梯度消失。2.激活函数的偏移现象。sigmoid函数的输出值均大于0,使得输出不是0的均值,这会导致后一层的神经元将得到上一层非0均值的信号作为输入,这会对梯度产生影响。 3. 计算复杂度高,因为sigmoid函数是指数形式。

总结

  • softmax函数是二分类函数sigmoid在多分类上的推广,目的是将多分类的结果以概率的形式展现出来。
  • sigmoid函数可以用来解决多标签问题,softmax函数用来解决单标签问题。
  • 对于某个分类场景,当softmax函数能用时,sigmoid函数一定可以用

你可能感兴趣的:(神经网络,分类,人工智能)