斯坦福機器學習筆記五

2021-07-31 09:05:19 字數 2573 閱讀 2347

有時候發現訓練出來的模型誤差很大,會有很多解決辦法。例如:增加更多的訓練樣本,減少特徵數目,增加特徵數目,增加多項式特徵,減小或增大正則化引數 λ 的值 。但是這些嘗試往往會浪費很多時間,所有這裡提出了一種機器學習診斷法。

1、資料的分配

將資料分為三部分,訓練集(60%)、交叉驗證集(20%)和測試集(20%)。利用訓練集,選擇最優的多項式個數及其引數;利用交叉驗證集代入到擬合出來的函式中,計算代價函式的值,最後選擇代價函式最小的擬合函式。最後再用測試集來驗證。

2、診斷偏差與方差

如果乙個演算法的表現不理想,那麼多半是兩種情況:要麼是偏差比較大(欠擬合),要麼是方差比較大(過擬合)。

通過將訓練集和交叉驗證集的代價函式誤差與多項式的次數繪製在同一種圖示上來分析:

當多項式(d)較小時,訓練集擬合模型處於欠擬合狀態,誤差較大,交叉驗證集的誤差也較大;隨著d的增長,訓練集擬合模型擬合程度高,誤差減小,交叉驗證集的誤差呈現先減小後增大的趨勢,轉折點就是最優的多項式取值,過了轉折點,模型處於過擬合狀態。

最後得出結論:當訓練集誤差和交叉驗證集誤差近似時,模型處於高偏差、欠擬合狀態。當交叉驗證集誤差遠大於訓練集誤差是,模型處於高方差、過擬合狀態。

3、正則化引數λ的選擇

如果正則化引數過大,則會把所有的引數都最小化,導致假設函式變成一條直線,造成欠擬合。如果正則化引數過小,又無法避免過擬合現象。

選擇 λ的具體步驟如下:

首先,建立乙個λ 列表: (i.e. λ∈)

差不多以兩倍的關係取值。然後,使用這些λ 值和訓練集一起訓練出不同的模型,得到一些θ 值。

最後,將交叉檢測集代入這些模型,選擇代價函式最少的θ和 λ值。這裡需要注意的是,交叉驗證集的代價函式沒有正則化項。

j(

θ)=1

2m∑m

i=1(

hθ(x

(i))

−y(i

))2+

λ2m∑

nj=1

θ2j jt

rain

(θ)=

12m∑

mi=1

(hθ(

x(i)

trai

n)−y

(i)t

rain

)2jcv

(θ)=

12m∑

mi=1

(hθ(

x(i)

cv)−

y(i)

cv)2

4、學習曲線學習曲線是將訓練集誤差和交叉驗證集誤差作為訓練集樣本數(m)的函式繪製的圖表。

在高偏差情況下,隨著樣本數目的增加,訓練集的代價函式和交叉檢測集的誤差都會比較大,並且當樣本持續增加時,其值沒有太大變化,增加訓練樣本也沒有用。高偏差的學習曲線如圖所示。

在高方差情況下,訓練集的誤差與交叉檢測集的誤差相差較大,且訓練集的代價函式較小,隨著樣本的增加,兩者之間的差距會逐漸減小,增加更多的訓練集可能會提高演算法的效果。高方差的學習曲線如圖所示。

5、誤差分析

想要構造機器學習的程式,最好的實踐方法不是建立乙個非常複雜的系統,使用複雜的變數,而是構建乙個簡單的演算法,這樣你可以很快實現它。

當然,誤差分析並不總能幫助判斷採取怎樣的行動,有時需要嘗試不同的模型,然後進行比較,在模型比較時,用交叉驗證集的誤差來判斷哪個模型更好更有效。

6、類偏斜問題

類偏斜是指,在訓練樣本正負樣本的數量相差非常大,從而導致演算法會有一些錯誤,這種問題分類精度並不能很好的檢測演算法的好壞。

這裡引入了查準率和召回率。我們將演算法**的結果分為四種情況:

正確肯定:**為真,實際為真;

正確否定:**為假,實際為假;

錯誤肯定:**為真,實際為假;

錯誤否定:**為假,實際為真;

查準率 = 正確肯定/(正確肯定 + 錯誤肯定)

召回率 = 正確肯定/(正確肯定 + 錯誤否定)

希望的是查準率和召回率最高越好 ,但是查準率和召回率是不能同時達到最好的值,所以我們要能夠保證查準率和召回率的相對平衡。

查準率和召回率在不同閾值的情況下,會有不同的值。如下圖所示,閾值比較大,查準率比較高;閾值比較小,召回率比較高。

可以使用 f 公式,來權衡查準率和召回率:

f1

score=2

prp+r

要選擇使得 f1

值最高的閾值。

斯坦福機器學習筆記十

這裡以電影推薦的栗子來說明什麼是推薦系統。nu 代表使用者的數量 nm 代表電影的數量 r i,j 如果使用者給電影評過分,則r i,j 1 y ij 代表使用者i給電影j的評分 mj 代表使用者j評過分的電影總數 j 代表使用者j的引數向量 x i 代表電影i的特徵向量 如圖所示,推薦系統能夠幫我...

斯坦福機器學習筆記十二

由於大規模資料集求最優解,計算量非常大,對於這樣的問題,如果能夠將資料集分配給多台計算機,讓每台計算機處理資料集的乙個子集,然後將計算結果彙總再求和,這樣的方法叫做對映簡化。如果任何學習演算法能夠表達為,對訓練集的函式求和,那麼就能將這個任務分配給多台 計算機 或者同一臺計算機的不同cpu核心 以達...

斯坦福機器學習筆記 1

邏輯回歸與線性回歸 線性回歸主要應用於連續性的模型,邏輯回歸主要用於解決分類問題,的結果通常是非0即1。今天的課程主要 的是如何預防過擬合。主要有兩種方法 1 減少特徵數目 通過在cost function後加一些額外的term,來減少某些個別特徵的權重 2 regularization 正則化 減...