4-3
当使用梯度下降算法的时候。为了是的算法更快收敛。可能需要做一些处理。
1 希望不同的特征取值在相似的范围内。比如房子特征房间数 1-5 房子大小的范围在0-2000。两者相差较大
那么对于theta1 theta2和j(theta)的等高线如图
梯度下降时可能会来回扭动慢慢达到最低。因此要进行缩放。
如果都缩放到0-1之间。那么图像会变成下图
这样迭代的时候就就能更快迭代到最低点
通常可以按照下图来进行缩放。
x1= (x1-u1)/s1 s1是样本特征的最大值-最小值。而u1是样本的平均值
这样可以缩放到-0.5到0.5之间。有助于快速迭代到最低点
4-4
验证梯度下降算法最合适的就是直接查看Jmin(theta)函数。准确的算法应该是如下
也就是迭代到最后开始收敛了
如果j(theta)在不断上升。说明梯度下降算法肯定错误了
通常是由于学习速率alpha过大造成的
同样如果出现下面的图,也表示要使用小的学习速率alpha值
最好是尝试不同的alpha得到最合适的学习速率
数学上可以证明只要学习速率足够小。代价函数就会下降。但是代价就是迭代步数增多。
本文介绍了如何通过特征缩放来优化梯度下降算法,确保不同特征在同一数量级内,从而加速算法收敛。同时讨论了如何选择合适的学习率,并提供了验证算法正确性的方法。

4547

被折叠的 条评论
为什么被折叠?



