浅谈机器学习中的特征缩放(feature scaling)

引言

在运用一些机器学习算法的时候不可避免地要对数据进行特征缩放(feature scaling),比如:在随机梯度下降(stochastic gradient descent)算法中,特征缩放有时能提高算法的收敛速度。下面我会主要介绍一些特征缩放的方法。

什么是特征缩放

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

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

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

就如我在引言所说,特征缩放也可以加快梯度收敛的速度。

特征缩放的一些方法

调节比例(Rescaling)

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

x=xmin(x)max(x)min(x)

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

标准化(Standardization)

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

x=xx¯σ

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