本文将为你介绍实现特征缩放和特征归一化的方法。
1. 特征缩放
在随机梯度下降(stochastic gradient descent)算法中,特征缩放有时能提高算法的收敛速度。
1.1 什么是特征缩放
特征缩放是用来标准化数据特征的范围。
1.2 机器算法为什么要特征缩放
特征缩放还可以使机器学习算法工作的更好。比如在K近邻算法中,分类器主要是计算两点之间的欧几里得距离,如果一个特征比其它的特征有更大的范围值,那么距离将会被这个特征值所主导。因此每个特征应该被归一化,比如将取值范围处理为0到1之间。
在梯度下降法中,当有多个特征向量的时候,如果其中一个变化范围比较大,则该特征向量的参数可能会变化范围很大,从而主导整个梯度下降的过程,使得整个收敛轨迹变得复杂,让收敛的时间更长。
2. 特征缩放的方法
2.1 调节比例(Rescaling)
这种方法是将数据的特征缩放到[0,1]或[-1,1]之间。缩放到什么范围取决于数据的性质。对于这种方法的公式如下:x' = \frac{x - min(x)}{max(x) - min(x)}
$x$是最初的特征值, $x'$是缩放后的值。
2.2 标准化(Standardization)
特征标准化使每个特征的值有零均值(zero-mean)和单位方差(unit-variance)。这个方法在机器学习地算法中被广泛地使用。例如:SVM,逻辑回归和神经网络。这个方法的公式如下:x' = \frac{x - \bar x}{\sigma}
3. 特征归一化
3.1 为什么要进行特征归一化
数据标准化(归一化)处理是数据挖掘