目录
原因:消除数据特征之间的量纲影响,加速模型收敛,提高模型泛化能力。
适用模型:比如线性回归、逻辑回归、支持向量机、神经网络等模型,而决策树模型中则不需要归一化处理。
特征取值归一化到[0,1]区间。常用的归一化方法包括
a). 函数归一化:通过映射函数将特征取值映射到[0,1]区间,例如最大最小值归一化方法,是一种线性的映射。还有通过非线性函数的映射,例如log函数等。
b). 分维度归一化:可以使用最大最小归一化方法,但是最大最小值选取的是所属类别的最大最小值,即使用的是局部最大最小值,不是全局的最大最小值。
c). 排序归一化:不管原来的特征取值是什么样的,将特征按大小排序,根据特征所对应的序给予一个新的值。
y = x / max(x)
y = (x - min(x)) / (max(x) - min(x))
缺点:当有新数据加入时,会导致min(x) 与 max(x) 的变化,需要重新定义。
y = (x - mean(x)) / alpha
对数据进行归一化的本质:使得数据分布的均值为0,方差为1。
降低模型敏感度,提高模型鲁棒性。因为有些特征值微小变化可能是无意义的。
目的: 解决在训练过程中,中间层数据分布发生改变的情况。对每一层输出,计算平均值和标准差并进行归一化。
注意点: 训练阶段和测试阶段中BN层的数据是不一样的,训练阶段为每一个batch数据计算出结果,而测试阶段这些参数已固定。
Batch Normalization vs Layer Normalization:
batch Normalization 对不同特征做了对应的处理。
1). 填充默认值
2). 默认值单独学习
分位数过滤