上两讲中把代价函数的意义说明白了,接下来就是如何找到合适的θ和θ1最小化代价函数。
梯度下降是一个用来求函数最小值的算法,我们将使用梯度下降算法来求出代价函数J(θ,θ1)的最小值。
梯度下降背后的思想是:开始时我们随机选择一个参数的组合(θ,θ1,...,θn),计算代价函数,然后我们寻找下一个能让代价函数值下降最多的参数组合。我们持续这么做直到达到一个局部最小值,因为我们并没有尝试完所有的参数组合,所以不能确定我们得到的局部最小值是否便是全局最小值,选择不同的初始参数组合,可能会找到不同的局部最小值。
假设你站山顶的某一点上,那么在梯度下降算法中,我们要做的就是环顾四周,从当前点确定一个下山方向,用小碎步尽快下山,然后你按照自己的判断迈出一步,重复上面的步骤,从这个新的点,你环顾四周,并决定从什么方向将会最快下山,然后又迈进了一小步,并依此类推,直到你接近局部最低点的位置。
批量梯度下降算法的公式为:
其中α是学习率,它决定了我们沿着能让代价函数下降程度最大的方向,相当于下山迈出的步子有多大。
在批量梯度下降中,我们每一次都同时让所有的参数减去学习速率乘以代价函数的导数,也就是说参数是同步更新的,记住一点:梯度下降,必须要同步更新;不同步更新,不是梯度下降算法。
祝您的机器学习之旅愉快!
本文参考资料:斯坦福吴恩达老师的机器学习讲义,图片直接来自讲义。
领取专属 10元无门槛券
私享最新 技术干货