[轉載請注明出處]
數據標准化總的來說分為兩種。
其一:
一種為對分布的標准化,即對一維隨機變量的標准化。比如說我們有好幾個隨機變量,X~N(u1, d1), Y~N(u2, d2), Z~N(u3, d3)。均值和方差的不同通常是由於個人對樣本賦值,樣本量崗,樣本來源等因素導致的。
當我們需要把這幾個變量放在同一個樣本里時,比如需要把X,Y,Z均作為標簽變量用於模型訓練時,就需要進行標准化。該情況下的標准化通常有,極大極小標准化,Z-Score標准化等,具體參見百度百科[數據標准化]
其二:
第二種是對樣本空間的特征維度進行標准化。比如一個N×d維的樣本空間(N個樣本,d維特征),我們需要針對該樣本空間,對各個特征進行Normalize. 具體參見scikit-learn preprocessing 模塊。
其實第二種是第一種的推廣,但側重點又有所不同。
對比softmax函數:
x=Softmax(x) softmax函數是將向量各個分量壓縮至[0,1]區間,其分量和等於1。 乍一看很像標准化,其實兩者完全不同。數據標准化是對分布的一次再調整,是針對樣本量的“縱向”的再調整。
而softmax函數是對向量各個分量的一次“橫向"的再調整,此處的分量具有明確意義。通常情況下的意義為各分量代表類別的概率分布。還有一種情況是針對樣本情況下:假設x是一個樣本有d維,那么我們可以這樣理解:w=softmax(x),即softmax(x)可以得到各個特征的權重值。
關於這一點,Attention機制是其最好的說明。具體請參閱論文:Attention is all you need.