zoukankan      html  css  js  c++  java
  • SoftMax

    熵、交叉熵

    在信息论中,一个离散型随机变量X的熵被定义为:

    交叉熵则用来描述xi的实际输出概率和期望输出概率间的距离,定义函数q()为实际概率分布、p()为期望概率分布,那么交叉熵H()为:

    交叉熵损失函数交叉熵损失函数被广泛应用于分类问题。

    在二分类问题中,定义y为样本标签(正标签为1,负标签为0),p预测为正样本的概率,此时交叉熵损失函数为:

    可以很容易的将二分类问题拓展到多分类问题上。定义K为分类数,在多分类问题中的交叉熵损失函数为:

    此时,求交叉熵损失函数J关于pi的偏导得到:

    交叉熵损失函数与SoftMax

    e为自然底数,softmax函数形如:

    如下图所示,通过softmax可以将来自多个神经元的输出值映射到(0,1]区间内,并且所有输出的映射值之和为1(映射值满足概率性质)。

    通常情况下,softmax激活函数与交叉熵损失函数搭配使用。

    在反向传播时,通过链式法则求解损失函数L关于某一参数的偏导w(也就是梯度),而后辅以学习率,向梯度的反方向更新该参数:

     若损失函数为交叉熵损失函数则L=J,同时激活函数为softmax,由于学习率与输入值已知,我们只需求解交叉熵损失函数的偏导与softmax的偏导:

    softmax的偏导需要分情况讨论

    当i==j时:

     当i!=j时

     所以将softmax的偏导与交叉熵损失函数的偏导结合得到:

     针对分类问题,我们给定的结果y_i最终只会有一个类别是1,其他类别都是0,因此,对于分类问题,这个梯度等于:

     辅以学习率,我们可以非常快速的向梯度的反方向更新参数:

  • 相关阅读:
    ny2 括号配对问题
    ny14 会场安排问题
    杭电ACM题目分类
    hdoj2037 今年暑假不AC
    ny37 回文字符串
    算法 字符串的排列组合
    手撸IoC
    Java设计模式
    多种方法求java求整数的位数
    二叉树之 二叉树深度
  • 原文地址:https://www.cnblogs.com/alan-W/p/13766135.html
Copyright © 2011-2022 走看看