歸一化(Rescaling,max-min normalization,有的翻譯為離差標准化)是指將數據縮放到[0,1]范圍內,公式如下:
X' = [X - min(X)] / [max(X) - min(X)]
標准化(Standardization, Z-score normalization,后者翻譯為標准分)是指在不改變數據分布情況下,將數據處理為均值為0,標准差為1的數據集合。公式如下:
X' = [X - mean(X)] / δ
標准化的公式很眼熟,則不就是正態分布N(μ,δ) ~ N(0, 1)的公式嗎?
X' = (X - μ) / δ
注意標准化的公式並不局限於正態分布,任何分布都可以通過標准化將數據分布變為均值為0,方差為1的數據序列。
注:
1. 中心化,是部分標准化:X' = X - mean(X),比如PCA就需要對數據首先進行中心化處理之后,得到的數據才能比較好的描述主成分。
2. normalization被翻譯為正規化。有的博客和文章寫作正則化(regularization)笑笑就好了。
區別和用途
歸一化和標准化雖然都是在保持數據分布不變的情況下(為什么能夠保持數據的分布不變?因為兩者本質上都只是對數據進行線性變化),對數據進行處理,但是從公式上面還是能夠明顯看出來,歸一化的處理只是和最大值最小值相關,標准化卻是和數據的分布相關(均值,方差),所以標准化的統計意義更強,是是對於數據縮放處理的首選。只是有些特殊場景下,比如需要數據縮放到[0,1]之間(標准化並不保證數據范圍),以及在一些稀疏數據場景,想要保留0值,會采用到歸一化,其他的大部分時候,標准化是首選。
為什么需要標准化?
讓數據因為量綱不一致導致的數據差別較大情況有所收斂。為什么量綱不一致會導致問題?如果一個特征的A的值分布式在[0, 1],另外一個特征B的分布是在[100, 10000],那么在進行梯度下降調試參數的時候,明顯對於B特征的參數的修改造成的改動要強於A特征,但是在顯示意義可能並不是如此。
另外,在梯度下降的時候,對於數據進行求解梯度,如果數據是在同一個量綱之下,形成的將會是類似於規則的,等距的數據簇(比如低維空間圓形,球形等),這個時候,梯度下降是最快的(變化率最快的方向),因為梯度的方向不會有大的偏差;
但是如果特征間的數據量級差別比較大,就會形成不成比例的數據簇(在低維空間里面類似於橢圓,橄欖球形狀的數據分布),這樣的數據分布的求梯度的過程,首先線條是曲折的,加長了從邊緣到中心的距離,其次從邊緣到中心的距離直線距離本身也是漫長的;按照統一步長的話(step)是相等的,后者是需要更多次的梯度迭代才能夠實現(局部)最優化。
所以,數據標准化之后將會加快求解的過程。
可以看到在通過梯度下降的時候需要對數據進行標准化處理,但是並不是所有的處理都需要進行標准化,有些學習、優化過程是和距離無關的,比如決策樹(隨機森林)就不需要對數據進行標准化處理。
附錄:
PCA需要進行中心化
1. 因為PCA在高維向低維映射的時候,會追求方差最大化;如果沒有進行標准化,則會是的算法會傾向於追求大量綱的方差,而忽略小量綱的方差,但是這個在業務邏輯上未必合理;所以一般在進行PCA降維之前會進行標准化,去掉特征的量綱。
2. PCA計算過程也是會有梯度下降,通過標准化,可以縮小大量綱數據的量級,加速梯度下降的收斂。
3. 中心化之后,處理的主成分的方向將會是一個可以描述;如果沒有進行中心化,則不一定。至於什么是可描述性,指的是經過了中心化之后,向量的方向就是原點到點坐標的方向。比如計算出來的主成分是[1, 2],那么如果是經過中心化的數據,我們可以說主成分的方向是[0, 0]到點[1, 2]。
圖片為什么要中心化?
減少計算量
經驗風險,結構風險
經驗風險,可以理解為損失函數的均值:
EXP_RISK = (1/n) * Σ( f(xi) - yi )²
所謂的"經驗"就是指已經被標注的訓練數據,風險就是指模型的預測值和真實值的差別,這里的經驗風險就是模型的訓練數據的預測值和真實值的差別的平方項的均值。我們機器學習調優目標就是經驗風險最小。
期望風險,是指所有的樣本(無論是已知的還是未知的)差別平方項的均值,毫無以為,這是不可能求出來的,因為你無法獲得所有的樣本。期望在統計學的意義不再是部分數據集,而是全部的樣本集的數字特征。
因為模型是經過部分樣本集訓練出來的,所以調優追求經驗風險最小化的結果就是大概率會有過擬合的情況,這個時候,就需要為風險結構引入正則項,使之成為結構風險,顧名思義風險是由多余一個部分組成,這里包括經驗風險+正則化兩部分;其中正則化部分也稱之為“置信風險”,即我在多大程度上可以信賴模型的結果,是一個區間。
注意結構風險其實是經驗風險和期望風險一個折中經驗風險因為數據不充分,可能會導致過擬合其實是需要期望風險來減少過擬合,但是現實無法獲取期望風險,於是通過結構風險來限制經驗風險,使之能夠接近經驗風險。
參考:
https://blog.csdn.net/weixin_36604953/article/details/102652160
https://www.zhihu.com/question/20467170
https://www.cnblogs.com/wangqiang9/p/9285594.html
http://sofasofa.io/forum_main_post.php?postid=1000375 PCA為什么要標准化
PCA為什么要去均值
https://blog.csdn.net/fisherming/article/details/80236631
https://www.zhihu.com/question/37069477
https://blog.csdn.net/liyajuan521/article/details/44565269 經驗風險,期望風險以及結構風險的介紹