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 ]

  • 相关阅读:
    通过Nginx,Tomcat访问日志(access log)记录请求耗时
    Nginx+Lua+Redis 对请求进行限制
    windows7+eclipse+hadoop2.5.2环境配置
    ubuntu + hadoop2.5.2分布式环境配置
    CentOS6.5上golang环境配置
    curl POST
    .sh 的运行
    CentOS 安装nginx
    Amazon ec2 改成密码登录方式
    SSH 服务器不用密码
  • 原文地址:https://www.cnblogs.com/ZJUT-jiangnan/p/5489047.html
Copyright © 2011-2022 走看看