美文网首页
深度学习入门-softmax函数

深度学习入门-softmax函数

作者: Jasmine晴天和我 | 来源:发表于2019-04-09 12:35 被阅读0次

    softmax函数(用于分类)

    softmax公式

    图片.png
    实现softmax函数
    def softmax(a):
      exp_a = np.exp(a)
      sum_exp_a = np.sum(exp_a)
      y = exp_a / sum_exp_a
      return y
    

    上面的函数会出现溢出问题,就需要进行一些改进,改进方法如下

    图片.png
    可以取C为最大值
    def softmax(a):
      c = np.max(a)
      exp_a = np.exp(a - c) # 溢出对策
      sum_exp_a = np.sum(exp_a)
      y = exp_a / sum_exp_a
      return y
    

    example

    a = np.array([0.3, 2.9, 4.0])
    y = softmax(a)
    print(y)
    print(np.sum(y))
    

    softmax函数的输出是0.0到1.0之间的实数。并且,softmax
    函数的输出值的总和是1。输出总和为1是softmax函数的一个重要性质。正
    因为有了这个性质,我们才可以把softmax函数的输出解释为“概率”。
    一般而言,神经网络只把输出值最大的神经元所对应的类别作为识别结果。
    并且,即便使用softmax函数,输出值最大的神经元的位置也不会变。

    相关文章

      网友评论

          本文标题:深度学习入门-softmax函数

          本文链接:https://www.haomeiwen.com/subject/fvfpiqtx.html