梯度下降法
梯度下降法是一种常见的无约束优化方法,其问题定义为
$$
min f(x),x\in R^n,f在R^n上连续可微
$$
其以负梯度为搜索方向,这是一种非常自然,正确的选择。
简述步骤如下:
给定初始点$x\in dom f$
重复进行:
1.$\Delta x:=-\nabla f(x)$
2.**直线搜索。**确定步长t(通过精确或回溯直线)。
通常t取
$$
t=-\frac{\nabla f(x)^T\Delta x}{(\Delta x)^TA\Delta x},此处A=\nabla ^2 f(x)(即Hessian矩阵)
$$
3.修改。$x:=x+t\Delta x$
直到满足停止准则(大部分情况下,步骤1完成后就检验停止条件,,而不是在修改后才检验。
- 可能会发现梯度下降法和最速下降法步骤相同,但事实上,两者并不完全一样,简单来说采用Euclid 范数的最速下降法就是梯度下降法。
更多可见:
3Blue1Brown的《深度学习之梯度下降法》
Stephen Boyd ,Lieven Vandenberghe的《凸优化》
梯度下降法
https://lijianxiong.work/2021/20210309/