吴恩达《机器学习》学习笔记六——过拟合与正则化
吳恩達《機器學習》學習筆記六——過擬合與正則化
- 一、 過擬合問題
- 1.線性回歸過擬合問題
- 2.邏輯回歸過擬合問題
- 3.過擬合的解決
- 二、 正則化后的代價函數
- 1.正則化思想
- 2.實際使用的正則化
- 三、 正則化的線性回歸
- 1.梯度下降的情況
- 2.正規方程的情況
- 四、 正則化的邏輯回歸
- 1.梯度下降的情況
- 2.高級優化算法的情況
課程鏈接:https://www.bilibili.com/video/BV164411b7dx?from=search&seid=5329376196520099118
上一個筆記介紹了第二個機器學習算法——邏輯回歸,主要用于解決分類問題,應用非常廣泛。這一次我們學習一下過擬合和正則化的概念,并將正則化技術運用到已學的線性回歸和邏輯回歸模型上,來減小過擬合的問題。
一、 過擬合問題
在學習正則化的概念之前先看一下過擬合的問題。線性回歸和邏輯回歸在實際應用時,都可能因為假設函數選擇的原因或是數據集的原因導致過擬合。
1.線性回歸過擬合問題
對于房價預測問題,我們之前是使用左邊這個圖的假設函數去擬合數據,可以看出,不論怎么優化參數,直線也無法很好的擬合所有數據,這時就被稱為是欠擬合的情況,存在高偏差,這是因為假設函數過于簡單,無法擬合較為復雜的數據。
再看中間的圖,在原來的假設函數上加上了一個平方項,優化后的結果則很好的擬合了數據集,此時是最佳狀態。
最后看右邊的圖,假設函數包含了一些較高次冪的項,使得假設函數過于復雜,雖然能擬合已有的所有數據,但是很顯然這個曲線有波動,房子的面積越大甚至價格出現了越低的情況,這顯然是不對的,而且若此時添加進來一些新的數據,很可能就不能很好的擬合,這樣的問題被稱為過擬合,存在高方差,假設函數過于復雜,過度學習了已有數據的特征,它的定義如下所示:
這里可能涉及到訓練誤差和泛化誤差的概念,訓練誤差是指訓練數據集在假設函數上產生的誤差,泛化誤差是指模型訓練好之后,給定新的數據在假設函數上產生的誤差,用以估計模型應用到到新樣本的能力。那么欠擬合的情況,訓練和泛化誤差都高,而過擬合的情況,訓練誤差很低,泛化誤差則很高。
2.邏輯回歸過擬合問題
參考線性回歸的例子,下面邏輯回歸的三種情況分別為欠擬合、擬合良好和過擬合的情況。
3.過擬合的解決
產生過擬合的原因較多,其中很常見的一個是數據樣本的數量比特征的數量還要少。所以有如下兩種常見的解決過擬合的辦法:
一個是在數據集有限的情況下,減少特征的數量來減少過擬合問題,可以人工手動選擇減少哪些特征,也可以使用一些算法來衡量減少哪些特征。這種方法的缺點就是需要丟棄一些特征,這就有可能丟棄了一些信息。
二是如果不希望丟棄信息或者是不知道如何選擇特征,想保留所有特征時,可以使用正則化方法,正則化方法利用正則化項來減小相關參數的大小,減輕它對預測的貢獻,相應的就減輕了過擬合問題。
二、 正則化后的代價函數
1.正則化思想
首先來看一個線性回歸的例子:
左邊是良好擬合,右邊是過擬合。要解決過擬合的問題,我們希望θ_3,θ_4兩個參數非常小,當它們很小的時候,對預測結果的貢獻就非常小,甚至可以忽略,從而解決過擬合問題。所以我們在原來的代價函數上進行了修改,變成如下所示:
因為這是一個最小化的式子,加上有關θ_3,θ_4的兩項,因為其系數較大,所以這兩個參數在最小化表達式的過程中必須變得較小,才能使得總體很小,所以這樣可以達到使得θ_3,θ_4很小接近于0的目的,從而減輕過擬合。那么這兩項就可以被稱為正則化項。
還是使用原來過擬合的假設函數,當代價函數加上正則化項之后優化,結果就會從下面的藍色曲線變成紫紅色曲線,從而與良好擬合的情況接近,算是達到了解決過擬合的問題:
正則化思想可以簡單歸結如下:使參數值非常小,從而幾乎消除它的貢獻,使得假設函數更簡單,這樣就更不可能過擬合。
2.實際使用的正則化
但是在大多數問題中,你不能像剛剛那樣看出哪些參數應該被懲罰,哪些應該保留,尤其是參數量非常多的時候,如下所示:
所以索性將所有的參數都減小,這樣使得所有的參數都不會很大,也就使得假設函數不會過于復雜,達到解決過擬合的效果。
而在實際應用中,也基本都是使用將所有參數都加到代價函數中去的方法,如下所示,使用前后的變化,就是藍色曲線變成了紫紅色曲線:
其中的λ被稱為正則化系數,它是平衡假設函數的關鍵。如果它被設置的太大的話,如下所示:
會使得所有的參數都接近于0,那么假設函數接近于是一個常數函數,過于簡單,變成了欠擬合的情況。所以為了正則化的效果,需要合理地選擇正則化參數的大小,過大會使得模型過于簡單,過小又達不到解決過擬合的要求。
三、 正則化的線性回歸
根據上面對正則化的介紹,線性回歸加上正則化之后的代價函數如下所示:
1.梯度下降的情況
相應的,它對應的梯度下降表達式如下圖所示:
因為正則化的懲罰項中不包含θ_0,所以它的更新與原來不加正則化時一樣。
2.正規方程的情況
正規方程的方法是將代價函數的導數設置為0,從而求出的表達式,也就將變成如下所示:
四、 正則化的邏輯回歸
邏輯回歸加上正則化之后的代價函數如下圖所示:
1.梯度下降的情況
對代價函數求導后更新參數,發現形式與線性回歸幾乎一模一樣,但是需要注意的是,假設函數h(x)的表達式是完全不同的,所以和線性回歸的梯度下降表達式內容也是完全不同的。
2.高級優化算法的情況
略
總結
以上是生活随笔為你收集整理的吴恩达《机器学习》学习笔记六——过拟合与正则化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 利用flask写的接口(base64,
- 下一篇: 装饰器详解