#“Machine Learning”(Andrew Ng)#Week 1_2:Gradient Descent

Parameter Learning

1、Gradient Descent(So we have our hypothesis function and we have a way of measuring how well it fits into the data. Now we need to estimate the parameters in the hypothesis function. That's where gradient descent comes in.


如果你有一个函数 J(θ0, θ1, θ2, ...,θn ) ,你希望可以通过一个算法最小化 θ0到θn 来最小化此代价函数J(θ0 到θn)

(关于梯度下降算法的一些构想)

初始点:开始对θ0和θ1进行一些初步猜测,它们到底是什么其实并不重要,但通常的选择是将θ0设为0,将θ1也设为0,将它们都初始化为0。

查找:在梯度下降算法中要做的,就是不停地一点点地改变 θ0和θ1,试图通过这种改变使得J(θ0, θ1)变小,直到我们找到 J 的最小值,或许是局部最小值 。

(以上图为例:对 θ0和θ1赋以某个初值,也就是对应于从这个函数表面上的某个起始点出发,对吧,所以不管 θ0和θ1的取值是多少,我将它们初始化为0,但有时你也可把它初始化为其他值 。现在我希望大家把这个图像想象为一座山,想像类似这样的景色,公园中有两座山 ,想象一下你正站立在山的这一点上,站立在你想象的公园这座红色山上 在梯度下降算法中,我们要做的就是旋转360度,看看我们的周围并问自己,我要在某个方向上用小碎步尽快下山,如果我想要下山,如果我想尽快走下山,这些小碎步需要朝什么方向?)

(初点选取的重要性)如果从刚才的第一个点出发,你会得到这个局部最优解,但如果你的起始点偏移了一些,起始点的位置略有不同,你会得到一个,非常不同的局部最优解, 这就是梯度下降算法的一个特点。

(符号表示)


(:=)使用 := 表示赋值,这是一个赋值运算符,具体地说,如果我写 a:= b,在计算机专业内,这意味着不管 a的值是什么,取 b的值,并将其赋给a,这意味着我们让 a等于b的值,这就是赋值。

(=)如果我使用等号 = 并且写出a=b,那么这是一个判断为真的声明 ,如果我写 a=b 就是在断言,a的值是等于 b的值的。(因此,我可以写 a:=a+1这意味着,将 a的值再加上1,但我不会写 a=a+1 因为这本来就是错误的 a 和 a+1 永远不会是同一个值!)

(a)这里的α 是一个数字,被称为学习速率。什么是α呢? 在梯度下降算法中,它控制了,我们下山时会迈出多大的步子。


(同步更新参数问题)

应该计算公式右边的部分,通过那一部分计算出θ0和θ1的值,然后同时更新 θ0和θ1。进一步阐述这个过程,在梯度下降算法中,这是正确实现同时更新的方法,我要设 temp0等于这些 设temp1等于那些,所以首先计算出公式右边这一部分,然后将计算出的结果,一起存入 temp0和 temp1之中,然后同时更新 θ0和θ1。


2、Gradient Descent Intuition

In this video we explored the scenario where we used one parameter θ1 and plotted its cost function to implement a gradient descent. Our formula for a single parameter was :


(过大或过小的a)


(固定a?)


在梯度下降法中,当我们接近局部最低点时,梯度下降法会自动采取更小的幅度,这是因为当我们接近局部最低点时,很显然在局部最低时导数等于零,所以当我们接近局部最低时,导数值会自动变得越来越小 ,所以梯度下降将自动采取较小的幅度,这就是梯度下降的做法,所以实际上没有必要再另外减小α(固定α)。

2、Gradient Descent For Linear Regression(我的第一个机器学习算法)

用梯度下降的方法,来最小化平方误差代价函数:


(这是线性回归模型,还有线性假设和平方误差代价函数)


刚刚使用的算法,有时也称为批量梯度下降,这个名字"批量梯度下降" 指的是 在梯度下降的,每一步中,我们都用到了所有的训​​练样本,批量梯度下降法 这个名字,说明了,我们需要考虑 所有这一"批"训练样本。(而事实上,有时也有其他类型的,梯度下降法,不是这种"批量"型的,不考虑整个的训练集,而是每次只关注,训练集中的一些小的子集。)

有一种计算,代价函数J最小值的数值解法,不需要梯度下降这种迭代算法,它可以在不需要,多步梯度下降的情况下,也能解出代价函数J的最小值,这是另一种称为正规方程(normal equations)的方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值