定义

什么是归一化?

归一化是一种缩放技术,其中对值进行移位和重新缩放,以使它们最终在0到1之间变化。这也称为“最小-最大”缩放。

这是归一化的公式:

归一化 pytorch 归一化公式_归一化


在这个公式中,Xmax和Xmin分别是特征的最大值和最小值。

当X的值为列中的最小值时,分子将为0,因此X’为0
另一方面,当X的值为列中的最大值时,分子等于分母,因此X’的值为1
如果X的值介于最小值和最大值之间,则X’的值介于0和1之间

什么是标准化?

标准化是另一种定标技术,其中值以平均值为中心具有单位标准偏差。 这意味着属性的平均值变为零,并且结果分布具有单位标准偏差。

这是标准化的公式:

归一化 pytorch 归一化公式_数据_02


特征缩放:Mu是特征值的平均值,特征缩放:Sigma是特征值的标准偏差。 注意,在这种情况下,值不限于特定范围。

分别在什么情况下使用

当您知道数据的分布不遵循高斯分布时,可以使用归一化。这在不假设任何数据分布的算法(例如K最近邻居和神经网络)中很有用。

另一方面,在数据遵循高斯分布的情况下,标准化可能会有所帮助。但是,这不一定是正确的。而且,与归一化不同,标准化没有边界范围。因此,即使您的数据中有异常值,它们也不会受到标准化的影响。

但是,归根结底,选择使用归一化还是标准化将取决于您的问题和所使用的机器学习算法。没有硬性规定可以告诉您何时对数据进行归一化或标准化。您始终可以通过将模型拟合到原始,归一化和标准化的数据开始,并比较性能以获得最佳结果。

总的比较两者优缺点

归一化

优点:

  1. 它使您的训练更快。
  2. 它可以防止您陷入局部最优状态。
  3. 它为您提供了更好的误差表面形状。
  4. 权重衰减和贝叶斯优化可以更方便地完成。

缺点:

  1. 最大值与最小值非常容易受异常点影响。
  2. 鲁棒性较差,只适合传统精确小数据场景。

标准化
优点:

  1. 不改变原始数据的分布。保持各个特征维度对目标函数的影响权重 。
  2. 对目标函数的影响体现在几何分布上 。
  3. 在已有样本足够多的情况下比较稳定,适合现代嘈杂大数据场景。

为什么需要归一化与标准化

这只是以相同的比例获取所有数据的一种情况:如果不同功能的比例截然不同,则会对您的学习能力产生连锁反应(取决于您使用的是哪种方法) 。 确保标准化特征值在其表示中对所有特征进行隐式加权。

标准化:
当我们比较具有不同单位的测量值时,以1为标准偏差将中心和0周围的特征标准化是很重要的。在不同尺度下测量的变量对分析的贡献不尽相同,最终可能会导致成本下降。
例如,范围在0到1000之间的变量将超过范围在0到1之间的变量。使用这些没有标准化的变量将在分析中赋予较大的范围权重1000。将数据转换为可比较的规模可以避免此问题。典型的数据标准化程序使范围和/或数据可变性相等。

归一化:
同样,规范化的目标是将数据集中数字列的值更改为通用标度,而不会扭曲值范围内的差异。对于机器学习,每个数据集都不需要标准化。仅当要素具有不同范围时才需要。
例如,考虑一个包含两个特征的数据集,年龄和收入(x2)。年龄介于0-100之间,而收入介于0-100,000之间或更高。收入大约是年龄的1000倍。因此,这两个功能的范围非常不同。例如,当我们进行进一步分析时,例如多元线性回归,归因收入会因其较大的价值而对内在影响更大。但这并不一定意味着它作为预测变量更为重要。因此,我们对数据进行归一化以使所有变量都处于同一范围内。

细分归一化方法

  1. 线性转换,也叫做Min-Max Scaling:
    用这种方法,数据缩放到固定范围-通常为0到1。
    与标准化相比,具有这个有界范围的代价是我们最终将得到较小的标准偏差,这可以抑制离群值的影响。
    这也是最经典的归一化算法。
    最小-最大缩放通常通过以下公式完成:
  2. 归一化 pytorch 归一化公式_机器学习_03

  3. log 缩放
  4. 归一化 pytorch 归一化公式_数据_04

  5. 当少数几个值有很多点而大多数其他值很少有点时,对数缩放很有用。 这种数据分布称为幂律分布。 电影分级就是一个很好的例子。 在下面的图表中,大多数电影的收视率很少(尾部的数据),而有些电影的收视率很高(头的数据)。 日志缩放改变了分布,有助于提高线性模型的性能。

细分标准化方法

Z-score:

它包括对每个特征进行变换,减去平均值并除以标准偏差:

归一化 pytorch 归一化公式_归一化 pytorch_05

简而言之,z-score可让您了解数据点距平均值有多远。 但是,从技术上讲,它衡量的是低于或高于总体的多少个标准差表示原始分数。

可以将z-score放置在正态分布曲线上。 Z-score的范围是-3个标准偏差(将落在正态分布曲线的最左侧)到+3个标准偏差(将落在正态分布曲线的最右侧)。 为了使用z-score,您需要知道平均值μ以及总体标准偏差σ。

Z-score是一种将结果与“normal”群进行比较的方法。 测试或调查的结果具有成千上万种可能的结果和单位。 这些结果通常看起来毫无意义。 例如,知道某人的体重为150磅可能是很好的信息,但是如果您要将其与“平均”人的体重进行比较,那么查看庞大的数据表可能会很麻烦(尤其是如果某些重量以千克为单位记录的话) 。 Zscore可以告诉您该人的体重与平均人口的平均体重的比较。

Z得分公式:平均值的标准误差

当您有多个样本并想要描述这些样本均值的标准差(标准误差)时,可以使用以下z得分公式:
z = (x – μ) / (σ / √n)

该z-score将告诉您样本均值和总体均值之间有多少标准误差。

例子1:
通常,女性的平均身高为65英寸,标准差为3.5英寸。 假设身高呈正态分布,找到50位平均身高为70英寸的女性的随机样本的概率是多少?

z = (x – μ) / (σ / √n)
= (70 – 65) / (3.5/√50) = 5 / 0.495 = 10.1

这里的关键是我们正在处理均值的抽样分布,因此我们知道我们必须在公式中包括标准误差。 我们也知道99%的值与正态概率分布中的平均值相差3个标准差。 因此,任何女性样本的平均身高为70英寸的可能性不到1%。

例子2:
您以SAT成绩为1100分。SAT的平均成绩为1026,标准差为209。与普通应试者相比,您在考试中的得分如何?

(1100 – 1026) / 209 = .354. 他的意思是您的得分比平均值高0.354。

在z表中查找您的z值,以查看得分低于您的应试者百分比。 .354的z得分是.1368 + .5000 * = 0.66368或63.68%。

*为什么要在结果中加上.500? 所示的z表具有平均值右得分。 因此,我们必须为平均值的所有LEFT区域加上.500。 有关何时添加(或减去).500的更多示例,请参见以下示例:正态分布曲线下的面积。