規範化、標準化、歸一化、正則化
規範化:
- 針對資料庫
規範化把關係滿足的規範要求分為幾級,滿足要求最低的是第一正規化(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,則會造成過擬合問題;正則化越大,懲罰力度越大,則容易出現欠擬合問題。