机器学习教程十三:标准化和归一化
标准化和归一化
标准化和归一化化是数据处理中常用的两种方式,用于将原始数据转换为具有特定范围和分布的数据。
标准化将数据按照比例缩放,使其落入特定的范围,常见的标准化方法是将数据映射到[0,1]或者[-1,1]的范围内。标准化后的数据保留了原始数据的分布形状,但改变了尺度,标准化有助于消除不同特征之间的尺度差异,使得他们可以在相同的范围内进行比较。
归一化是将数据按照一定的规则进行缩放,使其符合特定的分布或分布假设。常见的归一化方法包括Z-score归一化和Min-Max归一化。Z-score归一化通过计算样本和均值之间的差异,并除以标准差,使得数据的均值为0,标准差为1。Min-Max归一化通过线性映射将数据缩放到特定的范围,例如[0,1]或者[-1,1]。归一化后的数据具有特定的分布特征,可以满足某些算法和模型的假设要求。
标准化是一种形式的归一化。标准化方法将数据转换为特定范围,而归一化方法可能改变数据的分布形状。英文名称都是Normalization,我觉得可以不做区分。
标准化的作用
1.提升模型的收敛速度
对于一个有d维度的特定样本,如果各个特征之间的数据差异比较大,对模型进行优化时,数据分布类似椭圆形,在进行梯度更新时,梯度不稳定,迭代慢;相比之下,做完标准化之后迭代会快很多。
图片来源于:标准化的好处及常见处理方法 – 知乎 (zhihu.com)
同时如上图所示,没做标准化之前梯度不稳定,可能出现梯度爆炸的现象。
2.提升模型的精度
归一化的另一个作用就是提高模型的精度,这一点在使用KNN算法时尤为明显,对于不同的两个特征x~1~和x~2~,如果x~1~的值远大于x~2~,那么直接结果就是x~2~特征不再起作用。所以对各个特征进行标准化,这样就可以消除特征在值上的差异。
常用的标准化
最大最小标准化
对原始数据做线性变换,将数据值映射到[0,1]之间。