經驗誤差做到最好,甚至到0,並不是一件好事,會造成嚴重的過擬合現象。因此,引入結構風險最小化的概念,來代替經驗風險最小化。
1. 經驗風險最小和過擬合
過擬合是不可以避免的,但是我們可以緩解。措施如下:
結構風險由經驗風險和正則化項(懲罰函式)組成:
r st
r(f)
=1n∑
i=1n
l(yi
,f(x
i))+
λj(f
)(1.1)
r_(f)=\frac\sum\limits_^n\tag
rstr(
f)=n
1i=
1∑n
l(yi
,f(
xi)
)+λj
(f)(
1.1)
這麼做的原因在於:結合這兩點,我們把結構風險表述為上面的式子,對結構風險最小化即可。
2. 結構風險最小和正則化
常見的正則化——回歸的正則化:
線性回歸
多項式回歸
嶺回歸lasso回歸
2.1 l
2l_2
l2正則化和嶺回歸
很明顯,這樣的正則項會讓每個θ2.2 li\theta_i
θi都盡量小。l2約束通常對稀疏的有尖峰的權重向量施加大的懲罰,而偏好於均勻的引數。網路偏向於學習比較小的權重。所以l2正則化在深度學習中還有個名字叫做「權重衰減」。
1l_1
l1正則化和lasso回歸
平方誤差損失函式+ l
2l_2
l2正則化=lasso回歸,可以實現特徵稀疏,去掉沒用資訊。
由於lasso是絕對值函式,因此不能二次求導(牛頓法和共軛梯度法需要二次求導),這樣在優化方法的選擇上有了限制,需要用座標下降(coordinate descent)或者近似梯度(proximal gradient)的方法進行求解.
從貝葉斯的角度來看,θ
\theta
θ的先驗分布:
e −λ
∣θ∣2
⇔θ∼n
(0,1
2λ)e
−λ∣θ
∣1⇔θ
∼laplace(0
,1λ)
\begin &e^} \leftrightarrow \theta \sim n(0, \sqrt})\\ &e^} \leftrightarrow \theta \sim \text \left(0, \frac\right) \end
e−λ∣θ
∣2⇔
θ∼n(
0,2λ
1)
e−λ∣
θ∣1
⇔θ∼laplace(0
,λ1
)在近代統計中,穩健性占有重要的地位,例如在古典回歸分析中,用偏差平方和的大小作標準,來選擇回歸係數使它達到極小,這種回歸不具有穩健性,然而,如改為用偏差的絕對值和作為標準,卻具有穩健性.於是研究隨機變數絕對值的分布是很有意義的
2.2 l
1l_1
l1常見的正則化
主流的分類演算法包括廣義線性模型的邏輯回歸、支援向量機和線性判別分析、決策樹的cart、整合學習的adaboost和隨機森林、貝葉斯學習,還有神經網路。其中主流的帶正則化的分類包括支援向量機、boosting演算法的xgboost,以及深度神經網路。
正則化可以讓演算法盡快收斂穩定、用來作為特徵選擇手段、更好的防止過擬合等。但是某些正則化也會帶來計算複雜性。例如以l優秀的部落格:1l_1
l1和l
2l_2
l2正則化來說,l
2l_2
l2具有多次可導的特性,可以使用共軛梯度法以及一些牛頓演算法及改進演算法。但是l
1l_1
l1不可導,計算就麻煩很多,一般用近似的替代演算法逼近不可導的部分,通常用座標下降、近似梯度的方法求解。通過對比訓練曲線,在相同的引數設定情況下,訓練相同步數,1l能較快獲得較低的錯誤率。
機器學習優化問題 經驗風險 期望風險 結構風險
要區分這三個概念,需要先講一下損失函式l y,f x 的概念。損失函式 針對單個具體樣本,表示模型 值與真實樣本值之間的差距。損失函式越小,說明模型對於該樣本 越準確。常見損失函式有0 1損失函式 平方損失函式 絕對損失函式 對數損失函式 對數似然損失函式 經驗風險 對所有訓練樣本都求一次損失函式,...
機器學習 經驗風險 期望風險 結構風險
要區分這三個概念,需要先講一下損失函式l y,f x 的概念。損失函式 針對單個具體樣本,表示模型 值與真實樣本值之間的差距。損失函式越小,說明模型對於該樣本 越準確。常見損失函式有0 1損失函式 平方損失函式 絕對損失函式 對數損失函式 對數似然損失函式 經驗風險 對所有訓練樣本都求一次損失函式,...
Python與機器學習之模型結構 生成學習演算法
在前面我們談論到的演算法都是在給定x的情況下直接對p y x 進行建模。例如,邏輯回歸利用h x g tx 對p y x 建模。如果換個思路,首先根據大象 y 1 的特徵來學習出乙個大象的模型,然後根據狗 y 0 的特徵學習出狗的模型,最後對於乙個新的樣本,提取它的特徵先放到大象的模型中求得是大象的...