第一張圖稱為「欠擬合」(高偏差),就是學的不夠好,和實際相差比較遠。
第二場圖是剛好擬合,且曲線平滑,認為是比較理想的模型。
第三張圖稱為「過擬合」(高方差),就是學的太好,以致於曲線過於扭曲。
過擬合的出現是由於變數太多(特徵太多),樣本數太少,在計算loss時,loss近似等於0,此時模型能夠很好的擬合訓練樣本,但無法對新的樣本由很好的泛化能力。
減少變數。缺點是,可能會缺少一部分資訊。
正則化。
要實現正則化:
1)對高階項懲罰
對於兩個變數的情況θ0+
θ1x+
θ2x2
_+_x+_x^2
θ0+θ1
x+θ
2x2
,目標是:min
12m∑
i=1m
(hθ(
xi−y
i))2
min\frac\sum_^m(_(^-^))^2
min2m1
∑i=
1m(
hθ(
xi−y
i))2
。此時能夠很好擬合。
那麼當有4個變數時,θ0+
θ1x+
θ2x2
+θ3x
3+θ4
x4_+_x+_x^2+_x^3+_x^4
θ0+θ1
x+θ
2x2
+θ3
x3+θ
4x4
,多了x3、x4。那麼令θ
3\theta_3
θ3和θ
4\theta_4
θ4變得極小,這樣就能有效減小x3,x4(這兩個是高階項,因此次數高,太大的話對值的影響就很大)帶來的影響 (這就是加入了懲罰) 。
2)修改代價函式
若有100個變數,不好確定哪些是高階項,此時就修改代價函式,加入正則化項。
λ是正則化引數,用來控制在兩個目標的取捨。第乙個是更好的擬合資料,第二個是保持引數盡量小。也就是說,當擬合效果太好時,正則化來稍微控制一下,不要過度好;當引數太大時,正則化來控制一下,使得引數稍微小一點。達到一種擬合效果好,引數也小的均衡狀態是最好的。
注意正則化引數不能過大,如果太大的話,θ
\theta
θ會近似為0,這樣就擬合效果很差,變成「欠擬合」。
1)對於線性回歸
我們知道使用線性回歸時,求解θ
\theta
θ最小,可以用梯度下降法和正規方程法。
對於梯度下降:正則化的方法就是在每次更新引數時都要加入正則化項
對於正規方程法:只需要在求解引數的時候加上正則化項
2)對於logistic回歸
同樣的,對於梯度下降:(注意雖然式子相同,但是假設函式與線性回歸是不一樣的)
機器學習正則化
設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正則...