数据处理之归一化、标准化、正则化

十月啦!离解放也就剩下一个月啦!
要熬住,要坚持,要努力!


今天就简单记录一点 数据常用在分析预测中常用的处理方法。

1.归一化

What?
什么是归一化:
归一化方法有两种形式,一种是把数变为(0,1)之间的小数,一种是把有量纲表达式变为无量纲表达式。主要是为了数据处理方便提出来的,把数据映射到0~1范围之内处理,更加便捷快速,应该归到数字信号处理范畴之内。

How?
常用的方法有Min-Max归一化即最值归一化


式子中x为数据集中每一种特征的值;
该方法的特点:多适用于分布有明显边界的情况;如考试成绩、人的身高、颜色的分布等,都有范围;而不是些没有范围约定,或者范围非常大的数据;
(相关函数:preprocessing.MinMaxScaler())
WHY?
使用归一化的好处:
1.提升模型的收敛速度(即加快梯度下降求最优解的速度)
如下图所示,归一化后迭代就会很快

2.提升模型的精度
在涉及到一些距离计算的算法时效果显著,比如算法要计算欧氏距离,归一化可以让可以让各个特征对结果做出的贡献相同,未归一化就会造成精度的损失。

2.标准化

What?
什么是标准化?
标准化就是将数据缩放到以0为中心,标准差为1
(注意:标准化之后,数据的范围并不一定是0-1之间,数据不一定是标准正态分布,因为标准化之后数据的分布并不会改变,如果数据本身是正态分布,那进行标准化之后就是标准正态分布。)
How?
常用的方法有Z-score标准化方法。
Z-score标准化方法也称为均值/方差归一化(mean normaliztion), 即对原始数据的均值(mean)和标准差(standard deviation)做标准化处理。处理后的数据符合标准正态分布,即均值为0,标准差为1。转化函数为:


其中 μ 为所有样本数据的均值,σ为所有样本数据的标准差
WHY?
除了和归一化一样的优点外,标准化可以保证即使原数据集中有极端值,处理后的数据集,依然满足均值为0方差为1,不会形成一个有偏的数据
图片直观:

机器学习的目标无非就是不断优化损失函数,使其值最小。在上图中,J (w, b) 就是我们要优化的目标函数。
标准化后可以更加容易地得出最优参数 w 和 b 以及计算出 J (w, b) 的最小值,从而达到加速收敛的效果。
参考(https://zhuanlan.zhihu.com/p/138563350
https://www.cnblogs.com/pejsidney/p/8031250.html)

3.正则化

What?
什么是正则化?
简单来说,正则化是用来引入模型复杂度的惩罚项,防止模型过拟合的方法.
我们在训练模型时,要最小化损失函数,这样很有可能出现过拟合的问题(参数过多,模型过于复杂),所以我么在损失函数后面加上正则化约束项,转而求约束函数和正则化项之和的最小值。


图解:

而正则项是对现在损失函数的惩罚项,它鼓励权重参数小一点的值,换句话说,正则项是惩罚的大权重参数.(其实就是寻求平衡)因此,如果增大正则系数 的值,也就增加了正则项的威力,导致权重参数变小(趋向于0),从而减小模型对训练数据的依赖.

How?
常用的方法有L1、L2正则化方法


正则化以后:新损失函数=原始损失函数+正则项
所以权重参数必须在图中的阴影球中
(图片搬运于:https://zhuanlan.zhihu.com/p/46377151
https://www.cnblogs.com/simpleDi/p/9918306.html)
其他:


ENDing~
十月 好运 健康 顺利!冲

你可能感兴趣的:(数据处理之归一化、标准化、正则化)