多变量的梯度下降(Gradient descent for multiple variables)

其实就是把多变量假设函数带入梯度下降算法之中:


梯度运算的使用技巧1:特征缩放(feature scaling)

使特征值在一个相近的范围,这样的话更容易收敛从而更快的找到全局最优解。

Once again,使特征值在一个相近的范围,从而使梯度下降更快。只要范围相近就OK。

归一化(mean normalization):

特征值的范围的标准差做分母(也可以是最大值减去最小值),然后每个特征值减去它们的的平均值做分子。(因为只要使得特征值范围相近就OK)

目的是使特征在一个相近的范围,更快的收敛。

上图中的bedrooms特征那里的分母应该是4。但是就算是5,对梯度下降计算来说影响也不大,因为特征缩放并不需要非常精确,只要范围相近就OK。


梯度运算的使用技巧2:学习率(learning rate)α

其实就是选择合适的学习率α。

查看代价函数曲线,选择合适的α。

通常选择合适的阈值ε是相当困难的,为了检查梯度下降算法是否收敛,常选择查看代价函数曲线,而不依靠自动收敛测试。

α过大会导致代价函数振荡或者发散,α过小会导致代价函数收敛太慢。

为了选择更好的学习率α,所以通常选择相差10倍的值来测试,然后查看代价函数图,从而找到合理的值。(下图中选择还有3倍的数字)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容