机器学习_最优化算法_梯度下降

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


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

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

 步骤:

步骤:

      1.确定线性函数h(x)

      2.建立损失函数J()

      3.求参数.即对J()求偏导数(梯度方向),然后一级一级求,最终求出

      4.代入h(x)


简单理解:

       

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

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

 

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


 

  

 

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

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

     

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

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

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

 

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

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

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

开求:

   

 

第三步.求

     公式:

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

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

所谓梯度:

   ,这个梯度沿x移动,沿着y移动

 

注意:

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

 

 

终止条件:

(1)达到某个制定值

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

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

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


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

改进:(随机梯度法):

   

 

至此:  我们可以求出




注:部分图片来源于网络.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值