很多的时候我发现很多人和我一样我对机器学习的基本概念一知半解,比如我经常会听到归一化及标准化,傻傻分不清楚。最近看了一篇文章清楚的阐述了归一化和标准化的定义、适用场景、物理意义及使用意义。经过原作者授权以后,我想进行转发并加上我的一些理解,和更多的人一起学习进步。
在机器学习和数据挖掘中,经常会听到两个名词:归一化(Normalization)与标准化(Standardization)。它们具体是什么?带来什么益处?具体怎么用?本文来具体讨论这些问题。
一、是什么
1. 归一化
常用的方法是通过对原始数据进行线性变换把数据映射到[0,1]之间,变换函数为:
其中minmin是样本中最小值,maxmax是样本中最大值,注意在数据流场景下最大值与最小值是变化的。另外,最大值与最小值非常容易受异常点影响,所以这种方法鲁棒性较差,只适合传统精确小数据场景。
2. 标准化
常用的方法是z-score标准化,经过处理后的数据均值为0,标准差为1,处理方法是:
其中μμ是样本的均值,σσ是样本的标准差,它们可以通过现有样本进行估计。在已有样本足够多的情况下比较稳定,适合现代嘈杂大数据场景。
二、带来什么
归一化的依据非常简单ÿ