机器学习(补充知识)之归一化与标准化的概念和区别

个人学习笔记(欢迎交流指正):

                                归一化与标准化的概念和区别

1. 归一化与标准化的概念和区别

1. 归一化:

1) 把数据变成(0,1)或者(-1,1)之间的小数。主要是为了数据处理方便提出来的,把数据映射到0~1范围之内处理,更加便捷快速。

2) 把有量纲表达式变成无量纲表达式,便于不同单位或量级的指标能够进行比较和加权。

3) 归一化方法: 

min-max标准化:

                                                                       \large x^{*} = \frac{x - x_{min}}{x_{max} - x_{min}}     ,    结果映射到[0,1]区间

平均归一化:

                                                                       \large x^{*} = \frac{x - \mu}{x_{max} - x_{min}}     ,     \large x^{*} 的均值为0, 结果映射到[0,1]区间

非线性归一化:

        对数函数转换:y = log10(x)

  反余切函数转换:y = atan(x) * 2 / π,  使用这个方法需要注意的是如果想映射的区间为[0,1],则数据都应该大于等于0,小于0的数据将被映射到[-1,0]区间上,而并非所有数据标准化的结果都映射到[0,1]区间上。
  非线性归一化经常用在数据分化比较大的场景,有些数值很大,有些很小。通过一些数学函数,将原始值进行映射。该方法包括 log、指数,正切等。需要根据数据分布的情况,决定非线性函数的选取。

2. 标准化:

1) 在机器学习中,我们可能要处理不同类别的数据,例如, 语音, 图像数据, 这些数据特征可能是高维度的,数据标准化后会使每个特征中的数据均值变为0、标准差变为1,这个方法被广泛的使用在许多机器学习算法中(例如:支持向量机、逻辑回归和神经网络)。

2) 标准化方法: 

Z-score 标准化:

                                                                            \large x^{*} = \frac{x - \mu }{\sigma }   ,                 \large x^{*} 的均值为0, 标准差为1

其中\large \mu为所有样本数据的均值,\large \sigma为所有样本数据的标准差。

3. 中心化:

                                                                          \large x^{*} = x - \mu     ,                 \large x^{*} 的均值为0,对标准差无要求

4. 归一化和标准化的区别:

归一化是将样本的特征值转换到同一量纲下把数据映射到[0,1]或者[-1, 1]区间内,仅由变量的极值决定,区间放缩法是归一化的一种。

标准化是依照特征矩阵的列处理数据,其通过求z-score的方法,转换为标准正态分布,和整体样本分布相关,每个样本点都能对标准化产生影响。

它们的相同点在于都能取消由于量纲不同引起的误差;都是一种线性变换,都是对向量x按照比例压缩再进行平移。

5. 标准化和中心化的区别:

标准化是原始数据减去样本均值然后除以标准差,中心化是原始数据减去样本均值。 所以一般流程为先中心化再标准化。

你可能感兴趣的:(机器学习)