实现特征缩放和特征归一化的方法有哪些?

栏目: 数据库 · 发布时间: 7年前

内容简介:本文将为你介绍实现特征缩放和特征归一化的方法。在随机梯度下降(stochastic gradient descent)算法中,特征缩放有时能提高算法的收敛速度。特征缩放是用来标准化数据特征的范围。

本文将为你介绍实现特征缩放和特征归一化的方法。

1. 特征缩放

在随机梯度下降(stochastic gradient descent)算法中,特征缩放有时能提高算法的收敛速度。

1.1 什么是特征缩放

特征缩放是用来标准化数据特征的范围。

1.2 机器算法为什么要特征缩放

特征缩放还可以使机器学习算法工作的更好。比如在K近邻算法中,分类器主要是计算两点之间的欧几里得距离,如果一个特征比其它的特征有更大的范围值,那么距离将会被这个特征值所主导。因此每个特征应该被归一化,比如将取值范围处理为0到1之间。

在梯度下降法中,当有多个特征向量的时候,如果其中一个变化范围比较大,则该特征向量的参数可能会变化范围很大,从而主导整个梯度下降的过程,使得整个收敛轨迹变得复杂,让收敛的时间更长。

2. 特征缩放的方法

2.1 调节比例(Rescaling)

这种方法是将数据的特征缩放到[0,1]或[-1,1]之间。缩放到什么范围取决于数据的性质。对于这种方法的公式如下:

  1. x' = \frac{x - min(x)}{max(x) - min(x)}

$x$ 是最初的特征值, $x'$ 是缩放后的值。

2.2 标准化(Standardization)

特征标准化使每个特征的值有零均值(zero-mean)和单位方差(unit-variance)。这个方法在机器学习地算法中被广泛地使用。例如:SVM,逻辑回归和神经网络。这个方法的公式如下:

  1. x' = \frac{x - \bar x}{\sigma}

3. 特征归一化

3.1 为什么要进行特征归一化

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

3.2 特征归一化的意义

  • 各特征之间的大小范围一致,才能使用距离度量等算法
  • 加速梯度下降算法的收敛
  • 在SVM算法中,一致化的特征能加速寻找支持向量的时间
  • 不同的机器学习算法,能接受的输入数值范围不一样

3.3 特征归一化的方法

3.3.1 Rescaling

采用上述的

  1. x' = \frac{x - min(x)}{max(x) - min(x)}

公式实现。

在 sklearn 中,对应的是 sklearn.preprocessing.MinMaxScaler ,其使用方法如下:

from sklearn.preprocessing import MinMaxScaler
x=[[10001,2],[16020,4],[12008,6],[13131,8]]
min_max_scaler = MinMaxScaler()
X_train_minmax = min_max_scaler.fit_transform(x)#归一化后的结果

它默认将每种特征的值都归一化到[0,1]之间,归一化后的数值大小范围是可调的(根据 MinMaxScaler 的参数 feature_range 调整)。下面代码能将特征归一化到 [-1,1] 之间。

min_max_scaler = MinMaxScaler(feature_range=(-1,1))
X_train_minmax = min_max_scaler.fit_transform(x)#归一化后的结果

3.3.2 Standardization

其数学公式为:

  1. x'=\frac{x-\overline{x}}{\sigma}

在 sklearn 中对应的是 sklearn.preprocessing.StandardScaler 。其代码如下:

from sklearn.preprocessing import StandardScaler
x=[[10001,2],[16020,4],[12008,6],[13131,8]]
X_scaler = StandardScaler()
X_train = X_scaler.fit_transform(x)

StandardScaler的归一化方式是用每个特征减去列均值,再除以列标准差。

==总结==:

  • 当我们需要将特征值都归一化为某个范围[a,b]时,选MinMaxScaler
  • 当我们需要归一化后的特征值均值为0,标准差为1,选StandardScaler

3.3.3 Scaling to unit length

其数学公式为:

  1. x'=\frac{x}{\left \| x \right \|}

参考文献

  •   https://blog.csdn.net/sd9110110/article/details/53453945

作者介绍:邵洲,在读博士。研究兴趣:数据挖掘、学者迁徙研究。


以上所述就是小编给大家介绍的《实现特征缩放和特征归一化的方法有哪些?》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。

Web Caching

Web Caching

Duane Wessels / O'Reilly Media, Inc. / 2001-6 / 39.95美元

On the World Wide Web, speed and efficiency are vital. Users have little patience for slow web pages, while network administrators want to make the most of their available bandwidth. A properly design......一起来看看 《Web Caching》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

SHA 加密
SHA 加密

SHA 加密工具

html转js在线工具
html转js在线工具

html转js在线工具