梯度下降算法
算法 梯度 下降
2023-09-11 14:20:29 时间
梯度下降算法
今天我们来谈谈梯度下降算法,首先梯度下降算法是干什么的?
学习机器学习的应该都接触过它,梯度下降算法其实也是求解最优化问题的,前面,我们讲过的牛顿法,拉格朗日对偶函数也是求解最优化问题的,不过,拉格朗日对偶函数是求解有约束最优化问题,而牛顿法与梯度下降法是解决无约束最优化问题。
话不多说先给出其数学表达式
在梯度下降算法中原本每迭代一次都要计算一次步长,如果这样的化又变成了一个最优化优化问题,回增加计算开销,所以现在使用梯度下降算法时,一般都将步长设为定值,这样也可以达到收敛的目的,但是这个步长设置也是有要求的。不能太大,否则可能会发散。
其实它本身就是利用了梯度这个特性,梯度的方向会使函数值往大的方向去,那我们就沿跟它相反的方向去改变x。
牛顿法与梯度下降法其实真正的原理在于,我们知道当f(x)导数为零时说明这是极值点,那么现在我们对f(x)进行太累展开,我们知道当泰勒展开x越接近展开的那个点时展开的函数图像在那一点附近与原函数图像越接近,而且也可以认为他们的导数越接近,现在问题来了,如果以x0展开且展开函数h(x),有h’(x0)=0,说明什么?说明在这一点函数图像与原函数很接近几乎重合,且导数为零,那么这一点就应该是原函数的极值点。
所以在迭代的时候抓住两个要求,每次迭代是导数更趋近于零,且X(k+1)更接近Xk.
相关文章
- Byte Pair Encoding and WordPiece Model自词算法详解
- 基于sift变换的图片拼接算法的研究
- 双共轭梯度算法
- C04-算法达人修炼营学习安排及方法指导
- 机器学习算法一览
- 梯度下降算法推导及常见梯度下降算法(FGSGmini-batchSAG)介绍
- 基于Python 实现直线段生成算法和圆弧生成算法【100010592】
- 200万奖金广聚天下算法英雄,第二届广州·琶洲算法大赛要来了!
- Ax = b 的迭代解法 —— 共轭梯度 (算法步骤)
- 【转载】 梯度的直观理解_谈谈优化算法之一(动量法、Nesterov法、自然梯度法)
- 华为OD机试 - 自动曝光(JavaScript) | 机试题+算法思路+考点+代码解析 【2023】
- 华为OD机试 - 环中最长子串(JavaScript) | 机试题+算法思路+考点+代码解析 【2023】
- 华为OD机试 - 素数之积(Java) | 机试题+算法思路+考点+代码解析 【2023】
- 数模 07模拟退火算法(SAA,Simulated annealing algorithm)
- 求解数独回溯算法
- 递归算法浅谈
- 【图像处理】——Python图像分割边缘检测算法之二阶梯度算子(laplace、log、dog算子)
- python算法之组合总和
- (原+译)常见的梯度下降算法
- 机器学习中的梯度下降算法(BGD,SGD,MBGD)
- 梯度下降算法理解(梯度的含义)