文章目录
机器学习中为什么需要归一化
- 归一化后加快了梯度下降求最优解的速度;
- 归一化有可能提高精度
归一化为什么能提高梯度下降求解最优解的速度?
如上图所示,蓝色圆圈代表两个特征的的等高线。
- 左图中两个特征区别相差特别大。其中一个特征X1的区间是[0,2000],一个特征X2[1,5],所形成的等高线比较尖锐。当时用梯度下降法时,很可能要垂直等高线走,需要很多次迭代才能收敛。
- 右图中对两个原始特征进行了归一化处理,其对应的等高线相对来说比较圆,在梯度下降时,可以较快的收敛。
归一化可能提高精度
有些分类器需要计算样本之间的距离,例如k-means。如果一个特征的值域范围特别大。那么距离计算就主要取决于这个特征,有时会与实际情况相违背。(比如这时实际情况是值域范围小的特征更重要)
归一化常用的方法
-
线性比例变换法
y i = x i m a x ( x ) y_i=\frac{x_i}{max(x)} yi=max(x)xi -
极差变换法:
y i = x i − m i n ( x ) m a x ( x ) − m i n ( x ) y_i=\frac{x_i-min(x)}{max(x)-min(x)}