#Header1_HeaderTitle{ font-size:50px }

机器学习-数据归一化及哪些算法需要归一化

一、数据为什么需要归一化处理?

归一化的目的是处理不同规模和量纲的数据,使其缩放到相同的数据区间和范围,以减少规模、特征、分布差异对模型的影响。

方法:

1. 极差变换法

2. 0均值标准化(Z-score方法)

1. Max-Min(线性归一化)

Max-Min归一化是对原始数据进行线性变化,利用取值的最大值和最小值将原始数据转换为某一范围的数据

缺点:归一化过程与最大值和最小值有关,容易受到极端值的影响。会一定程度破坏原有数据的结构

应用:图像处理中,将RGB图像转换为灰度图像后将其值限定在[0, 255]的范围

 

2. Z-Score标准化

基于原始数据的均值和标准差进行标准化。Z-score是一种中心化方法,会改变原有数据的分布结构,不适合对稀疏数据做处理。本方法要求原始数据的分布近似为高斯分布,否则归一化的效果很差。

应用:在分类和聚类算法中,需要使用距离来度量相似性的时候、或者使用PCA技术进行降维的时候,Z-Score标准化表现很好

 

二、应用场景

1. 概率模型不需要归一化,因为这种模型不关心变量的取值,而是关心变量的分布和变量之间的条件概率。

决策树(概率模型)、随机森林(基学习器是决策树)、朴素贝叶斯(概率模型)不需要归一化

2. SVM、线性回归之类的最优化问题需要归一化。归一化之后加快了梯度下降求最优解的速度,并有可能提高精度。

 是否归一化主要在于是否关心变量取值

3. 神经网络需要标准化处理,一般变量的取值在-1到1之间,这样做是弱化某些变量的值较大而对某些产生影响。一般神经网络中的隐藏层采用tanh激活函数比sigmoid要好,因为取值[-1, 1],均值为0(需要

4. 在k近邻算法中,如果不对解释变量进行标准化,那么具有小数量级的解释变量的影响就会微乎其微(需要

参考地址:

https://blog.csdn.net/ayu96777/article/details/80684914

https://blog.csdn.net/u011089523/article/details/80198312

 

posted @ 2019-03-21 17:12  墨麟非攻  阅读(2341)  评论(0编辑  收藏  举报