李宏毅《機器學習 深度學習》簡要筆記(一)


P1

一、線性回歸中的模型選擇

上圖所示:

  五個模型,一個比一個復雜,其中所包含的function就越多,這樣就有更大幾率找到一個合適的參數集來更好的擬合訓練集。所以,隨着模型的復雜度提高,train error呈下降趨勢。

 

上圖所示:

  右上角的表格中分別體現了在train和test中的損失值大小,可以看出,從第三個模型開始,就呈過擬合(Overfitting)狀態。

 

二、分種類的訓練模型

當模型會根據種類不同而有較大區別時,可以分種類來形成多個不同的model。在李宏毅老師舉例中,不同的精靈在進化前和進化后CP值得變化曲線是不同的。如下圖所示:

這樣分類別來訓練模型,可以更好的讓model擬合真實數據。

三、添加正則化

  使用正則化后,當w非常小(接近0)的時候,我們的輸入變化對結果的影響會趨於0。所以我們可以通過調整λ參數來調整正則化的強度。λ越大時,模型曲線更平滑。

  在這里,我們不需要對b進行正則化,因為b只會影響模型曲線上下移動(b是常數),所以無需對其進行調整。

如上圖所示:

  根據λ從小變大,test的損失越來越小,達到一個最小值后,又越來越大。而train的損失值逐漸變大。這是因為當λ變大時,模型越來越平滑,在降低過擬合的同時,也使得對訓練數據的擬合度降低。如圖中曲線所示,我們可以找到一個train和test損失值最相近的地方,這里就是λ的最佳取值。

  我們需要將曲線變得平滑一點,但又不能將其變得過於平滑,如果過於平滑就會從過擬合(train的loss低,test的loss高)變為欠擬合(train的loss高,test的loss也比較高)。

 

P2

一、學習率的調整

 

  在我們調整學習率的時候,我們盡量畫出右邊的曲線,觀察學習率是否過大或過小,然后選擇一個最合適的學習率η。

二、學習率的自動調整

 Adagrad:

  在Adagrad中,學習率在每次迭代的時候,都除以以前所有步數的梯度的平方和根。但是Adagrad有個問題,就是學習率衰減很快,有可能提前結束訓練,從而無法從后面的數據中學習到有用的信息。

  在這里面,可以看出一個比較矛盾的地方,即gt比較大的時候,分母也會比較大,與我們初衷不符(應該是在陡峭的地方,我們希望學習率越大),這背后的原理我們可以參考P2中19:30-31:00的講解。

 

SGD:

  SGD就是每看一個樣本就更新一次權重。假設一共有20個樣本,普通的梯度下降每次迭代都要看20個樣本,然后使用平均的梯度來更新權重,但是如果使用SGD的話,我們同樣看20個樣本,則已經更新20次。如圖中所示,后者在更新20次后,所前進到的位置優於前者。

  但SGD有一個缺點,就是每一個樣本都更新權重,則使得在計算上可能無法充分發揮矩陣運算的效率。而且在接近最優解的地方可能震盪范圍比較大。

 

特征伸縮(Gradient Descent):

  特征伸縮可以將取值范圍差別很大的特征伸縮到范圍處於同一量級,這樣的話相當於同一了各個維度的梯度(不會出現一個方向很平緩、一個方向很陡峭的極端情況)。這樣在更新權重的時候,每個方向的更新速度就相差不大,這樣可以加快收斂的速度。

   如上圖所示,對於R個樣本,每個樣本中不同Feature分別求平均值Mi,然后各個值減去相應的平均值,然后再除以方差。這樣就會使得該Feature的所有數據的平均值為0,方差為1。如下圖所示:

三、梯度下降的來源

參考P2 44:20-59:30對梯度下降的推導過程。

1.通過泰勒級數(Taylor Series)將Loss function展開。

 

2.在梯度下降中,我們只考慮k=0和k=1的情況,也就是說只使用一階微分。在多變量的情況下:

3.當紅框非常小的時候,以上式子才成立

4.我們將式子做一定變換,然后忽略常數S,我們如何來使L(θ)最小,我們就需要取(Δθ1,Δθ2)的方向與(u,v)相反,如下圖所示:

5.下圖中描述,當紅圈非常小時,L(θ)式子才成立,我們將u和v的計算式帶入L(θ)就可以得到梯度下降對權重更新公式。當然,在梯度下降中,我們只考慮了泰勒級數的一階微分項。在某種情況下,我們也可以將二階甚至三階加入考慮(例如牛頓法就考慮了二次式),但是由於二階以上的微分求解消耗比較大,所以在梯度下降中並未做考慮。一定要注意,要讓梯度下降算法生效,最重要的就是紅色圓圈要足夠小,也就是說學習率要足夠小。

 

四、我們無法知道梯度更新接近0的時候是不是局部最優

P3

  當我們執行梯度下降時,我們就像上圖中游戲一樣,我們無法知道我們走到的一個梯度接近0的位置到低是不是局部最優(甚至全局最優),因為周邊都是黑霧,除非我們作弊開天眼。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM