最优化学习笔记(十四)——共轭梯度法

    共轭梯度法不需要预先给定Q共轭方向,而是随着迭代的进行不断产生Q共轭方向。在每次的迭代中,利用上一个搜索方向和目标函数在当前迭代点的梯度向量 之间的线性组合构造一个新的方向,使其与前边已经产生的搜索方向组成Q共轭方向。对于一个n维二次型函数,沿着Q共轭方向进行搜索,经过n次迭代,即可得到极小点。
    考虑二次型函数:

f(x)=12xTQxxTb,xRn

其中, Q=QT>0。初始点x(0),搜索方向采用最速下降法的方向,即函数fx(0)处梯度的负方向,即:

d(0)=g(0)

产生下一个迭代点:
x(1)=x(0)+α0d(0)

其中,步长为:
α0=argminα0f(x(0)+α0d(0))=g(0)Td(0)d(0)TQd(0)

再展开下一次迭代,搜索方向 d(0) d(1)应该是关于 Q共轭的。推广开来,在 k+1词迭代中:
d(k+1)=g(k+1)+βkd(k),k=0,1,2

按照如下方式选择 βk, 可以使得 d(k+1) d(0),d(1),,d(k)组成 Q共轭方向:
βk=g(k+1)TQd(k)d(k)TQd(k)

共轭梯度法的算法步骤可以归纳如下:

  1. k=0,选择初始值:x(0)
  2. 计算g(0)=f(x(0)),如果g(0)=0,停止。否则:d(0)=g(0).
  3. 计算αk=g(k)Td(k)d(k)TQd(k)
  4. 计算 x(k+1)=x(k)+αkd(k)
  5. 计算g(k+1)=f(x(k+1)),如果g(k+1)=0,停止。
  6. 计算βk=g(k+1)TQd(k)d(k)TQd(k)
  7. 计算d(k+1)=g(k+1)+βkd(k)
  8. k=k+1,回到第3<script type="math/tex" id="MathJax-Element-10156">3</script>步。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/576548.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ElasticSearch filter查询

学习查询之前&#xff0c;我还是老规矩&#xff0c;先准备数据 #Filter查询 #filter是不计算相关性的&#xff0c;同时可以cache.因此&#xff0c;filter速度要快于query. POST /lib5/items/_bulk {"index":{"_id": 1}} {"price": 40,"ite…

SQL Server 2005中的分区表(四):删除(合并)一个分区

在前面我们介绍过如何创建和使用一个分区表&#xff0c;并举了一个例子&#xff0c;将不 同年份的数据放在不同的物理分区表里。具体的分区方式为&#xff1a; 第1个小表&#xff1a;2010-1-1以前的数据&#xff08;不包含2010-1-1&#xff09;。 第2个小表&#xff1a;2010-1-…

最优化学习笔记(十五)——拟牛顿法(1)

拟牛顿法分为五部分来讲&#xff0c;本文这部分作为引言&#xff0c;第二部分讲Hessian矩阵逆矩阵的近似&#xff0c;第三部分秩1修正公式&#xff0c;第四部分为DFP算法&#xff0c;最后BFGS算法。 牛顿法是一种具有较高实用性的优化问题的求解方法。牛顿法如果收敛&…

深入理解java虚拟机 (一) 第二版

前言&#xff1a; Java是目前用户最多、使用范围最广的软件开发技术之一。Java 的技术体系主要由支撑Java程序运行的虚拟机、提供各开发领域接口支持的Java API、 Java编程语言及许多第三方Java框架(如Spring、Struts 等)构成。在国内&#xff0c;有关Java API Java语言语法及…

畅通您的iOS开发之路

随着大家对苹果产品的趋之若鹜&#xff0c;iphone与ipad软件开发的前景也相当广阔。然而&#xff0c;目前精通iOS开发的专业人才却是凤毛麟角。因此&#xff0c;安博中 程在2012年推出重磅课程——“iPhone与iPad开发实战之路——精通iOS开发”高级培训班&#xff0c;为想从事i…

深入理解java虚拟机 (二) 第二版

如何阅读本书 本书-共分为五个部分:走近Java、自动内存管理机制、虛拟机执行子系统、程序编译与代码优化、高效并发。各部分基本上是互相独立的&#xff0c;没有必然的前后依赖关系&#xff0c;读者可以从任何- -个感兴趣的专题开始阅读&#xff0c;但是每个部分中的各个章节间…

最优化学习笔记(十六)——拟牛顿法(2)

Hessian矩阵逆矩阵的近似 一、拟牛顿法的基本思路 令H0,H1,H2,…表示Hessian矩阵逆矩阵F(x(k))−1的一系列近似矩阵。我们要讨论的是这些近似矩阵应该满足的条件&#xff0c;这是拟牛顿法的基础。首先&#xff0c;假定目标函数f的Hessian矩阵F(x)是常数矩阵&#xff0c;与x无关…

tool vmmap 配置符号文件 symbolic file

转载于:https://www.cnblogs.com/titer1/archive/2012/03/21/2410316.html

