码迷,mamicode.com
首页 > 系统相关 > 详细

Coursera课程《Machine Learning》学习笔记(week1)

时间:2016-06-28 23:21:32      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:

这是Coursera上比较火的一门机器学习课程,主讲教师为Andrew Ng。在自己看神经网络的过程中也的确发现自己有基础不牢、一些基本概念没搞清楚的问题,因此想借这门课程来个查漏补缺。目前的计划是先看到神经网络结束,后面的就不一定看了。

当然,看的过程中还是要做笔记做作业的,否则看了也是走马观花。此笔记只针对我个人,因此不会把已经会了的内容复述一遍,相当于是写给自己的一份笔记吧。如果有兴趣,可以移步《Machine Learning》仔细学习。

接下来是第一周的一些我认为需要格外注意的问题。

1、强调了hypothesis与cost函数究竟是“ it of who ”

设一个待拟合函数为y=θ1x+θ0,其中x为输入样本点,θi为待学习参数,这样一个表达式我们把它称之为hypothesis。在这门课程中,可以发现吴恩达老师在念h(x)时念的是“ h of x ”,意思是h是x的函数,在h(x)中x为自变量,即输入样本点x为自变量。

需要强调的是,对于hypothesis h(x),自变量为输入样本点x;而对于cost函数J(θ),这个自变量是待学习参数。所谓的梯度下降法常常给出的那个山一样的图,正是让参数θi密密地取很多很多个值,然后看θi取到多少时整个cost函数达到最低点。

2、轮廓图

采用轮廓图的方式代替三维图。

比方说对于一个待拟合函数y=θ1x+θ0,当参数有两个(θ1与θ0),则把cost函数画成三维图是长这样的:

技术分享

但是用轮廓图表述就是这样的:

 技术分享

如图所示,每一圈上的点它的cost函数值是一样的,相当于对一座山的俯视图吧。好比地理中画山不是画成立体的那个样子,而是以等高线图来表述,因此画的是一圈一圈的。

当极值点落在那个打红叉的位置,拟合结果就是左边这幅图的蓝色直线,可以发现这个时候的 θ1 与 θ0 对应的 hypothesis(即那条蓝色直线的直线方程) 就是一个不错的结果。打红叉的位置可说是这座山的最低谷处。

3、强调梯度下降法是所有参数同步更新

就直接拿这幅图说明好了……

技术分享

上面一目了然地列出了啥叫同步更新,啥叫非同步更新。

好比神经网络一堆的权值,不是说改一个参数然后再算下一个梯度然后再改下一个参数的,而是一次性利用bp算法把所有的梯度值都算出来,并且对整个神经网络所有的参数值都实施同步更新。

原因也很显然,看看右边这个非同步更新的图,是把 θ0 的值都改了,然后你再拿这个改了之后的 θ0 去算 θ1 的梯度值,再去更新 θ1 ,这显然没意义。

(2016.6.28 记)

by 悠望南山

Coursera课程《Machine Learning》学习笔记(week1)

标签:

原文地址:http://www.cnblogs.com/NanShan2016/p/5624968.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!