吴恩达机器学习笔记——梯度下降算法(2)

引言

在梯度下降算法(1)中我们了解了梯度下降算法的执行过程,但是还存在很多问题,诸如代价函数收敛速度或者代价函数是否能够收敛等问题,这节我们主要解决收敛速度问题,其解决方案就是应用特征缩放(Feature Scaling)。

特征缩放的定义

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

为什么使用特征缩放?

在梯度下降算法中,由于使用了迭代的方法,即迭代执行:

θj := θj - α * (1/m)Σ(hθ(x(i)) - y(i)) * xj(i)

如果有多个特征值之间差别很大,比如x1的范围是1-2000,x2的范围是1-5,这时候的梯度下降算法效果就很不好,x1收敛的很慢,导致算法效率较低,因此我们采取把各个特征值缩放的方法统一特征值的数量级,使梯度下降更为顺畅。

等值线的数学意义:平面“等值线”可以看成二元函数 F( x,y) 取相同值时( x,y) 构成的点集,即{ ( x,y) | F( x,y) =  c}

特征缩放的方法

(1)调节比例(Rescaling)

  -1 <= x1<=1

  x <- (xmin(x))/(max(x)min(x))

(2)均值归一化(Mean Normalization)

  x <- (x-u)/s

  其中u为平均值,s为标准差(max-min)

原文地址:https://www.cnblogs.com/z1174299705/p/8808402.html