ML讀書筆記(優化算法)

A. 損失函數

分類:1. 0-1損失(非凸,非光滑,很難對其求導);2.Hinge損失(SVM用的,分對了但如果離分界面太近也有損失;在fy=1處不可導);3.Logistic損失(LR用的,這裏的f就是\theta x; 可用梯度下降求導)

迴歸:1. 平方誤差損失函數(MSE損失);2. 平均絕對值損失函數(MAE損失);對比:MSE對異常值敏感,容易被一兩個異常噪音導致模型爲了迎合噪音而犧牲更多正常點的預測精度;MAE對異常值魯棒些,但處處梯度都相等,不利於梯度下降求解模型,且在0處不可導;3.Huber損失函數(綜合了MSE和MAE,在0附近用MSE,遠處用MAE)

 

B. 凸函數的概念;損失函數的二階Hessian矩陣如果是半正定矩陣,則該損失函數是凸函數;凸優化問題的局部最小值肯定是全局最小值;

 

C. 無約束優化問題的優化方法:

1. L(\theta +\bigtriangleup \theta), 進行一階泰勒展開,然後再加上\bigtriangleup \theta的L2正則項,然後取最優的\bigtriangleup \theta使得該式子最小;該方法的結果,等價於梯度下降的結果;

2. L(\theta +\bigtriangleup \theta), 進行二階泰勒展開,涉及到L在\theta處的二階Hessian矩陣及其逆矩陣;叫牛頓法;(收斂速度遠比一階法要快)

二階矩陣求逆的計算複雜度太高(尤其是\theta維度很高時):1970年提出了BFGS算法,1989年提出了低存儲的L-BFGS算法;

 

D. 用導數的定義,驗證求導結果是否正確;當w是多維向量時,\bigtriangleup w應該只在一個維度上爲1,其餘維度都爲0;(當然要乘以一個小量)

 

E. batch梯度下降,隨機梯度下降,mini-batch梯度下降;

 

F. 隨機梯度下降震盪波動大;

 

G. 衝量的作用:1.鞍點停滯:動量可以讓其衝出平坦區域;2.山谷震盪:動量可以讓其抵消途中旁力的干擾,軌跡更穩健

Adam: 分子是梯度一階矩形成的動量;分母是梯度二階矩形成的自適應學習率(對常明顯的梯度維度進行懲罰,對罕見的梯度維度進行增強);分子分母都用了moving window average強調最近窗口;

 

H. 稀疏性:把沒用的特徵置爲0,可以提升模型的泛化性,降低過擬合;

L1正則化爲什麼比L2正則化更能得到稀疏性:

1. 等高線解釋;KKT條件解釋;

2. 函數疊加解釋;

3. 貝葉斯先驗解釋:L1正則化相當於引入了拉普拉斯先驗;L2正則化相當於引入了高斯先驗;前者在0處是尖峯,所以更易讓w取值爲0;後者在0處平坦,所以只會讓w絕對值變小但不至於變爲0;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章