1. 程式人生 > >機器學習筆記 第11課

機器學習筆記 第11課

        接著第10課末尾,闡述選擇特徵的另一種選擇方式:貝葉斯規範化

(1)貝葉斯規範化

也是為了解釋特徵選取過多造成的過擬合問題

以線性迴歸為例,從頻率學派的觀點出發,當我們利用最大似然法求解迴歸方程中的sita向量時,認為sita就是真實存在,我們所要做的是利用最大似然法這種方式去估計sita,從而得出結果。而從貝葉斯學派出發,我們需要求解的sita實則是滿足某種概率分佈的,而其概率是可以利用其後驗概率去估計。而在實際的積分過程中,因為sita通常高維,難以做到對高維的積分,因此轉換為使引數sita的後驗概率(MAP,max a posterior)最大化。這樣在形式上就相當於在最大似然性估計式的後面乘以先驗概率p(sita)。

這的確是一個規範化的過程,因為這相當於在最大似然法求引數的估計值時,給每一個的測試值添加了一個以sita概率分佈的權重。例如所提到的sita~N(0,n^2),那麼則大多數權值集中於0的附近,也就是說通過此方式平滑掉了許多引數,從而成為一種過擬合的解決方式。

        關於特徵選擇告一段落了,接下來簡單談了線上學習

(2)線上學習(online learning)

之前學習的演算法都為批學習演算法(batch learning),即訓練之後進行學習。線上學習,顧名思義,online learning可以理解為在訓練的過程中進行預測,隨機梯度下降演算法可以理解為其一個很好的例子。Andrew提到其有些有趣的結論存在於講論之中。

         接下來Andrew給了一些機器學習在具體應用之中的建議

(3)如何有效判斷模型存在著高方差或者高偏差的問題

(i)若存在高方差的問題,當增加訓練樣本數量時,測試誤差減少而訓練誤差增大。很好理解。

(ii)若存在高偏差的問題,當增加訓練樣本時,測試誤差減少,訓練誤差增大,且二者會達到一個瓶頸,並且較大程度的高於預想的誤差。這也很好理解,高偏差的存在意味著不管是測試還是訓練誤差都存在較大程度上的不擬合。

一個Andrew經驗即在增加訓練樣本的基礎上,觀察測試誤差和訓練誤差的差距來判斷是否存在著高偏差或者高方差。

(4)如何診斷問題是演算法是否收斂(例如logistic regression迭代是否收斂)還是選擇了不合適的演算法

關注於加權準確率與目標函式兩方面,利用SVM和BLG(Bayesian logistic regression),基於 關於加權準確率與SVM在加權準確率上表現得比BLG更好的基礎 這兩個方面基礎判斷。這裡SVM相當於對比演算法,而BLG是採用的本演算法。這裡注意BLG的目標函式是利用最大似然法使來選取引數,而SVM是最大化幾何間隔。

在關注於加權準確率的基礎上,若SVM(對比演算法)表現比BLG(本演算法)更好,

(i)若SVM的引數代入BLG目標函式的值大於BLG,說明BLG未收斂。因為BLG的目標函式就是為了最大化取得的引數值。

(ii)反之,若SVM的引數代入BLG目標函式的值小於等於BLG。此時BLG選擇的引數已經最大化,說明目標函式已經達到,但是加權準確率仍然較對比演算法低,則說明目標函式選取有問題。

(5)誤差分析,瞭解在演算法流水線的哪一個步驟帶來的誤差最大。思路很簡單,一個步驟一個步驟的檢查,觀察準確率的提高。但是在此之中要注意一個順序的問題,因為可以並列的的流水線的間演算法的順序,會影響。、

銷蝕分析,過程與誤差分析正好相反。從整個系統中,逐步移除一些成分,觀察哪個成分的移除對於系統的影響最大。同樣,也要注意順序問題。