每天十分钟机器学习之八:梯度下降算法之一

上两讲中把代价函数的意义说明白了,接下来就是如何找到合适的θ和θ1最小化代价函数。

梯度下降是一个用来求函数最小值的算法,我们将使用梯度下降算法来求出代价函数J(θ,θ1)的最小值。

梯度下降背后的思想是:开始时我们随机选择一个参数的组合(θ,θ1,...,θn),计算代价函数,然后我们寻找下一个能让代价函数值下降最多的参数组合。我们持续这么做直到达到一个局部最小值,因为我们并没有尝试完所有的参数组合,所以不能确定我们得到的局部最小值是否便是全局最小值,选择不同的初始参数组合,可能会找到不同的局部最小值。

假设你站山顶的某一点上,那么在梯度下降算法中,我们要做的就是环顾四周,从当前点确定一个下山方向,用小碎步尽快下山,然后你按照自己的判断迈出一步,重复上面的步骤,从这个新的点,你环顾四周,并决定从什么方向将会最快下山,然后又迈进了一小步,并依此类推,直到你接近局部最低点的位置。

批量梯度下降算法的公式为:

其中α是学习率,它决定了我们沿着能让代价函数下降程度最大的方向,相当于下山迈出的步子有多大。

在批量梯度下降中,我们每一次都同时让所有的参数减去学习速率乘以代价函数的导数,也就是说参数是同步更新的,记住一点:梯度下降,必须要同步更新;不同步更新,不是梯度下降算法。

祝您的机器学习之旅愉快!

本文参考资料:斯坦福吴恩达老师的机器学习讲义,图片直接来自讲义。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181107G1H4QZ00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券