仅以此文献给还在努力的自己.


什么是梯度下降法(gradient descent):

:最速下降法,是一个最优化算法

 步骤:


步骤:

确定线性函数h(x)

建立损失函数J(最优化问题的梯度下降 梯度下降法求最优解_机器学习 算法 梯度下降  最优化)

求参数最优化问题的梯度下降 梯度下降法求最优解_损失函数_02.即对J(最优化问题的梯度下降 梯度下降法求最优解_损失函数_02)求偏导数(梯度方向),然后一级一级求,最终求出最优化问题的梯度下降 梯度下降法求最优解_损失函数_02

代入h(x)




简单理解:

       

梯度方向:数值增大最陡的方向

:一元函数,梯度方向为切线增长的方向

 

最优化问题的梯度下降 梯度下降法求最优解_梯度下降法_05

元函数,对,x,y,分别求偏导,由导数组成的向量就是梯度方向


最优化问题的梯度下降 梯度下降法求最优解_机器学习 算法 梯度下降  最优化_06



 

  

 

第一步:建立线性函数h(x)

上面我们知道影响成绩有玩游戏的时间,看书的时间,谈恋爱,当然还有很多其他因素,比如走神时间等等无数个因素,这些因素就叫做因变量,所以我们做出一个估计函数:

     

最优化问题的梯度下降 梯度下降法求最优解_最优化算法_07

此处把所有向量组织成矩阵,采用矩阵的方式进行计算

最优化问题的梯度下降 梯度下降法求最优解_最优化算法_08

 :默认为列矩阵,转秩之后为行矩阵

第二步:建立损失函数,其实就是我们上面的残差平方和RSS

 

最优化问题的梯度下降 梯度下降法求最优解_最优化问题的梯度下降_09






我们的目标是使j()最小,怎么使它最小呢?即minJ()

方法:对求偏导,沿着梯度反方向进行收敛

解释:沿着梯度的方向上升最快,沿着梯度的反方向下降最快

开求:

最优化问题的梯度下降 梯度下降法求最优解_最优化算法_10

   

 

第三步.求最优化问题的梯度下降 梯度下降法求最优解_损失函数_02

:

最优化问题的梯度下降 梯度下降法求最优解_机器学习 算法 梯度下降  最优化_12

:a是步长,即在每次梯度反方向上变化多少

:是向量,有方向,所以我们每次只要沿着梯度的方向进行下降就行,因为这是最快的下降方式.

所谓梯度:

  

最优化问题的梯度下降 梯度下降法求最优解_梯度下降法_13

 ,这个梯度沿x移动

最优化问题的梯度下降 梯度下降法求最优解_损失函数_14

,沿着y移动

最优化问题的梯度下降 梯度下降法求最优解_梯度下降法_15





 

注意:

梯度上升法到达每个点都会被重新估计移动方向.从x0,开始,计算完梯度之后移动到x1,接着再重新计算梯度,移动到x2,直到满足最佳的移动方向.

 

最优化问题的梯度下降 梯度下降法求最优解_梯度下降法_16

 

终止条件:

(1)达到某个制定值

(2)算法达到某个允许的误差

:(1)可能产生局部最小点而不是全局最小点

每次都要计算整个样本,计算量大


最优化问题的梯度下降 梯度下降法求最优解_梯度下降法_17



上上面那个图就是这个图的投影

改进:(随机梯度法):

   

最优化问题的梯度下降 梯度下降法求最优解_梯度下降法_18

 

至此:  我们可以求出

最优化问题的梯度下降 梯度下降法求最优解_机器学习 算法 梯度下降  最优化_19