轉自:https://blog.csdn.net/u014381464/article/details/81101551
規范化:
- 針對數據庫
規范化把關系滿足的規范要求分為幾級,滿足要求最低的是第一范式(1NF),再來是第二范式、第三范式、BC范式和4NF、5NF等等,范數的等級越高,滿足的約束集條件越嚴格。
- 針對數據
數據的規范化包括歸一化標准化正則化,是一個統稱(也有人把標准化作為統稱)。
數據規范化是數據挖掘中的數據變換的一種方式,數據變換將數據變換或統一成適合於數據挖掘的形式,將被挖掘對象的屬性數據按比例縮放,使其落入一個小的特定區間內,如[-1, 1]或[0, 1]
對屬性值進行規范化常用於涉及神經網絡和距離度量的分類算法和聚類算法當中。比如使用神經網絡后向傳播算法進行分類挖掘時,對訓練元組中度量每個屬性的輸入值進行規范化有利於加快學習階段的速度。對於基於距離度量相異度的方法,數據歸一化能夠讓所有的屬性具有相同的權值。
數據規范化的常用方法有三種:最小最大值規范化,z-score標准化和按小數定標規范化
標准化(standardization):
數據標准化是將數據按比例縮放,使其落入到一個小的區間內,標准化后的數據可正可負,但是一般絕對值不會太大,一般是z-score標准化方法:減去期望后除以標准差。
特點:
對不同特征維度的伸縮變換的目的是使其不同度量之間的特征具有可比性,同時不改變原始數據的分布。
好處:
不改變原始數據的分布,保持各個特征維度對目標函數的影響權重
對目標函數的影響體現在幾何分布上
在已有樣本足夠多的情況下比較穩定,適合現代嘈雜大數據場景
歸一化(normalization):
把數值放縮到0到1的小區間中(歸到數字信號處理范疇之內),一般方法是最小最大規范的方法:min-max normalization
上面min-max normalization是線性歸一化,還有非線性歸一化,通過一些數學函數,將原始值進行映射。該方法包括log、指數、反正切等。需要根據數據分布的情況,決定非線性函數的曲線。
log函數:x = lg(x)/lg(max);反正切函數:x = atan(x)*2/pi
應用:
1.無量綱化
例如房子數量和收入,從業務層知道這兩者的重要性一樣,所以把它們全部歸一化,這是從業務層面上作的處理。
2.避免數值問題
不同的數據在不同列數據的數量級相差過大的話,計算起來大數的變化會掩蓋掉小數的變化。
3.一些模型求解的需要
例如梯度下降法,如果不歸一化,當學習率較大時,求解過程會呈之字形下降。學習率較小,則會產生直角形路線,不管怎么樣,都不會是好路線(路線解釋看西面歸一化和標准化的對比)。解釋神經網絡梯度下降的文章。
4.時間序列
進行log分析時,會將原本絕對化的時間序列歸一化到某個基准時刻,形成相對時間序列,方便排查。
5.收斂速度
加快求解過程中參數的收斂速度。
特點:
對不同特征維度進行伸縮變換
改變原始數據的分布,使得各個特征維度對目標函數的影響權重歸於一致(使得扁平分布的數據伸縮變換成類圓形)
對目標函數的影響體現在數值上
把有量綱表達式變為無量綱表達式
歸一化可以消除量綱對最終結果的影響,使不同變量具有可比性。比如兩個人體重差10KG,身高差0.02M,在衡量兩個人的差別時體重的差距會把身高的差距完全掩蓋,歸一化之后就不會有這樣的問題。
好處:
提高迭代求解的收斂速度
提高迭代求解的精度
缺點:
最大值與最小值非常容易受異常點影響
魯棒性較差,只適合傳統精確小數據場景
標准化vs歸一化
1、在分類、聚類算法中,需要使用距離來度量相似性的時候、或者使用PCA技術進行降維的時候,標准化(Z-score standardization)表現更好。
2、在不涉及距離度量、協方差計算、數據不符合正太分布的時候,可以使用歸一化方法。比如圖像處理中,將RGB圖像轉換為灰度圖像后將其值限定在[0 255]的范圍。
正則化(regularization):
在求解最優化問題中,調節擬合程度的參數一般稱為正則項,越大表明欠擬合,越小表明過擬合
為了解決過擬合問題,通常有兩種方法,第一是減小樣本的特征(即維度),第二是正則化(又稱為懲罰penalty)
正則化的一般形式是在整個平均損失函數的最后增加一個正則項(L2范數正則化,也有其他形式的正則化,作用不同)
正則項越大表明懲罰力度越大,等於0表示不做懲罰。
正則項越小,懲罰力度越小,極端為正則項為0,則會造成過擬合問題;正則化越大,懲罰力度越大,則容易出現欠擬合問題。