编程语言
首页 > 编程语言> > 02梯度下降算法

02梯度下降算法

作者:互联网

梯度算法


Suppose $\theta_0=1,\theta_1=2$ and we simultaneously update $\theta_0$and $\theta_1$using the rule:$\theta_j := \theta_j + \sqrt{\theta_0 \theta_1}$(for j = 0 and j=1) What are the resulting values of $\theta_0$and $\theta_1$?

假设$\theta_0=1,\theta_1=2$ 我们想同步更新公式:
$\theta_j := \theta_j + \sqrt{\theta_0 \theta_1}$(for j = 0 and j=1)
最后得到$\theta_0,\theta_1$ 的结果是多少


梯度算法详解
其中对于J($\theta_1$)来说由于只有一个自变量所以偏导等于全导,则$d/d\theta_1J(\theta_1)$等于对$\theta_1$求导数,即红色斜线的斜率,斜率为正时X向原点移动 $J(\theta)$值变小,反之增大符合找到MIN这个目的。

α的作用

α 是系数用来调整步幅的大小,即$\theta_1$在X轴移动的距离,如果过小$\theta_1$就会移动一小点距离,这样会使得需要很多次才能到达MIN值,反之如果已经很接近Min值的话过大的步幅会使得$J(\theta_1)$ 的值发散不收敛。


一道例题
如果已经到了MIN值后近一步使用梯度算法会发生什么?

思考过程 :

如果已经到了最小值那么此时斜率为0,也就是式子会变成$\theta_1:= \theta_1 - 0$即保持$\theta_1$不变所以选A

答案是:A


为什么α设置成任意值梯度算法可以不断的优化?

自动优化的梯度算法
当你原来越接近Min值的时候斜率自然越来越趋近于0,也就是说梯度算法公式中的
斜率部分
越来越小这将导致X轴的移动距离越来越小,所有梯度算法会自动的优化趋近于最小值。

总结

梯度算法公式是用来使任意函数趋近于最小值的一种方式,当它作用于代价函数的时候就演变成了算法

标签:02,MIN,梯度,趋近,斜率,算法,theta
来源: https://www.cnblogs.com/cc521524/p/15361226.html