今天看了 Nocedal 写的Numerical Optimization 中关于BFGS方法的介绍。

BFGS方法有个近亲,叫做DFP方法。下面先介绍DFP方法。

这个方法的意图是找一种方法对Hessian进行近似,具体是,在迭代的每一步xk+1,让这一步的近似Hessian B能够表示出上一步xk的梯度,同时跟上一步的近似Hessian Bk尽可能相同。

BFGS反其道而行之, 近似Hessian的逆矩阵,其更新公式事实上跟DFP是对偶的。

BFGS方法若初始的B对称正定,且之后每次更新都是根据满足Wolfe条件的一维搜索作出,则可以保证每次更新之后的近似Hessian保持正定。

它可以逐步矫正不准确的Hessian,数值误差,舍入误差等对它影响不大(具体原理我也不清楚)。但这一切都是依赖于满足Wolfe条件的一维搜索。

为了提高效率,需要尽量减少一维搜索的函数求值次数。初始步长设为1,因为一般这样的步长容易被接受,另外可以适当降低一维搜索的精度,不要求准确找到此方向的最小值点。一般参数c1 = 10^-4,   c2 = 0.9 (参数的具体含义见书中相关章节)。

因此,下一步先实现一个一维搜索方法,再实现BFGS。

BFGS方法的更多相关文章

  1. 3D打印:三维智能数字化创造(全彩)

    3D打印:三维智能数字化创造(全彩)(全球第一本系统阐述3D打印与3D智能数字化的专业著作) 吴怀宇 编   ISBN 978-7-121-22063-0 2014年1月出版 定价:99.00元 42 ...

  2. L-BFGS

    L-BFGS算法比较适合在大规模的数值计算中,具备牛顿法收敛速度快的特点,但不需要牛顿法那样存储Hesse矩阵,因此节省了大量的空间以及计算资源.本文主要通过对于无约束最优化问题的一些常用算法总结,一 ...

  3. **ML : ML中的最优化方法

    前言:         在机器学习方法中,若模型理解为决策模型,有些模型可以使用解析方法.不过更一般的对模型的求解使用优化的方法,更多的数据可以得到更多的精度.         AI中基于归纳的方法延 ...

  4. Federated Optimization: Distributed Machine Learning for On-Device Intelligence

    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! arXiv:1610.02527v1 [cs.LG] 8 Oct 2016 坐标下降法:https://blog.csdn.net/qq_ ...

  5. javaSE27天复习总结

    JAVA学习总结    2 第一天    2 1:计算机概述(了解)    2 (1)计算机    2 (2)计算机硬件    2 (3)计算机软件    2 (4)软件开发(理解)    2 (5) ...

  6. 无约束优化算法——牛顿法与拟牛顿法(DFP,BFGS,LBFGS)

    简介:最近在看逻辑回归算法,在算法构建模型的过程中需要对参数进行求解,采用的方法有梯度下降法和无约束项优化算法.之前对无约束项优化算法并不是很了解,于是在学习逻辑回归之前,先对无约束项优化算法中经典的 ...

  7. 【原创】牛顿法和拟牛顿法 -- BFGS, L-BFGS, OWL-QN

    数据.特征和数值优化算法是机器学习的核心,而牛顿法及其改良(拟牛顿法)是机器最常用的一类数字优化算法,今天就从牛顿法开始,介绍几个拟牛顿法算法.本博文只介绍算法的思想,具体的数学推导过程不做介绍. 1 ...

  8. 优化算法-BFGS

    优化算法-BFGS BGFS是一种准牛顿算法, 所谓的"准"是指牛顿算法会使用Hessian矩阵来进行优化, 但是直接计算Hessian矩阵比较麻烦, 所以很多算法会使用近似的He ...

  9. 竞价广告系统-逻辑回归优化方法-L-BFGS

    逻辑回归优化方法-L-BFGS 逻辑回归的优化方法是一个经典的问题,如果我们把它视为一个最大熵模型,那么我们知道最早的优化方法是IIS,这个方法就不细讲了,因为它速度很慢.后来发现在最优化领域中非常常 ...

随机推荐

  1. CSS基础选择器温故-1

    1.基本选择器语法 2.浏览器兼容性:浏览器对基本选择器都是一路绿灯通行,可以放心使用. 3.通配选择器:选择所有元素,也可以选择某个元素下的所有元素 (1)选择所有元素: *{margin: 0;p ...

  2. 换SSD硬盘,重装系统,一阵子忙乱

    许久没重装过系统了,低声下气地问老板要了一块SSD硬盘,不马上安装上手痒得难受,但年底这个时候重装系统绝对忙乱,差点耽误了一份申请表和一份培训记录表.   SSD安装:先从网上找相关贴子,最主要的一个 ...

  3. android拍照选择图片上传服务器自定义控件

    做android项目的时候总免不了遇到图片上传功能,虽然就是调用android系统的拍照和相册选择功能,但是总面部了把一大推代码写在activity里,看上去一大推代码头都昏了.不如把这些功能都集成一 ...

  4. CAS实现单点登入(sso)经典教程

    本教程我已按照步骤实现,不过要深入了解单点登入还需要进一步的学习,掌握其中的精髓. 一.简介 1.cas是有耶鲁大学研发的单点登录服务器 2.本教材所用环境 Tomcat7.2 JDK6 CAS Se ...

  5. Reveal使用步骤和 破解Revealapp的试用时间限制

    下载地址:http://pan.baidu.com/s/1eQstR2M 一.Reveal使用步骤 1.启动Reveal --> Help --> Show Reveal Library ...

  6. iOS之UI--转场动画

    1.什么是转场动画?    就是从一个场景转换到另一个场景,像导航控制器的push效果,就是一个转场.    2.如何创建转场动画    创建转场动画    CATransition *anim = ...

  7. LeetCode 6 ZigZag Conversion(规律)

    题目来源:https://leetcode.com/problems/zigzag-conversion/ The string "PAYPALISHIRING" is writt ...

  8. HTML页面定时跳转方法

    1)html的实现 <head> <meta http-equiv="refresh" content="5;url=hello.html"& ...

  9. 阿里云上安装vsftp笔记

    安装 ftp 1 ssh登录服务器       首先检查有没有安装运行 ps -ef |grep vsftpd         2 yum安装vsftpd        yum安装    yum in ...

  10. java网络---查找Internet

    连接到Internet的设备称为节点,计算机节点称为host. 为了区别每一台连接互联网的计算机,就有了Internet Protocol地址的概念. IPV4 & IPV6 我们以前默认的是 ...