1、欠擬合與過擬合
2、正則化
特徵過多,同時只有非常少的訓練資料,容易導致過擬合現象(代價函式非常接近0或者就等於0),這樣的模型無法泛化到新的資料樣本中。要解決過擬合的問題有以下2種方法:
(1)減少選取的特徵數量
捨棄掉一部分較為不重要的特徵,該方法的缺點是同時也失去了一部分有用資訊
(2)正則化
正則化中我們將保留所有的特徵變數,但是會減小特徵變數的數量級(引數數值的大小θ(j))。
在損失函式j(θ
)j(\theta)
j(θ)
中加入乙個懲罰項,從而實現引數值θ
\theta
θ較小,這些引數的值越小,通常對應於越光滑的函式,也就是更加簡單的函式。因此 就不易發生過擬合的問題。
l2引數正則化(嶺回歸)
其中在損失函式中加入的懲罰項為:
p =λ
∑j=1
nθj2
p=\lambda\displaystyle\sum_^n\theta_j^2
p=λj=1
∑nθ
j2λ
\lambda
λ:被稱為正則化引數,取值範圍[0,∞
\infty
∞]l2引數正則化理解:
第乙個目標是使模型更好地擬合訓練資料
第二個目標是我們想要保持引數值較小。(通過正則化項)
而λ
\lambda
λ 這個正則化引數需要控制的是這兩者之間的平衡,即平衡擬合訓練的目標和保持引數值較小的目標,從而來保持模型的形式相對簡單,來避免過度的擬合。
正則化引數λ
\lambda
λ 的選擇是控制最終模型複雜度的關鍵:
為了使正則化運作良好,我們應該去選擇乙個不錯的正則化引數 λ
\lambda
λl1引數正則化(lasso正則化)
正則化項為:
p =λ
∑j=1
n∣θj
∣p=\lambda\displaystyle\sum_^n|\theta_j|
p=λj=1
∑n∣
θj∣
λ
\lambda
λ:被稱為正則化引數,取值範圍[0,∞
\infty
∞]l2正則化與l1正則化的區別:
稀疏性:就是模型的很多引數是0。在**或分類時,那麼多特徵顯然難以選擇,但是如果代入這些特徵得到的模型是乙個稀疏模型,很多引數是0,表示只有少數特徵對這個模型有貢獻,絕大部分特徵是沒有貢獻的,即使去掉對模型也沒有什麼影響,此時我們就可以只關注係數是非零值的特徵。這相當於對模型進行了一次特徵選擇,只留下一些比較重要的特徵,提高模型的泛化能力,降低過擬合的可能。
如何選擇正則化引數λ
\lambda
λ從0開始,逐漸增大λ。在訓練集上學習到引數,然後在測試集上驗證誤差。反覆進行這個過程,直到測試集上的誤差最小。一般的說,隨著λ從0開始增大,測試集的誤分類率應該是先減小後增大,交叉驗證的目的,就是為了找到誤分類率最小的那個位置。建議一開始將正則項係數λ設定為0,先確定乙個比較好的learning rate。然後固定該learning rate,給λ乙個值(比如1.0),然後根據validation accuracy,將λ增大或者減小10倍,增減10倍是粗調節,當你確定了λ的合適的數量級後,比如λ=0.01,再進一步地細調節,比如調節為0.02,0.03,0.009之類。
機器學習正則化
設p 1的實 數,p norm 定義為 x i 1 n xi p 1 p 1.1 這裡寫描述 如果方陣a是非奇異的,那麼a的conditio nnumber定義為 a a a 1 condition number是乙個矩陣穩定性或者敏感度的度量。矩陣的condition number在1附近,那麼它...
機器學習 正則化
為了增加模型的泛化能力,避免模型出現過擬合的現象,我們經常會加入正則化處理 當模型偏差較低,但是方差很大,尤其在輸入的維數較高時,很容易出現過擬合現象,當加入正則項,模型損失了一部分偏差,卻大大降低了模型的方差 l1和l2正則是我們經常用到的方法。l1正則 這種方法的結果會讓引數向量中許多元素趨於0...
機器學習正則化
正則化項可以是模型引數向量的範數 首先,範數是指推廣到高維空間中的模,給定向量x x1,x2,x3,xn 常用的向量的範數如下 l0範數 向量非零元素的個數 l1範數 向量各個元素絕對值之和 l2範數 向量各個元素的平方和然後求平方根 lp範數 向量各個元素絕對值的p次方求和然後求1 p次方 l正則...