梯度下降法学习总结

梯度下降法学习总结

梯度下降法简介

梯度下降法是求解无约束优化问题的迭代算法,每一步要求解目标函数的梯度向量。
假设目标函数 f(x) 在实数域上具有一阶连续偏导数,无约束最优化问题为:

minxRnf(x)
。设 x 是目标函数极小值点。选取适当的初值 x(0) ,不断迭代,更新 x 的值,直到梯度收敛/目标函数值收敛/x的值收敛。在迭代的每一步,以负梯度方向更新x的值(因为函数值沿负梯度方向下降最快)。
设第k此迭代值为x(k) f(x) x(k) 附近一阶泰勒展开:
f(x)=f(x(k))+gTk(xx(k))

其中 gk 是f f(x) x(k) 的梯度。
用以下方法求下一次迭代值:
f(x(k)+λk(gk))=minλ0f(x(k)+λ(gk))

求出使得 f(x(k)+λk(gk)) 最小的 λk 后,令
x(k+1)=x(k)+λk(gk)

梯度下降法特点

优点:

实现简单;
目标函数是凸函数时,能达到全局最优。

缺点:

求梯度比较费时,收敛速度一般;
只能解无约束的优化问题;
目标函数非凸时,陷入局部最优。

迭代算法

输入:目标函数 f(x) ,梯度函数 g(x) ,计算精度 ε
输出: f(x) 极小值点 x

  1. k=0 ;随机产生 x(0)R
  2. 计算 x(k) 处的函数值 f(x(k))
  3. 计算 x(k) 处的梯度值 g(x(k)) ;如果 g(x(k))<ε ,停止迭代,令 x=x(k+1) ;否则,求 λk ,使得
    f(x(k)+λk(gk))=minλ0f(x(k)+λ(gk))
  4. x(k+1)=x(k)+λk(gk) ,计算 x(k+1) 处的函数值 f(x(k+1)) ;如果 ||f(x(k+1))f(x(k))||<ε  或者  ||x(k+1)x(k)||<ε ,停止迭代;令 x=x(k+1)
  5. 否则,令 k=k+1 ,转3
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值