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

秩1修正公式

    在秩1修正公式中,修正项为αkz(k)z(k)T,αkR,z(k)Rn,是一个对称矩阵,近似矩阵的更新方程为:

Hk+1=Hk+αkz(k)z(k)T

注意:
rankz(k)z(k)T=rank(z(k)1z(k)2z(k)n[z(k)1,z(k)2,,z(k)n])=1

所以称为秩1修正算法。如果 Hk是对称的,则 Hk+1也是对称的。
    接下来的问题是在给定的 HkΔg(k),Δx(k)的前提下,确定合适的 αk,z(k), 保证:
Hk+1Δg(k)=(Hk+αkz(k)z(k)T)Δg(k)=Δx(k)

注意, z(k)TΔg(k)是一个标量,因此:
Δx(k)HkΔg(k)=(αkz(k)TΔg(k))z(k)(1)

有:
z(k)=Δx(k)HkΔg(k)αk(z(k)TΔg(k))

可得:
αkz(k)z(k)T=(Δx(k)HkΔg(k))(Δx(k)HkΔg(k))Tαk(z(k)TΔg(k))2

那么近似矩阵的中间更新方程为:
Hk+1=Hk+(Δx(k)HkΔg(k))(Δx(k)HkΔg(k))Tαk(z(k)TΔg(k))2(2)

在(1)式两端同乘以 Δg(k)T:
Δg(k)TΔx(k)Δg(k)THkΔg(k)=Δg(k)T(αkz(k)TΔg(k))z(k)

因为 αk,z(k)TΔg(k)=Δg(k)Tz(k)是标量,所以:
Δg(k)TΔx(k)Δg(k)THkΔg(k)=αk(z(k)TΔg(k))2

将上式代入2式可得:
Hk+1=Hk+(Δx(k)HkΔg(k))(Δx(k)HkΔg(k))TΔg(k)T(Δx(k)HkΔg(k))

    根据以上讨论,可得秩1算法的步骤:
1. 令 k=0,选择初始点 x(0),任选一个对称正定实矩阵 H0
2. 如果 g(k)=0,停止迭代,否则,令 d(k)=Hkg(k)
3. 计算
αk=argminα0f(x(k)+αd(k))x(k+1)=x(k)+αd(k))

4.计算
Δx(k)=αd(k)Δg(k)=g(k+1)g(k)Hk+1=Hk+(Δx(k)HkΔg(k))(Δx(k)HkΔg(k))TΔg(k)T(Δx(k)HkΔg(k))

5. 令 k=k+1, 回到第二步。

    需要秩1并不完全令人满意。首先,该算法产生的矩阵Hk+1并不一定是正定的,这将导致d(k+1)可能不是下降方向,其次,如果Δg(k)T(Δx(k)HkΔg(k))接近0,Hk+1可能面临计算困难。

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

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

相关文章

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

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

memcached 如果进程占用cpu很高

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

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

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

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

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

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

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

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

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

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

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

浅谈HotSpot逃逸分析

JIT 即时编译(Just-in-time Compilation,JIT)是一种通过在运行时将字节码翻译为机器码,从而改善字节码编译语言性能的技术。在HotSpot实现中有多种选择:C1、C2和C1C2,分别对应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…

Word2Vec训练同义词模型

一、需求描述 业务需求的目标是识别出目标词汇的同义词和相关词汇&#xff0c;如下为部分目标词汇(主要用于医疗问诊)&#xff1a; 尿 痘痘 发冷 呼吸困难 恶心 数据源是若干im数据&#xff0c;那么这里我们选择google 的word2vec模型来训练同义词和相关词。 二、数据处理…

ElasticSearch 聚合查询

价格总和&#xff1a; 1,使用aggs 2,自己起个名字price_of_sum 3,求和sum 4&#xff0c;filed要求和的字段 GET /lib5/items/_search {"aggs": {"price_of_sum": {"sum": {"field": "price"}}} }聚合查询结果&#x…

hdu Candy Sharing Game

http://acm.hdu.edu.cn/showproblem.php?pid1034 模拟题 View Code 1 #include<iostream> 2 using namespace std; 3 int a[100000]; 4 int b[100000];//a的一半 5 int n; 6 int main() 7 { 8 while(cin>>n && n) 9 {10 int i;11 …

Spark下的word2vec模型训练

一、引言 前边一节介绍了Word2Vec模型训练同义词&#xff0c;那么在大数据量的情况下&#xff0c;我们自然想到了用spark来进行训练。下面就介绍我们是如何实现spark上的模型训练。 二、分词 模型训练的输入是分好词的语料&#xff0c;那么就得实现spark上的分词。 def split…

ElasticSearch 复合查询

使用bool查询 接收以下参数: must:文档必须匹配这些条件才能被包含进来。 must _not:文档必须不匹配这些条件才能被包含进来。 should:如果满足这些语句中的任意语句&#xff0c;将增加。score, 否则&#xff0c;无任何影响。它们主要用于修正每个文档的相关性得分。 filter:必…

对DataTable的一些解释

最经做导入导出Excel时&#xff0c;经常操作DataTable&#xff0c;DataSet&#xff0c;就按自己的需求对他们的一些常用的东西进行了一下总结。 一、DataTable简介 (1)构造函数 DataTable() 不带参数初始化DataTable 类的新实例。 DataTable(string …

最优化学习笔记(二十)——全局搜索算法

一、引言 前边的博文我们讨论过一些迭代算法&#xff0c;包括梯度方法、牛顿法、共轭梯度法和拟牛顿法&#xff0c;能够从初始点出发&#xff0c;产生一个迭代序列&#xff0c;但是往往这些迭代序列只能收敛到局部极小点&#xff0c;而且这些迭代方法需要计算目标函数的一阶导数…

Elasticsearch查询性能优化

constant_score的用处 当我们不关心检索词频率TF&#xff08;Term Frequency&#xff09;对搜索结果排序的影响时&#xff0c;可以使用constant_score将查询语句query或者过滤语句filter包装起来。 检索词频率&#xff1a;检索词在该字段出现的频率。出现频率越高&#xff0c…

Doc2Vec训练相似文章识别模型

一、需求描述 由于在平台上发布的文章是来源于不同渠道和作者的&#xff0c;发布的文章也存在一定程度上的抄袭或者太相似。为了避免对用户体验造成影响&#xff0c;避免不必要的文章费用支出&#xff0c;需要识别出哪些文章是相似的。数据源是若干文章&#xff08;中文&#x…