正則化(regularization)、歸一化(也有稱為正規化/標準化,normalization)是對資料盡心預處理的方式,他們的目的都是為了讓資料更便於我們的計算或獲得更加泛化的結果,但並不改變問題的本質,下面對他們的作用分別做一下科普,如有不正確之處,求指正!
需要注意的是,這些名詞在不同的領域含義也有點區別,這裡僅僅指的是在進行機器學習研究的時候所使用的意義。
李航博士在《統計學習方法》中提到,統計學習的三要素是模型、策略和演算法,在機器學習領域,這個「模型」就是我們要求解的概率分布或決策函式。
假設我們現在要求乙個邏輯回歸問題,首先我們要做的是假設乙個函式,可以覆蓋所有的可能:y=w
x,其中w為引數向量,x
為已知樣本的向量,如果用$y表示第
i個樣本的
真實值,
用f(x)$表示樣本的**值,那麼我們的損失函式可以定義為:l(
yi,f
(xi)
)=yi
−sig
moid
(xi)
這裡可以不用關心這個函式是什麼意思,就知道代表誤差就行了。對於該模型y=w
x的所有樣本的損失平均值成為「經驗風險」(empiricalrisk)或」經驗損失」(empirical loss)。很顯然,經驗風險最小化(empirical riskminimization,erm)就是求解最優模型的原則。為了達到這個目的,模型的設定會越來越複雜,最後造成該模型只適用於當前的樣本集(即over-fitting,過擬合)。
為了解決過擬合問題,通常有兩種辦法,第一是減少樣本的特徵(即維度),第二就是我們這裡要說的」正則化「(又稱為」懲罰「,penalty)。
正則化的一般形式是在整個平均損失函式後增加乙個正則項(l2範數正則化,也有其他形式的正則化,他們的作用也不同):re
rm=1
n(∑i
nl(y
i,f(
xi))
+∑in
λw2i
) 後面的$\sum^\lambdaw^2就是正
則化項,
其中\lambda$越大表明懲罰粒度越大,等於0表示不做懲罰,n表示所有樣本的數量,n表示引數的個數。
從下面的圖中,可以很明顯的看出正則化函式的作用:λ=
0的情況,即沒有正則化λ=
1的情況,即合適的懲罰λ=
100,過度懲罰,出現欠擬合問題
上面提到,我們還有其他形式的正則化,如l1正規化正則化,可以用來篩選引數,這個日後再通過額外的文章來介紹。
我們在對資料進行分析的時候,往往會遇到單個資料的各個維度量綱不同的情況,比如對房子進行****的線性回歸問題中,我們假設房子面積(平方公尺)、年代(年)和幾居室(個)三個因素影響房價,其中乙個房子的資訊如下:
假設我們把該問題作為乙個邏輯回歸問題y=w
x來求解,使用梯度下降來求解w
的最優值。
效率比較高的梯度下降方法中,每次下降應該盡可能的往最優點靠近,假設下降距離函式為:di
stan
ce=λ
|δ\*|
其中$\delta^*表示
梯度的模
,\lambda$表示步長,如果兩個向量的取值範圍差別特別大,那麼這兩個向量的影象會顯得很「細長」:
我們的梯度在尋找最優值的時候,由於影象「細長」,所以要來回找垂直線,兩個維度範圍相差的越大,梯度下降的越慢,還可能永遠無法收斂。
為了解決這個問題,假如我們把所有的資料範圍都是用歸一化處理在0到1的區間內(也可以是0到10等其他範圍,但一般是0到1),如使用以下歸一化公式:x\*
i=xi
−x¯x
max−
xmin
我們的影象就會變得更加「正圓」一些:
我們可以很清楚的看到 ,梯度會更加快速的找到最優點。
其實這篇文章寫之前,我還糾結了很久「標準化(standardization)」這個概念,最後請教了很多人,發現大家最常用的還是歸一化和正則化兩個概念。不同的場合大家的稱謂也不同,總結起來還是按照英文來說比較沒有歧義:normalization和regularization兩個概念。
**:
正則化和歸一化
正則化,歸一化 標準化和正規化 對資料進行預處理的兩種方式,目的是讓資料更便於計算和獲得更加泛化的結果,但並不改變問題的本質。正則化 要求乙個邏輯回歸問題,假設乙個函式,覆蓋所有可能 y wx,其中w為引數向量,x為已知樣本的向量,用yi表示第i個樣本的真實值,用f xi 表示樣本的 值,從而確定損...
正則化與歸一化
歸一化 normalization 歸一化可以指把一組資料縮放到 0,1 的範圍內,或者自定義的某個範圍內。也可以指對一組資料縮放,使其的和為1。其目的是通過把有量綱表示式變為無量綱表示式,有利於不同量綱資料之間的比較 展示等。主要的歸一化演算法有 1.線性轉換,即min max歸一化 常用方法 x...
正則化和歸一化
正則化,歸一化 標準化和正規化 對資料進行預處理的兩種方式,目的是讓資料更便於計算和獲得更加泛化的結果,但並不改變問題的本質。正則化 要求乙個邏輯回歸問題,假設乙個函式,覆蓋所有可能 y wx,其中w為引數向量,x為已知樣本的向量,用yi表示第i個樣本的真實值,用f xi 表示樣本的 值,從而確定損...