前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【重温经典】吴恩达机器学习课程学习笔记四:梯度下降

【重温经典】吴恩达机器学习课程学习笔记四:梯度下降

作者头像
WZEARW
发布2018-04-13 15:03:58
6500
发布2018-04-13 15:03:58
举报
文章被收录于专栏:专知

【导读】前一段时间,专知内容组推出了春节充电系列:李宏毅2017机器学习课程学习笔记,反响热烈,由此可见,大家对人工智能、机器学习的系列课程非常感兴趣,近期,专知内容组推出吴恩达老师的机器学习课程笔记系列,重温机器学习经典课程,希望大家会喜欢。

【重温经典】吴恩达机器学习课程学习笔记一:监督学习

【重温经典】吴恩达机器学习课程学习笔记二:无监督学习(unsupervised learning)

【重温经典】吴恩达机器学习课程学习笔记三:监督学习模型以及代价函数的介绍

吴恩达机器学习课程系列视频链接:

http://study.163.com/course/courseMain.htm?courseId=1004570029

春节充电系列:李宏毅2017机器学习课程学习全部笔记

吴恩达课程学习笔记四:梯度下降

1、什么是梯度下降?



承接上一次总结的内容,现在有损失函

,目的是为了找出合适的参数

,使得代价函数最小。简单的描述其做法为:随机选取一组

,通过某种方式不断地改变

的值,以使得代价函数的值,达到最小。(具体方式后面的总结会介绍)注意:从不同的

开始,最终得到的结果会不同。(用下山为例。你处在山上的不同位置,想要最快的方式到达山底,那么你所走的路线不同,到达山底的位置也不同)

2、梯度下降算法



如上图所示:=表示的是将式子右边计算的值赋给左边,α指的是学习率即我们以多大的步长去更新参数,对于前面所述的问题θ只能取

,(后面会在线性回归上应用梯度下降的算法)。注意:这里的两个参数需要同时更新。即需要采用左边correct的伪代码,对于右边incorrect的伪代码是将更新完

带入代价函数中,然后再去更新

,此时已经不是同时更新

,,这时得出的结果会与同步更新得出的结果不同。

3、对梯度算法的解释



将α与导数项各自有什么作用,以及为何要将两者放在一起:

如下图:假设代价函数的参数只有一个

,且代价函数的形状如下(在前面的总结中,我们曾说过正比例线性拟合的例子),对于上半部分的图,导数项代表着该点的斜率(为正),乘以α后被

减去,

对应着向左移动,同理对于下半部分,斜率为负,所以最

向右移动。

这里α控制着

移动的速度,如果过小,则会要就算多次才能到达最低点,如果过大,则会一次又一次的错过最小值(如下图所示),所以合理的设置α的大小同样很重要。

已经到达局部的最小值时,此时导数为0,由梯度公式可知。此时

将不会再发生变化。

另外,不需要在梯度下降的过程中,改变α的值,以上图为例,下降的过程中斜率绝对值减小,所以下降速度减慢,最终达到最低点。

3、在线性回归中应用梯度算法



梯度下降公式以及线性回归的代价函数如下图片:

求偏导后得到如下(对于线性回归,在实际的代码中只需要对参数与按照下图的方式进行更新即可):

特别地:对于线性回归的代价函数,它是凸函数,即它只有一个全局的最优解,不会存在多个局部最优解的情况。

对于上述的梯度下降过程,我们又命名为Batch梯度下降算法(Batch Gradient Descent),即它的每一次更新遍历了训练集中的所有样本。

到目前为止,介绍了机器学习的第一个算法,在后面的总结中,我们会介绍其他解决梯度下降的算法。以及多元梯度下降法算法。希望可以与大家一起学习,一起重温经典。

参考链接:

http://study.163.com/course/courseMain.htm?courseId=1004570029

请关注专知公众号

  • 后台回复“NGML2018” 就可以获取 吴恩达机器学习课程下载链接
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-04-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 专知 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档