一、對於回歸問題,基本目標是建模條件概率分布p(t|x)
利用最大似然的方式:negative logarithm of the likelihood
這個函數可以作為優化目標,其中的第二項與參數無關,在優化的時候不用計算在內。實際中所用到的各種不同的目標函數不過是對於的形式做了具體的假設。
1.sum of squares error
這里假設輸出矢量t的維度為K,則:
回歸實際上就是希望得到K個輸出關於輸入的一個函數表達式,k=1,2…..K,而假設真值與預測值之間的誤差是一個隨機變量
,k=1,2…K
如果我們把這K個隨機變量進一步假設為服從0均值,具有統一方差的高斯分布,
則:
注意:而不是
是因為我們認為
的分布獨立於x!,同時,也一般把K個隨機變量
認為服從同一分布,也就是
也獨立於k。
注意理解公式(4),誤差服從高斯分布,則說明給定輸入x,實際可能出現的tk值總在預測值上下浮動,也就是條件概率滿足下面公式
更形象的示例且看下圖,圖中的點就是我們的訓練數據,而中間那條線就是我們的預測函數!對於某一個x,預測函數總能得到一個值,但是實際在訓練數據中總有很多與同一個x對應的點,他們都在預測函數上下浮動,浮動的距離服從高斯分布!
對於訓練過程來說
由這個形式還有一種類似的root-mean-square(RMS) error:
這種方式求出來的錯誤並不隨數據規模而增長。
2、平方誤差函數對於神經網絡結果的解釋
如果我們把平方誤差函數作為神經網絡的目標函數去優化參數,則得到結果將是:
省略號之后的項與參數無關,由此可以得知,如果我們使用梯度下降法之類的優化方法,或者直接利用偏導為0,最終必然接近如下結果:
換句話說,我們把目標函數形式化簡之后,發現,最終優化得到的參數必然使得生成函數中y為x處t值的平均!
3、Modeling conditional distribution
平方誤差函數中做的關於高斯分布的假設太強,於是尋求一種更普適的方式建模,這里也就是利用高斯混合模型來建模誤差分布!
二、對於分類問題,方式是建模后驗概率
1、Sum of squares for classification
套用前面回歸問題的方式,如果采用最小平方和的方式,神經網絡的網絡輸出:
假設總共有C類,則總共有C個輸出單元,每次輸入一個x,與x所屬的類對應的輸出單元為1,其它輸出單元為0
對於公式(8) 的理解,首先要明確,依據訓練樣本中x的類標簽來取值,只能為0或1,
是指單位沖擊函數,在0處取1,在其他地方都是取0。
可分情況如下:
當時,只要x不屬於第k類就行
當時,只在x屬於第k類是成立
將式(9)代入公式(8),得到:
此時網絡輸出的含義就變成了對后驗概率的建模!
反思一下:平方誤差函數的導出基於兩點:最大似然概率,誤差服從高斯分布!,這對於分類問題卻並不是最合適的!因為分類問題的目標輸出都是0,1,完全不會是高斯分布!前面的回歸問題,在我們假設成立的前提下,得到的模型能保證是訓練數據集似然概率最大。但是這樣來看分類問題,由於假設基本不可能,所以導出的模型沒法從理論上保證使得訓練數據集的似然概率最大。
2、互信息量的解釋方法
現在重新思考之前的方式,我們先是最大似然為目標,然后假設了誤差為高斯分布,導出平方誤差函數,最后使得只要基於平方誤差函數去優化,得到的模型就會導出最大似然概率最大。
先確立一個目標:使得輸出代表后驗概率!
使輸出代表后驗概率的方法來自於線性判別過程,最初的線性判別函數是這樣的:
對於兩類問題,現在我們考慮后驗概率:
假設:
則:
式(14)的右邊就是我們熟悉的sigmoid函數。
現在的想法就是,能不能使得輸出y具有的語義??也就是如何使得y = sigmoid(a),最自然的想法是,如果a能像式(11)那樣由輸入線性表示,問題也就解決了。慶幸的是,對於類條件概率分布為高斯函數的時候,這一結論是很好證明的,而且可以推廣至更普遍的指數族分布函數。也就是說sigmoid函數可以在二分類問題中,將普通的線性判決函數的輸出轉換成具有后驗概率語義的輸出,結果不會變(sigmoid函數是單調遞增函數)。
在多類問題中與之對應的是softmax函數。
一旦輸出具有了后驗概率的語義,則最大似然的表示變得極其簡單,也就得出了所謂的
Negative-log-likelihood的損失函數形式!
反思:也就是說分類問題,要使得輸出具有后驗概率語義,進而套用Negative-log-likelihood損失函數,必須使用特定的activation function(兩類是sigmoid,多類是softmax)。