zoukankan      html  css  js  c++  java
  • Negative log-likelihood function

    Softmax function

    Softmax 函数 (y=[y_1,cdots,y_m]) 定义如下:

    [y_i=frac{exp(z_i)}{sumlimits_{j=1}^m{exp(z_j)}}, i=1,2,cdots,m ]

    它具有很好的求导性质:

    [frac{partial y_i}{partial z_i}=y_i* (1-y_i) ]

    其中,(y)的每一个维度 (y_i) 表明,属于第 (i) 类的概率。求导过程,请参考:Softmax vs. Softmax-Loss: Numerical Stability

    Negative log-likehood

    当我们使用softmax 函数作为 output function的时候,即:

    [y=softmax(z) ]

    (z) 在这里只表示某些需要优化的参数。

    我们需要选择 negiative log-likelihood 作为代价函数( cost function), 也被称作 Cross-Entropy cost function. 即:

    [E(t,y)= -sumlimits_i {t_i log y_i} ]

    (t)表示的是 tagert, (y) 表示的是model's prediction. 通常,(t) 表示的是 one-hot representation, (y) 表示的是各类的 predicted probability.

    Note

    如果 (t) 采用的是 one-hot representation, 那么我们的计算公式是:

    [E(t,y)= -t log y ]

    如果 (t) 是对应的 index, 而 (y) 是对应的 predicted probability vector 的话,计算公式:

    [E(t,y)= - log y [t] ]

    它的求导公式也很简单:

    [frac{partial E(t,y)}{partial z_i}= sumlimits_j {frac{partial E(t,y)}{partial y_i}frac{partial y_j}{partial z_j}}= y_i -t_i ]

    Note

    如果 (t) 采用的是 one-hot representation, 那么我们的计算公式是:

    [frac{partial E(t,y)}{partial z}= y -z ]

    如果 (t) 是对应的 index, 而 (y) 是对应的 predicted probability vector 的话,计算公式:

    [y[t]-=1 ]

    [frac{partial E(t,y)}{partial z} := y ]

  • 相关阅读:
    4、redis之使用commons-pool
    好用的eclipse properties插件
    1、redis之安装与配置
    谷歌浏览器禁止window.close的问题
    在浏览器中使用JS打开并展示PDF文件
    JAVA遍历Map的方法
    GEOS库学习之三:空间关系、DE-9IM和谓词
    GEOS库的学习之二:简单几何图形的创建
    GEOS库的学习之一:介绍和编译
    GEOS库在windows中的编译和测试(vs2012)
  • 原文地址:https://www.cnblogs.com/ZJUT-jiangnan/p/5489047.html
Copyright © 2011-2022 走看看