《最优化方法》——无约束具体算法以及KK

简介: 《最优化方法》——无约束具体算法以及KK

4 无约束具体算法


【机器学习之数学】02 梯度下降法、最速下降法、牛顿法、共轭方向法、拟牛顿法 - wuliytTaotao - 博客园 (cnblogs.com)


4.1最速下降法

梯度方向

  • 某点的梯度方向为该点的等值线的法线方向。
  • 沿着梯度方向增加最快,负梯度方向下降最快。


最速下降法就是沿着负梯度方向进行,下面列出它的一般算法。

image.png


一个求偏导公式的推导

35c56d707f964b1288b83f2c29dbf01d.png


最优步长公式的推导

a2fc0e4020a64093a2a7915b632f2280.png


一维搜索(线性搜索)

  • 非精确一维搜索,就是找到一个alpha满足一定条件即可,好比Wolfe-Powell,Armijo, goldstein条件。
  • 精确一维搜索,就是找到一个参数α,使得min:f(x+αd),有插值法,黄金分割法,直接法等等


缺点

由于最速下降法在相继两次迭代中,搜索方向是相互正交的,可见逼近极小点的路线是锯齿形,而且越靠近极小点步长越小,即越走越慢。


收敛速度较慢,所以它不是使用的算法。


4.2 共轭梯度法

image.png

简单举个例子

向量( 1 , 2 , 3 ) T  关于3阶单位方阵的所有线性无关的共轭向量有_________?

image.png

这个期末只要求了解共轭梯度,并未要求计算。在我看来,其余上面梯度下降法最明显的差异就是采用了共轭方向进行迭代。


4.3 牛顿法

最速下降法本质是用线性函数去近似目标函数,收敛速度较慢,若考虑用二次函数近似目标函数则可以得到收敛速度更快的算法,下面写的牛顿法就是如此。

image.png

这里需要计算黑塞矩阵以及求逆的过程。


4.4 拟牛顿法

参考开头的博文链接。


5 约束优化算法


5.1 KKT

参考下面这篇文章

与KKT有关的一篇相关博文

image.png

5.2 例子

image.png


参考资料

1【书籍】最优化方法——李学文 闫桂峰

2 【书籍】最优化方法基础——专祥涛

目录
相关文章
|
1月前
高等数学II-知识点(3)——广义积分、定积分几何应用、定积分求曲线弧长、常微分方程、可分离变量的微分方程、一阶微分方程-齐次方程、一阶线性微分方程
高等数学II-知识点(3)——广义积分、定积分几何应用、定积分求曲线弧长、常微分方程、可分离变量的微分方程、一阶微分方程-齐次方程、一阶线性微分方程
15 0
|
2月前
|
算法
R语言非线性方程数值分析生物降解、植物生长数据:多项式、渐近回归、米氏方程、逻辑曲线、Gompertz、Weibull曲线(上)
R语言非线性方程数值分析生物降解、植物生长数据:多项式、渐近回归、米氏方程、逻辑曲线、Gompertz、Weibull曲线
|
2月前
R语言非线性方程数值分析生物降解、植物生长数据:多项式、渐近回归、米氏方程、逻辑曲线、Gompertz、Weibull曲线(下)
R语言非线性方程数值分析生物降解、植物生长数据:多项式、渐近回归、米氏方程、逻辑曲线、Gompertz、Weibull曲线
|
2月前
R语言蒙特卡洛计算和快速傅立叶变换计算矩生成函数
R语言蒙特卡洛计算和快速傅立叶变换计算矩生成函数
|
算法 定位技术
最优化方法(最速下降、牛顿法、高斯牛顿法、LM算法)
最优化方法(最速下降、牛顿法、高斯牛顿法、LM算法)
485 0
最优化方法(最速下降、牛顿法、高斯牛顿法、LM算法)
最优化--凸函数--拉格朗日乘子法
最优化--凸函数--拉格朗日乘子法
|
机器学习/深度学习 传感器 算法
【粘菌算法】基于粘菌算法SMA求解单目标优化问题附matlab代码
【粘菌算法】基于粘菌算法SMA求解单目标优化问题附matlab代码
|
机器学习/深度学习 人工智能 算法
【机器学习】支持向量机(SVM)——硬间隔+对偶+KKT条件+拉格朗日乘子(理论+图解+公式推导)
【机器学习】支持向量机(SVM)——硬间隔+对偶+KKT条件+拉格朗日乘子(理论+图解+公式推导)
235 0
【机器学习】支持向量机(SVM)——硬间隔+对偶+KKT条件+拉格朗日乘子(理论+图解+公式推导)
|
算法
F#实现Runge–Kutta算法求解常微分方程
不少工程问题中涉及的微分方程,我们很难求出方程的解析解,或者说根本不存在精确的解析解。此时,我们需要利用电脑,结合数值分析的方法来近似求出微分方程的相关解,并研究其性质。通过求出多个自变量的值,并求出对应的解,那么可以绘制出图形来辅助研究方程的特征。本文将介绍F#实现Runge–Kutta算法求解微分方程。
824 0
F#实现Runge–Kutta算法求解常微分方程