数据标准化,正则化

2021-12-27

标准化(standardization):

数据标准化是将数据按比例缩放,使其落入到一个小的区间内,标准化后的数据可正可负,但是一般绝对值不会太大,一般是z-score标准化方法:减去期望后除以标准差。

gif

其中 μ 是样本数据的均值(mean), σ 是样本数据的标准差(std)。 标准差表示数据集的波动大小

上图则是一个散点序列的标准化过程:原图->减去均值->除以标准差。

显而易见,变成了一个均值为 0 ,方差为 1 的分布,下图通过 Cost 函数让我们更好的理解标准化的作用。

机器学习的目标无非就是不断优化损失函数,使其值最小。在上图中,

.jpeg)

就是我们要优化的目标函数

我们不难看出,标准化后可以更加容易地得出最优参数 \omega和 b

img

以及计算出

.jpeg)

的最小值,从而达到加速收敛的效果。

特点:

对不同特征维度的伸缩变换的目的是使其不同度量之间的特征具有可比性,同时不改变原始数据的分布。

好处:

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

归一化(normalization):

把数值放缩到0到1的小区间中(归到数字信号处理范畴之内),一般方法是最小最大规范的方法:min-max normalization

上面min-max normalization是线性归一化,还有非线性归一化,通过一些数学函数,将原始值进行映射。该方法包括log、指数、反正切等。需要根据数据分布的情况,决定非线性函数的曲线。

log函数:x = lg(x)/lg(max);反正切函数:x = atan(x)*2/pi

应用:

1.无量纲化

例如房子数量和收入,从业务层知道这两者的重要性一样,所以把它们全部归一化,这是从业务层面上作的处理。

2.避免数值问题

不同的数据在不同列数据的数量级相差过大的话,计算起来大数的变化会掩盖掉小数的变化。

3.一些模型求解的需要

例如梯度下降法,如果不归一化,当学习率较大时,求解过程会呈之字形下降。学习率较小,则会产生直角形路线,不管怎么样,都不会是好路线(路线解释看西面归一化和标准化的对比)。解释神经网络梯度下降的文章

4.时间序列

进行log分析时,会将原本绝对化的时间序列归一化到某个基准时刻,形成相对时间序列,方便排查。

5.收敛速度

加快求解过程中参数的收敛速度。

特点:

  1. 对不同特征维度进行伸缩变换
  2. 改变原始数据的分布,使得各个特征维度对目标函数的影响权重归于一致(使得扁平分布的数据伸缩变换成类圆形)
  3. 对目标函数的影响体现在数值上
  4. 把有量纲表达式变为无量纲表达式

归一化可以消除量纲对最终结果的影响,使不同变量具有可比性。比如两个人体重差10KG,身高差0.02M,在衡量两个人的差别时体重的差距会把身高的差距完全掩盖,归一化之后就不会有这样的问题。

好处:

  1. 提高迭代求解的收敛速度
  2. 提高迭代求解的精度

缺点:

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

归一化一般是将数据映射到指定的范围,用于去除不同维度数据的量纲以及量纲单位。

常见的映射范围有 [0, 1] 和 [-1, 1] ,最常见的归一化方法就是 Min-Max 归一化:

Min-Max 归一化
$$
x_(new)=(x-x_(min))/x_(max)-x_(min)
$$

举个例子,我们判断一个人的身体状况是否健康,那么我们会采集人体的很多指标,比如说:身高、体重、红细胞数量、白细胞数量等。

一个人身高 180cm,体重 70kg,白细胞计数
$$
7.5 × 10^9 /L
$$
衡量两个人的状况时,白细胞计数就会起到主导作用从而遮盖住其他的特征,归一化后就不会有这样的问题。

标准化vs归一化

1、在分类、聚类算法中,需要使用距离来度量相似性的时候、或者使用PCA技术进行降维的时候,标准化(Z-score standardization)表现更好。

2、在不涉及距离度量、协方差计算、数据不符合正太分布的时候,可以使用归一化方法。比如图像处理中,将RGB图像转换为灰度图像后将其值限定在[0 255]的范围。

正则化(regularization):

在求解最优化问题中,调节拟合程度的参数一般称为正则项,越大表明欠拟合,越小表明过拟合

为了解决过拟合问题,通常有两种方法,第一是减小样本的特征(即维度),第二是正则化(又称为惩罚penalty)

正则化的一般形式是在整个平均损失函数的最后增加一个正则项(L2范数正则化,也有其他形式的正则化,作用不同)

正则项越大表明惩罚力度越大,等于0表示不做惩罚。

正则项越小,惩罚力度越小,极端为正则项为0,则会造成过拟合问题;正则化越大,惩罚力度越大,则容易出现欠拟合问题。

标准化和正则化结合了两篇文章学习:

1.https://www.cnblogs.com/ai-ldj/p/14257457.html

2.https://zhuanlan.zhihu.com/p/29957294

标准差:

https://www.zhihu.com/question/27276029

12月27日 正则化内容后面补充


本站总访问量