1. 程式人生 > >從極大似然估計的角度理解深度學習中loss函式

從極大似然估計的角度理解深度學習中loss函式

從極大似然估計的角度理解深度學習中loss函式

為了理解這一概念,首先回顧下最大似然估計的概念:
最大似然估計常用於利用已知的樣本結果,反推最有可能導致這一結果產生的引數值,往往模型結果已經確定,用於反推模型中的引數.即在引數空間中選擇最有可能導致樣本結果發生的引數.因為結果已知,則某一引數使得結果產生的概率最大,則該引數為最優引數.
似然函式:\[ l(\theta) = p(x_1,x_2,...,x_N|\theta) = \prod_{i=1}^{N}{p(x_i|\theta)}\]
為了便於分析和計算,常使用對數似然函式:\[ H(\theta) = ln[l(\theta)]\]

1. logistics regression中常用的loss function:

在logistic regression中常定義的loss function為:\[ l(w) = -(ylog\hat y+(1-y)log(1-\hat y))\]
為什麼選擇這個函式作為loss function? 一個原因是相比於誤差平方和函式的非凸性,交叉熵函式是凸的,因此可以通過梯度下降法求得全域性最優點,詳細原理請參考凸優化相關理論.
此處重點介紹另一個原因,即從最大似然估計得的角度來理解loss function的選擇,Andrew Ng 也是從這個角度進行解釋的.對於logsitic regression問題,我們實際上做出瞭如下假設,即訓練樣本(x,y)服從以下分佈:

\[ P(x,y|\theta) = \begin{cases}\sigma(z),&y=1 \\ 1-\sigma(z),&y=0\end{cases}\]
其中,\(z = w^Tx+b\),意思是,在引數\(\theta\)下,訓練樣本(x,y)出現的概率為\(P(x,y|\theta)\).

上面的概率分佈函式也可以寫為整體的形式:
\[p(x,y|\theta) = \sigma(z)^y(1-\sigma(z))^{1-y}\]

對於極大似然估計而言,我們的目的就是在引數空間中,尋找使得\(p(x,y|\theta)\)取得最大的w和b,因為因為訓練樣本(x,y)已經經過取樣得到了,所以使得他們出現概率最大(越接近1)的引數就是最優的引數.

  • 對於單個樣本\((x_i,y_i)\),其對應的對數似然函式為\(ln[p(x_i,y_i|\theta)]= y_iln(\sigma(z_i))+(1-y_i)ln(1-\sigma(z_i))\)(即在引數\(\theta(w,b)\)下,\((x_i,y_i)\)出現的概率),其中,\(\sigma(z_i)=w^Tx_i+b\).
    因為cost function 一般向小的方向優化,所以在似然函式前加上負號,就變為loss function
  • 對於整個樣本集來說,對應的似然函式為\[ln(\prod_{i=1}^{N} p(x_i,y_i|\theta)) = \sum_{i=1}^N{y_iln(\sigma(z_i))+(1-y_i)ln(1-\sigma(z_i))}\]

2. softmax regression中常用的loss function:

softmax regression中常使用如下loss函式:
\[ l(w) = -\sum_{i=1}^{C}y_ilog\hat y_i\]
此處,C指的是樣本y的維度(分類的數目),\(y_i\)指的是樣本標籤第i個分量,\(\hat y_i\)同義.
接下來,同樣從最大似然估計的角度進行理解.對於softmax regression,我們實際上也做出了假設,即訓練樣本(x,y)服從以下分佈:\[P(x,y|\theta) = \hat y_l = \sum_{i=1}^{C}y_i\hat y_i\],其中l是樣本標籤y中唯一為1的序號

  • 對於單個訓練樣本,其對數似然函式為\(ln[p(x_i,y_i|\theta)] = ln(\sum_{i=1}^{C}y_i\hat y_i)\),可以進一步寫為\(ln[p(x_i,y_i|\theta)] = \sum_{i=1}^{C}y_iln(\hat y_i)\),因為y中只有唯一的一個維度等於1,其餘全為0,通過簡單的推理就可以得到化簡後的結果.取負號後,得到單樣本的loss函式.
  • 對於整個訓練樣本集而言,其對數似然函式為\[ln(\prod_{i=1}^{N} p(x_i,y_i|\theta)) =\sum_{j=1}^{m}\sum_{i=1}^{C}y_i^{(j)}ln(\hat y_i^{(j)})\]
    其中,\(y_i^{(j)}\)指的是訓練樣本集中第j個訓練樣本標籤的第i個維度的值,\(\hat y_i^{(j)}\)同理.取負號求平均後,得到整個訓練樣本集的coss函式.