斯坦福2014機器學習筆記五 正則化

2022-08-24 05:36:08 字數 2253 閱讀 8705

一、綱要

欠擬合和過擬合

代價函式正則化

正則化線性回歸

正則化邏輯回歸

二、內容詳述

1、欠擬合和過擬合

欠擬合,也叫高偏差,就是沒有很好的擬合資料集的情況。如下圖中的左圖所示

過擬合,也叫高方差,就是雖然高階多項式可以完美的擬合所有的資料,但會導致函式過於龐大,變數太多而我們又沒有足夠的資料來約束這個模型,這就是過度擬合。過度擬合的原因,簡單來說就是過多的特徵變數和過少的資料集。如下圖右。

過擬合帶來的效果就是,雖然可以完美的擬合現有的資料集,但是在**新資料方面卻表現的不盡如人意。所以最適合的還是中間的方式。

當然上面是線性回歸的過擬合問題,邏輯回歸中也存在這樣的問題,就以多項式理解,階數越高,擬合程度越好,但是**方面就表現的很差。那麼如何解決這些問題呢?這裡就要引入「正則化」的概念!

2、代價函式正則化

以第乙個問題中的線性回歸過擬合為例,我們應該怎樣用正則化解決

這個問題呢?我們知道如果讓高次項係數為0的話,我們就可以比較好的進行擬合。所以我們假設代價函式是

,然後在求解代價函式j最小化的

過程中我們就會使θ3、θ4盡可能的小,這樣的話高次項就趨於0,就能很好的解決這個問題。這就給了我們正則化演算法的啟示。

我們在代價函式j後面加入乙個正則項,代價函式就變為

,其中λ為正則化引數。需要注意的是,這裡的正則項θ的θj是從j=1開始到j=n為止,而不包括θ0,雖然加與不加θ0的結果相差不大,但是按照慣例一般θ0單獨考慮。所以我們在使用梯度演算法的時候θ0的引數更新要與其他θj分開考慮。

這裡需要強調的一點是,正則化引數的選擇非常重要,如果λ過大,那麼就會使得θj(j=1,2,3...n)都基本趨於0,也就是只剩下hθ(x)=θ0,就如下圖的情況,這樣就變成了欠擬合的問題(too big lamda),而當λ選擇合適的話,過擬合的曲線(unregulated)就會變成良好的regulated

3、正則化線性回歸

正則化線性回歸的代價函式j為

,在使用梯度下降法之前需要對j進行偏導,

,然後帶入梯度下降法得到:

,之前說過這裡θ0的引數更新要與其他θj分開考慮的原因。對θj進行調整得到

,這個式子是不是很熟悉?跟之前的梯度下降法引數更新公式很像,區別只是θj變成了θj(1-α*(λ/m)),這裡1-α*(λ/m)就是乙個小於1的常數,可能是0.99或0.98.這裡可以看出正則化線性回歸的梯度下降演算法的變化在於,每次都在原有的更新規則的基礎上令θ額外減去乙個值。

之前我們說的線性回歸還有一種正規方程解法,我們同樣可以對線性回歸正規方程進行正則化,方法為

x = [(x(0))t    (x(1))t    (x(2))t    ...    (x(n))t]t,y=[y(1)    y(2)    y(3)    ...    y(m)]t,x是m*(n+1)維矩陣,y為m*1維矩陣

圖中矩陣的尺寸為(n+1)*(n+1)

4、正則化邏輯回歸

代價函式為

,用梯度下降法進行引數更新得到的方程為:

這裡雖然形式跟線性回歸的梯度下降法一樣,但是由於hθ(x)的不同,所以兩者還是有很大差別

斯坦福機器學習筆記五

有時候發現訓練出來的模型誤差很大,會有很多解決辦法。例如 增加更多的訓練樣本,減少特徵數目,增加特徵數目,增加多項式特徵,減小或增大正則化引數 的值 但是這些嘗試往往會浪費很多時間,所有這裡提出了一種機器學習診斷法。1 資料的分配 將資料分為三部分,訓練集 60 交叉驗證集 20 和測試集 20 利...

斯坦福 ios學習 筆記(一)

一 ios系統架構 1.core os 核心作業系統層,unix核心,主要有電源管理,檔案系統,安全保護等。2.core service 核心服務層,主要有網路請求,多執行緒等操作,資料庫等。4.cocoa touch 觸控層 主要有ui,地圖,警示框,webview,camera。二 關於mvc ...

斯坦福 ios學習 筆記(二)

1.alloc用於記憶體分配,init用於初始化記憶體。2.當我們只是區域性使用數字型別的時候,不要用nsnumber,因為它只是將其傳遞給方法。3.nsninteger和unsigned int是一回事。nsninteger是64位無符號整型。4.作用是讓所以字串為字串物件。5.containso...