[转载请注明出处]
数据标准化总的来说分为两种。
其一:
一种为对分布的标准化,即对一维随机变量的标准化。比如说我们有好几个随机变量,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.