机器学习-归一化、标准化

来源:互联网 发布:水利造价软件有哪些 编辑:程序博客网 时间:2024/05/17 03:04

最近学习机器学习,往往需要对数据进行预处理,今天记录一下预处理中的归一化、标准化的意义。

归一化
要把你需要处理的数据经过处理后(通过某种算法)限制在你需要的一定范围内。首先归一化是为了后面数据处理的方便,其次是保正程序运行时收敛加快。一般指将数据限制在[0 1]之间。主要是为了数据处理方便提出来的,把数据映射到0-1之间处理,更便携快速。一般使用公式:
这里写图片描述

标准化
对原始数据进行缩放处理,限制在一定的范围内。一般指正态化,即均值为0,方差为1。即使数据不符合正态分布,也可以采用这种方式方法,标准化后的数据有正有负。
由于信用指标体系的各个指标度量单位是不同的,为了能够将指标参与评价计算,需要对指标进行规范化处理,通过函数变换将其数值映射到某个数值区间。
通俗的讲就是数据的多个维度单位不一样,维度的数值相差较大,导致其中某些维度对结果的影响较大或较小。从而是分类误差加大。所以采用标准化数据。一般采用Z-score规范化:即均值为0,方差为1的正态分布; 公式:
这里写图片描述
python中可以使用scale()函数:X = np.array([
[1,-1,2],
[2,0,0],
[0,1,-1]
])
x_scaled = preprocessing.scale(X)#标准化`

以上为两种比较普通但是常用的归一化技术,那这两种归一化的应用场景是怎么样的呢?什么时候**归一化**方法比较好、什么时候**标准化**方法比较好呢?下面做一个简要的分析概括:

1、在分类、聚类算法中,需要使用距离来度量相似性的时候、或者使用PCA技术进行降维的时候,标准化方法(Z-score standardization)表现更好。
2、在不涉及距离度量、协方差计算、数据不符合正太分布的时候,可以使用第一种方法或其他归一化方法。比如图像处理中,将RGB图像转换为灰度图像后将其值限定在[0 255]的范围

原创粉丝点击