python使用梯度下降和牛顿法寻找Rosenbrock函数最小值实例

上传者: 38691742 | 上传时间: 2021-11-23 17:10:22 | 文件大小: 167KB | 文件类型: -
br c enb
Rosenbrock函数的定义如下: 其函数图像如下: 我分别使用梯度下降法和牛顿法做了寻找Rosenbrock函数的实验。 梯度下降 梯度下降的更新公式: 图中蓝色的点为起点,橙色的曲线(实际上是折线)是寻找最小值点的轨迹,终点(最小值点)为 (1,1)(1,1)。 梯度下降用了约5000次才找到最小值点。 我选择的迭代步长 α=0.002α=0.002,αα 没有办法取的太大,当为0.003时就会发生振荡: 牛顿法 牛顿法的更新公式: Hessian矩阵中的每一个二阶偏导我是用手算算出来的。 牛顿法只迭代了约5次就找到了函数的最小值点。 下面贴出两个实验的代码。 梯度下降:

文件下载

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明