02梯度下降算法

梯度算法

  • 梯度算法公式
    02梯度下降算法
    其中α 表示速率计算步骤优先从右边计算
    注意要保证$\theta_1$和$\theta_0$ 同时计算
    For Example:
    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$ 的结果是多少


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

02梯度下降算法

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


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

思考过程 :

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

答案是:A


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

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

总结

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

上一篇:从CubeMap生成Lambert下的环境辐射率图


下一篇:leetcode 15 三数之和