1、归一化是什么
狭义的归一化(最大最小归一化)是指对多维数据(特征) x = [ x 1 , . . . , x i , . . . x d ] x=[x_1,...,x_i,...x_d] x=[x1,...,xi,...xd]的每一维进行 x i ′ = x i − m i n ( x i ) m a x ( x i ) − m i n ( x i ) x'_i=\frac{x_i-min(x_i)}{max(x_i)-min(x_i)} xi′=max(xi)−min(xi)xi−min(xi)操作。其中 m a x ( x i ) , m i n ( x i ) max(x_i),min(x_i) max(xi),min(xi)是特征维相关的,也就是不同的特征维度有不同的最大值最小值。
2、标准化是什么
狭义的标准化(zscore标准化)是指对多维数据(特征) x = [ x 1 , . . . , x i , . . . x d ] x=[x_1,...,x_i,...x_d] x=[x1,...,xi,...xd]的每一维进行 x i ′ = x i − m e a n ( x i ) s t d ( x i ) x'_i=\frac{x_i-mean(x_i)}{std(x_i)} xi′=std(xi)xi−mean(xi)操作。其中 m e a n ( x i ) , s t d ( x i ) mean(x_i),std(x_i) mean(xi),std(xi)是特征维相关的,也就是不同的特征维度有不同的均值标准差。
3、区别与联系
由此可以看出,二者基本相同,实际上是对样本 x x x进行了一种特殊的线性变换 x ′ = ( x − a ) B x' = (x-a)B x′=(x−a)B。有细微差别,差别在于变换系数的选取不同。有时二者统称为归一化技术。经过这种归一化,原始数据等于进行了平移和放缩操作,样本距离 y ′ − x ′ = ( y − x ) B = y − x B \sqrt{y'-x'}=\sqrt{(y-x)B}=\sqrt{y-x}\sqrt B y′−x′=(y−x)B=y−xB发生了变化,样本分布也发生了变化(分布类型没变化,分布参数发生了变化)。
3、有什么用
在机器学习中经常遇到数据样本X的各个维度的数量级相差很大,非常不利于大多数机器学习有效进行优化操作(决策树可以不做归一化,因为在决策树中各个维度间没有加权求和操作)。由于大数量级的特征维度的往往淹没了小数量级的贡献,要想平衡他们的贡献进而得到合理的决策输出,机器学习算法需要得到数量级非常不同的参数。优化难度大,效率低。因此常常预处理中将数据归一化。
如果对数值范围有明确要求,则采用最大最小归一化。如果对数值范围没有要求,则可以采用zscore归一化技术。