【导读】前一段时间,专知内容组推出了春节充电系列:李宏毅2017机器学习课程学习笔记,反响热烈,由此可见,大家对人工智能、机器学习的系列课程非常感兴趣,近期,专知内容组推出吴恩达老师的机器学习课程笔记系列,重温机器学习经典课程,希望大家会喜欢。
【重温经典】吴恩达机器学习课程学习笔记二:无监督学习(unsupervised learning)
【重温经典】吴恩达机器学习课程学习笔记三:监督学习模型以及代价函数的介绍
吴恩达机器学习课程系列视频链接:
http://study.163.com/course/courseMain.htm?courseId=1004570029
吴恩达课程学习笔记四:梯度下降
1、什么是梯度下降?
承接上一次总结的内容,现在有损失函,目的是为了找出合适的参数与,使得代价函数最小。简单的描述其做法为:随机选取一组与,通过某种方式不断地改变与的值,以使得代价函数的值,达到最小。(具体方式后面的总结会介绍)注意:从不同的与开始,最终得到的结果会不同。(用下山为例。你处在山上的不同位置,想要最快的方式到达山底,那么你所走的路线不同,到达山底的位置也不同)
2、梯度下降算法
如上图所示:=表示的是将式子右边计算的值赋给左边,α指的是学习率即我们以多大的步长去更新参数,对于前面所述的问题θ只能取与,(后面会在线性回归上应用梯度下降的算法)。注意:这里的两个参数需要同时更新。即需要采用左边correct的伪代码,对于右边incorrect的伪代码是将更新完带入代价函数中,然后再去更新,此时已经不是同时更新与,,这时得出的结果会与同步更新得出的结果不同。
3、对梯度算法的解释
将α与导数项各自有什么作用,以及为何要将两者放在一起:
如下图:假设代价函数的参数只有一个,且代价函数的形状如下(在前面的总结中,我们曾说过正比例线性拟合的例子),对于上半部分的图,导数项代表着该点的斜率(为正),乘以α后被减去,对应着向左移动,同理对于下半部分,斜率为负,所以最向右移动。
这里α控制着移动的速度,如果过小,则会要就算多次才能到达最低点,如果过大,则会一次又一次的错过最小值(如下图所示),所以合理的设置α的大小同样很重要。
当已经到达局部的最小值时,此时导数为0,由梯度公式可知。此时将不会再发生变化。
另外,不需要在梯度下降的过程中,改变α的值,以上图为例,下降的过程中斜率绝对值减小,所以下降速度减慢,最终达到最低点。
3、在线性回归中应用梯度算法
梯度下降公式以及线性回归的代价函数如下图片:
求偏导后得到如下(对于线性回归,在实际的代码中只需要对参数与按照下图的方式进行更新即可):
特别地:对于线性回归的代价函数,它是凸函数,即它只有一个全局的最优解,不会存在多个局部最优解的情况。
对于上述的梯度下降过程,我们又命名为Batch梯度下降算法(Batch Gradient Descent),即它的每一次更新遍历了训练集中的所有样本。
到目前为止,介绍了机器学习的第一个算法,在后面的总结中,我们会介绍其他解决梯度下降的算法。以及多元梯度下降法算法。希望可以与大家一起学习,一起重温经典。
参考链接:
http://study.163.com/course/courseMain.htm?courseId=1004570029
请关注专知公众号(扫一扫最下面专知二维码,或者点击上方蓝色专知),
后台回复“NGML2018” 就可以获取 吴恩达机器学习课程下载链接~
-END-
专 · 知
人工智能领域主题知识资料查看获取:【专知荟萃】人工智能领域26个主题知识资料全集(入门/进阶/论文/综述/视频/专家等)
请PC登录www.zhuanzhi.ai或者点击阅读原文,注册登录专知,获取更多AI知识资料!
请扫一扫如下二维码关注我们的公众号,获取人工智能的专业知识!
请加专知小助手微信(Rancho_Fang),加入专知主题人工智能群交流!加入专知主题群(请备注主题类型:AI、NLP、CV、 KG等)交流~
点击“阅读原文”,使用专知