机器学习(吴恩达)

我们在上一章已经定义了可视化函数J,我们所要找的目标就是让可视化函数J达到最小值,那么我们要用什么样的方法呢

这里我们采用梯度下降法,这是一种常见的算法,他不仅仅可以用在线性回归上,还可以用在其他函数上。

1.赋予初始值(一般是0,0)

2.不停改变\Theta_0 \Theta_1使J变小,搜寻下降速度最快的方向

3.直到我们找到最小值的局部收敛点,当然不一样的初始值他的局部收敛点也不一样。

 机器学习(吴恩达)_第1张图片

机器学习(吴恩达)_第2张图片 

这里的\alpha被成为一个学习率的数字,它用来控制梯度下降的时候我们迈出多大的步子,如果它的值很大,梯度下降就很迅速,如果很小,那么我们的速度就很慢。学习速率永远是一个正数。

在这个公式中,你需要同时更新两参数, \Theta_0 \Theta_1

下面我们用一个更直观的例子来解释梯度下降法,以二维平面为例。

机器学习(吴恩达)_第3张图片 

 

可以看到,不管是在左边还是右边,你都可以看到它会往最小值靠近。 而学习速率的选取很重要,如果太小了,那么说明它的步伐太慢,要很久才能达到最终目标,反过来,太大的话说明什么?说明它的步伐太大,可能会越过最终目标,进而离目标越来越远,导致无法收敛或发散。

这个梯度下降法有一个特点就是只能得到局部最优解,而无法得到全局最优解。

你可能感兴趣的:(人工智能,算法)