首页 > 代码库 > 多变量线性回归时使用梯度下降(Gradient Descent)求最小值的注意事项

多变量线性回归时使用梯度下降(Gradient Descent)求最小值的注意事项

  梯度下降是回归问题中求cost function最小值的有效方法,对大数据量的训练集而言,其效果要

好于非迭代的normal equation方法。

  在将其用于多变量回归时,有两个问题要注意,否则会导致收敛速度小,甚至无法收敛。

1. 特征均一化(Feature Scaling)

  当特征量多时,需呀使用每个特征的均值、范围来使每个特征都均一化到[-0.5, 0.5]的范围

  即: f_normed = (f - f_average) / (f_max - f_min)

  这样能使得cost function的梯度图成为圆形,从而加快收敛速度

2. 学习速度选择(Learning Rate Chooseing)

  学习速度a的选择是需要尝试的,可以将不同的a下Cost Function值随迭代次数的变化画出来观察。

  过小的a会导致收敛慢,过大的a会导致发散(同时也有很小可能导致收敛慢)。

  a的选择方案为:以10为一个区间,每个区间中间和两头取点。如:..., 0.01, 0.03, 0.1, 0.3, 1, 3, 10, ...

多变量线性回归时使用梯度下降(Gradient Descent)求最小值的注意事项