Negative log-likelihood function

Softmax function

Softmax 函數 \(y=[y_1,\cdots,y_m]\) 定義以下:
\[y_i=\frac{exp(z_i)}{\sum\limits_{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 Stabilityspa

Negative log-likehood

當咱們使用softmax 函數做爲 output function的時候,即:
\[y=softmax(z)\]
\(z\) 在這裏只表示某些須要優化的參數。it

咱們須要選擇 negiative log-likelihood 做爲代價函數( cost function), 也被稱做 Cross-Entropy cost function. 即:
\[ E(t,y)= -\sum\limits_i {t_i \log y_i} \]io

\(t\)表示的是 tagert, \(y\) 表示的是model's prediction. 一般,\(t\) 表示的是 one-hot representation, \(y\) 表示的是各種的 predicted probability.function

Note

若是 \(t\) 採用的是 one-hot representation, 那麼咱們的計算公式是:
\[ E(t,y)= -t \log y\]class

若是 \(t\) 是對應的 index, 而 \(y\) 是對應的 predicted probability vector 的話,計算公式:
\[ E(t,y)= - \log y [t]\]model

它的求導公式也很簡單:
\[\frac{\partial E(t,y)}{\partial z_i}= \sum\limits_j {\frac{\partial E(t,y)}{\partial y_i}\frac{\partial y_j}{\partial z_j}}= y_i -t_i\]im

Note

若是 \(t\) 採用的是 one-hot representation, 那麼咱們的計算公式是:
\[ \frac{\partial E(t,y)}{\partial z}= y -z\]dict

若是 \(t\) 是對應的 index, 而 \(y\) 是對應的 predicted probability vector 的話,計算公式:
\[y[t]-=1\]
\[ \frac{\partial E(t,y)}{\partial z} := y\]

相關文章
相關標籤/搜索