4.牛顿法和拟牛顿算法
来源:互联网 发布:hive sql与sql对比 编辑:程序博客网 时间:2024/05/18 16:38
1. 我们用一个图来解释扭断算法的基本实现:
由图中可知:
更一般地:
这就是牛顿法的一次迭代。现在这个算法可以得到一个值,使得;
2. 上面论述的是牛顿法的几何意义,下面我们从代数的角度来论述下牛顿法:
考虑无约束最优化问题:
(B,1)
其中为目标函数的极小值
假设f(x)具有二阶连续导数,若第k次迭代值为,这可以将f(x)在附近进行二次泰勒展开。
(B.2)
这里, 是f(x)的梯度向量在的值,H()是f(x)的Hessian矩阵:
(B.3)
在点 的值,函数f(x)有极值的必要条件是在极值点处有一阶导数为0,即梯度向量为0,特别是当H()是正定矩阵时,函数f(x)的极值为极小值。
在点 的值,函数f(x)有极值的必要条件是在极值点处有一阶导数为0,即梯度向量为0,特别是当H()是正定矩阵时,函数f(x)的极值为极小值。
牛顿法利用极小值点的必要条件:
每次迭代中从点 开始,求目标函数的极小值,作为第k+1次迭代值,具体地,假设满足:
(B.5)
由(B.2)有:
既有
(B.6)
其中,这样,由(B.6)可知
(B.7)
其中,(B.10)
用式(B.8)作为迭代公式的算法就是牛顿法。
拟牛顿法的思路
在牛顿法的迭代中,需要计算Hessian矩阵的逆矩阵,这一计算比较复杂,考虑用一个n阶矩阵来近似替代,这既是拟牛顿的基本想法。
根据(B.6)我们知道:
所以:
则:
(B.11)
记,,则:
(B.12)
(B.13)
(B.12)或(B.13)称为拟牛顿条件。
如果 是正定的(),那么可以保证牛顿法搜索方向是下降方向,这是因为搜索方向是,其中,由式(B.8)有:
(B.14)
所以f(x)在处的泰勒展开式(B.2)可以近似写成:
因为是正定的。故有.当是一个充分小的正数时,总有也就是说是下降方向。
拟牛顿法将作为的近似,要求矩阵满足同样的条件。首先,每次迭代矩阵是正定的,同时由于满足(B.13)即,所以我们可以假定也满足这个式子,既有:
按照拟牛顿条件,再每次迭代中可以选择更新矩阵:
这种选择具有一定的灵活性,因此有多种具体的实现方法。主要包括DFP,BFGS算法等
- 4.牛顿法和拟牛顿算法
- 优化算法——牛顿法和拟牛顿法
- 牛顿法和拟牛顿法
- 牛顿法和拟牛顿法
- 牛顿法和拟牛顿法
- 牛顿法和拟牛顿法
- 牛顿法和拟牛顿法
- 牛顿法和拟牛顿法
- 牛顿法和拟牛顿法相关
- 梯度-牛顿-拟牛顿优化算法和实现
- 梯度-牛顿-拟牛顿优化算法和实现
- 机器学习--梯度-牛顿-拟牛顿优化算法和实现
- 拟牛顿法中的DFP算法和BFGS算法
- 优化方法之 牛顿法和拟牛顿法
- 统计学习方法-牛顿法和拟牛顿法
- 梯度下降法和拟牛顿法(三):牛顿法和拟牛顿法
- 拟牛顿算法
- 优化算法:牛顿法
- 洛谷 P3389 高斯消元模板题
- Oracle常用知识点
- 第二讲:操作系统运行环境
- 请写一段 PHP 代码 ,确保多个进程同时写入同一个文件成功
- codeforces 864C
- 4.牛顿法和拟牛顿算法
- THE compile of serveral files
- 浏览器访问常见状态码
- Oracle归档模式下恢复-数据库完全恢复方法实例2
- Java 启动NewFixedThreadPool分段查找数组内最大值
- 在一个栈上调用构造函数 好牛逼呀
- django表单
- 2017年09月23日普级组 看电影
- 关于beautifulsoup的一个bug 由于<!–[if lte IE 6]><![endif]–>无法正常解析标签)