机器学习:数据预处理之标准化、归一化、正则化

数据标准化、归一化、正则化处理是数据挖掘的一项基础工作,不同评价指标往往具有不同的量纲和量纲单位,这样的情况会影响到数据分析的结果,为了消除指标之间的量纲影响,需要进行数据标准化处理,以解决数据指标之间的可比性。原始数据经过数据标准化处理后,各指标处于同一数量级,适合进行综合对比评价。

1. 归一化方法1:min-max标准化(Min-Max Normalization)

归一化即将属性缩放到一个指定的最大和最小值(通常是1-0)之间

min-max标准化也称为离差标准化,是对原始数据的线性变换,使结果值映射到[0 , 1]之间。转换函数如下:
机器学习:数据预处理之标准化、归一化、正则化_第1张图片
x’ = (x-min)/(max-min)
其中max、min分别为样本数据的最大值、最小值

使用这种方法的目的包括:
1、对于方差非常小的属性可以增强其稳定性;
2、维持稀疏矩阵中为0的条目。

2. 标准化方法:Z-score标准化方法

数据标准化即将数据按比例缩放,使之落入一个小的特定区间内,标准化后的数据可正可负,一般绝对值不会太大。
计算时对每个属性/每列分别进行
将数据按期属性(按列进行)减去其均值,并处以其方差。得到的结果是,对于每个属性/每列来说所有数据都聚集在0附近,方差为1

Z-score标准化方法也称为均值/方差归一化(mean normaliztion), 对原始数据的均值(mean)和标准差(standard deviation)做标准化处理。处理后的数据符合标准正态分布,即均值为0,标准差为1。转化函数为:

x’ = (x-μ)/σ

其中 μ 为所有样本数据的均值,σ为所有样本数据的标准差

3. 归一化方法2:Sigmoid函数

Sigmoid函数是一个具有S形曲线的函数,是良好的阈值函数,在(0, 0.5)处中心对称,在(0, 0.5)附近有比较大的斜率,而当数据趋向于正无穷和负无穷的时候,映射出来的值就会无限趋向于1和0,是个人非常喜欢的“归一化方法”,之所以打引号是因为我觉得Sigmoid函数在阈值分割上也有很不错的表现,根据公式的改变,就可以改变分割阈值,这里作为归一化方法,我们只考虑(0, 0.5)作为分割阈值的点的情况

转换函数为:
x’ = 1/(1+e(-x))
在这里插入图片描述
机器学习:数据预处理之标准化、归一化、正则化_第2张图片

4. 正则化

正则化的过程是将每个样本缩放到单位范数(每个样本的范数为1),如果后面要使用如二次型(点积)或者其它核方法计算两个样本之间的相似性这个方法会很有用

主要思想是对每个样本计算其p-范数,然后对该样本中每个元素除以该范数,这样处理的结果是使得每个处理后样本的p-范数(l1-norm,l2-norm)等于1。

p-范数的计算公式:
||X||p = (|x1| ^p+ |x2|p+|x3|p+…+|xn|p)(1/p)

正则化的目的主要是防止分类模型过拟合

参考资料:
https://blog.csdn.net/kryolith/article/details/39770187

正则化参考文章点此链接

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