单变量梯度下降
在我们学习的损失函数后,梯度下降就是求解损失函数的一种方法
我们求出θ0,θ1,使得J(θ0,θ1)最小,同理也是求出θ0,θ1,θ2,θ3…θn使得J(θ0,θ1,θ2,θ3…θn)最小,或者局部最小值,我们仅用θ0,θ1,使得J(θ0,θ1)最小,这个例子来求解:
例如图中,我们随机取一点,然后再通过这点找到向下的最佳点,一直迭代到数据最佳,即为我们得出的最小损失函数:
但是我们再其他位置,找到一个最佳点:
如图,得出的最小损失函数不同,即为局部最佳点。这个是梯度下降的一个特点。
所以,梯度下降算法如下:
此符号表示赋值,跟新θj的值
α
此符号表示学习速率,是一个值,他控制了梯度下降的速率
这是个微分项,较为简单,即为一点的斜率(后面不过多讲解)
所以:
所以,上述式子可以这样理解:θj这个点不停的在更新,即用θj减去α×θj的斜率,他是不停的跟新状态,找到局部最优点。注意:在更新时,需要同时更新θ0,θ1的值
这里我们使用一个参数的损失函数:J(θ1):
上述即为下列式子求最佳点J(θ1):
θ1:=θ1-a×( d/dθ1)J(θ1),
例如:
这点中,斜率为( d/dθ1)J(θ1),a为学习速率,所以,θ1:=θ1-a×( d/dθ1)J(θ1)中,会形成如下图:
找到最优点,如果a太小都会需要很多时间才能找到最佳点,如果a太大,他会离最佳点越来越远。
当我们用梯度下降时,他会一点一点的找到最优点。
单变量梯度下降如上理解
多变量梯度下降
上图中有n+1个θ参数,代价函数J(θ0,θ1…θn)
我们可以想象成n+1维向量函数,在梯度下降算法中:
讲过代价函数J(θ0,θ1)为
————m
(1/2m)∑=(h(x(i))-y(i))
————i=1
所以:
可以化为上述式子。
当代价函数J(θ0,θ1…θn)为n>=1时
在梯度下降中,我们常常将其收敛到-1-1的范围
如有错误可以联系我:626529441,一起交流学习,谢谢。