最优化学习笔记(十七)——拟牛顿法(3)

秩1修正公式 在秩1修正公式中&#xff0c;修正项为αkz(k)z(k)T,αk∈R,z(k)∈Rn,是一个对称矩阵&#xff0c;近似矩阵的更新方程为&#xff1a; Hk1Hkαkz(k)z(k)T\boldsymbol{H}_{k+1} = \boldsymbol{H}_{k} + \alpha_k\boldsymbol{z}^{(k)}\boldsymbol{z}^{(k)T}注意&#…

深入理解java虚拟机 (三) 第二版

参考资料 本书名为“深人理解Java虚拟机”&#xff0c;但要想深人理解虚拟机&#xff0c;仅凭- -本书肯定是远远不够的&#xff0c;读者可以通过以下信息找到更多关于Java虚拟机方面的资料。我在写作此书的时候&#xff0c;也从下面这些参考资料中获得了很大的帮助。. (1)书籍…

memcached 如果进程占用cpu很高

memcached 如果进程占用cpu很高一客户占用到了 25% 把mencache内存大小从32m 改成256m 后 memcached 基本占用cpu 是0可能分配的内存不够用了 大量的新缓存需要进入 同时大量的旧缓存又需要被淘汰出来 导致 一进一出非常频繁 从而导致服务性能下降加大内存吧操作如下&#xff…

最优化学习笔记(十八)——拟牛顿法(4)DFP算法

秩2算法可以保证在任意第k步迭代下, 只要一维搜索是精确的,近似矩阵Hk就是正定的。 DFP算法 令k0,选择初始点x(0)&#xff0c;任意选择一个堆成正定实矩阵H0。如果g(k)0&#xff0c; 停止迭代&#xff1b; 否则&#xff0c;令d(k)−Hkg(k)计算 αkargminα≥0f(x(k)αd(k)…

《深入理解java虚拟机》第1章 走近Java

1.4 Java虚拟机发展史 上一节我们从整个Java技术的角度观察了Java 技术的发展&#xff0c;许多Java程序员都会潜意识地把它与Sun公司的HotSpot虚拟机等同看待&#xff0c;也许还有一些程序员会注意到BEA.JRockit和IBM J9&#xff0c;但对JVM的认识不仅仅只有这些。从1996年初S…

Asp.net报表制作 OpenFlashChart免费图表组件

Asp.net报表制作 OpenFlashChart免费图表组件 OpenFlashChart是一款开源的以Flash和Javascript为技术基础的免费图表组件&#xff0c;用它能创建一些很有效果的报表分析图表。  最重要的是它是开源和免费的&#xff0c;该组件使用flash展示报表能够很好的做到与浏览器进行集成…

使用简单的5个步骤设置 Web服务器集群

通过在多个处理器之间分担工作负载并采用多种软件恢复技术&#xff0c;能够提供高度可用的环境并提高环境的总体 RAS&#xff08;可靠性、可用性和可服务性&#xff09;。可以得到的好处包括&#xff1a;更快地从意外中断中恢复运行&#xff0c;以及将意外中断对终端用户的影响…

最优化学习笔记(十九)——拟牛顿法(5)BFGS算法

一、BFGS算法的更新公式 为了推导BFGS算法&#xff0c;需要用到对偶或者互补的概念&#xff0c;前边已经讨论过hessian矩阵逆矩阵的近似矩阵需要满足以下条件&#xff1a; Hk1Δg(i)Δx(i)0≤i≤k\boldsymbol{H}_{k+1} \Delta\boldsymbol{g}^{(i)} = \Delta\boldsymbol{x}^{(i…

浅谈HotSpot逃逸分析

JIT 即时编译&#xff08;Just-in-time Compilation&#xff0c;JIT&#xff09;是一种通过在运行时将字节码翻译为机器码&#xff0c;从而改善字节码编译语言性能的技术。在HotSpot实现中有多种选择&#xff1a;C1、C2和C1C2&#xff0c;分别对应client、server和分层编译。 …

pku 1611 The Suspects 并查集的应用

http://poj.org/problem?id1611 思路&#xff1a;统计出和0能够联系在一起的点&#xff0c;然后输出其个数 View Code #include <cstdio>#include <iostream>#define maxn 30004using namespace std;int f[maxn],num[maxn];//num记录与0有联系的个数int n,m;int …

Java陷阱(一)——ArrayList.asList

一、问题代码 话不多说&#xff0c;直接上问题代码&#xff1a; package com.pajk.recsys.dk.test;import java.util.ArrayList; import java.util.Arrays; import java.util.List;import com.pajk.recsys.utils.CommonUtils;public class CommonTest {public static List<…

ElasticSearch bool过滤查询

bool过滤查询 可以实现组合过滤查询 格式: { "bool": { "must: 0, "should: O, "must not":0}} must:必须满足的条件---and should:可以满足也可以不满足的条件--or must_ not:不需要满足的条件--not GET /lib5/items/_search { "post_fi…