Negative log-likelihood function

来源:互联网 发布:js实现购物车计算总价 编辑:程序博客网 时间:2024/05/16 15:30

Softmax function

Softmax 函数 y=[y1,,ym]y=[y1,⋯,ym] 定义如下:

yi=exp(zi)j=1mexp(zj),i=1,2,,myi=exp(zi)∑j=1mexp(zj),i=1,2,⋯,m

它具有很好的求导性质:

yizi=yi(1yi)∂yi∂zi=yi∗(1−yi)

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

Negative log-likehood

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

y=softmax(z)y=softmax(z)

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

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

E(t,y)=itilogyiE(t,y)=−∑itilog⁡yi

tt表示的是 tagert, yy 表示的是model's prediction. 通常,tt 表示的是 one-hot representation, yy 表示的是各类的 predicted probability.

Note

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

E(t,y)=tlogyE(t,y)=−tlog⁡y

如果 tt 是对应的 index, 而 yy 是对应的 predicted probability vector 的话,计算公式:

E(t,y)=logy[t]E(t,y)=−log⁡y[t]

它的求导公式也很简单:

E(t,y)zi=jE(t,y)yiyjzj=yiti∂E(t,y)∂zi=∑j∂E(t,y)∂yi∂yj∂zj=yi−ti

Note

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

E(t,y)z=yz∂E(t,y)∂z=y−z

如果 tt 是对应的 index, 而 yy 是对应的 predicted probability vector 的话,计算公式:

y[t]=1y[t]−=1

E(t,y)z:=y

0 0