在梯度下降算法运用中,如果能保证不同特征的取值在相同或者相近的范围内,比如都处于0-1之间,那么梯度下降算法将会能很很快的收敛。

例如,一个含有两个特征的训练样本集,其中
Machine Learning_FatureScaling

X2=number of bedrooms(1-5)

此时,X1 是远远大于X2的,所以此时对应的轮廓图将很瘦很高,如下图所示:

Machine Learning_FatureScaling

这样造成的结果很可能就是,梯度在下降过程中走了很多的“弯路”,来回震荡,收敛速度很慢,解决办法就是:特征缩放。

特征缩放方法
对于上述例子,我们可以将特征值进行如下转换,即可将两个特征值范围尽可能靠近,甚至相同:
Machine Learning_FatureScaling

这样, 并且 ,这样的话,最终的轮廓图像就很“圆”,
Machine Learning_FatureScaling

这样,梯度下降算法就会很快的收敛。

一般解决方案:均值归一化
假设一个训练集有m个样本,n个属性,Machine Learning_FatureScaling 其中Machine Learning_FatureScaling 代表第i个样本的第j个属性的值,Machine Learning_FatureScaling代表所有样本第j个属性的值的平均值,Machine Learning_FatureScaling代表所有样本第j个属性的最大值。下图是教程视频中的解释。

Machine Learning_FatureScaling

注意,不要用x0因为x0=1。

也可以将上面的Machine Learning_FatureScaling用这个式子来替换,其实就是将分母变成了max-min,Machine Learning_FatureScaling
————————————————

相关文章:

  • 2021-07-12
  • 2021-09-13
  • 2021-10-19
  • 2021-10-23
  • 2021-07-27
  • 2021-10-14
猜你喜欢
  • 2021-12-19
  • 2022-12-23
  • 2021-07-21
  • 2021-05-28
  • 2021-04-02
  • 2023-01-15
  • 2021-11-09
相关资源
相似解决方案