【吴恩达机器学习笔记】梯度下降算法
目录
前言
延续上文,本节将介绍梯度下降算法来计算代价函数的最小值。
一、梯度下降算法
想象一下你正站立在你想象的公园——这座红色山某一点上,在梯度下降算法中,我们要做的就是旋转 360 度,看看我们的周围,并问自己要在某个方向上,用小碎步尽快下山。这些小碎步需要朝什么方向?如果我们站在山坡上的这一点,你看一下周围,你会发现最佳的下山方向,你再看看周围,然后再一次想想,我应该从什么方向迈着小碎步下山?然后你按照自己的判断又迈出一步,重复上面的步骤,从这个新的点,你环顾四周,并决定从什么方向将会最快下山,然后又迈进了一小步,并依此类推,直到你接近局部最低点的位置。
梯度下降背后的思想是:开始时我们随机选择一个参数的组合(????0, ????1, . . . . . . , ????????),计算代价函数,然后我们寻找下一个能让代价函数值下降最多的参数组合。我们持续这么做直到到到一个局部最小值( local minimum),因为我们并没有尝试完所有的参数组合,所以不能确定我们得到的局部最小值是否便是全局最小值( global minimum),选择不同的初始参数组合,可能会找到不同的局部最小值。
二、梯度下降算法公式
其中????是学习率( learning rate),它决定了我们沿着能让代价函数下降程度最大的方向向下迈出的步子有多大,在批量梯度下降中,我们每一次都同时让所有的参数减去(学习速率乘以代价函数的导数)。
同步下降
实现梯度下降算法的微妙之处是,在这个表达式中,如果你要更新这个等式,你需要同时更新????0和????1。
同步更新是梯度下来算法更自然的实现方法。当人们谈到梯度下降时,他们的意思就是同步更新。
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。