L-BFGS算法(转载)

转载链接:http://blog.csdn.net/itplus/article/details/21897715

前面的拟牛顿法、DFP、BFGS、L-BFGS算法简短总结一下就是:

牛顿法不仅使用了梯度还使用了梯度下降的趋势,所以能加速下降;DFP和BFGS为了弥补牛顿法的不足(海森矩阵必须可逆),它们使用迭代法分别近似海森矩阵的逆和它自身;L-BFGS是为了减小内存开支,用向量代替矩阵(其中用到近似)

注意:这里的算法2.4暂时还不知道如何设计出来的,不过可以取一个较小的m值,一步一步体会一下作者的思路。

时间: 2024-11-07 08:38:39

L-BFGS算法(转载)的相关文章

牛顿法与拟牛顿法学习笔记(四)BFGS 算法

机器学习算法中经常碰到非线性优化问题,如 Sparse Filtering 算法,其主要工作在于求解一个非线性极小化问题.在具体实现中,大多调用的是成熟的软件包做支撑,其中最常用的一个算法是 L-BFGS.为了解这个算法的数学机理,这几天做了一些调研,现把学习过程中理解的一些东西整理出来. 目录链接 (1) 牛顿法 (2) 拟牛顿条件 (3) DFP 算法 (4) BFGS 算法 (5) L-BFGS 算法 作者: peghoty 出处: http://blog.csdn.net/itplus/

优化算法——拟牛顿法之BFGS算法

一.BFGS算法简介 BFGS算法是使用较多的一种拟牛顿方法,是由Broyden,Fletcher,Goldfarb,Shanno四个人分别提出的,故称为BFGS校正. 同DFP校正的推导公式一样,DFP校正见博文"优化算法--拟牛顿法之DFP算法".对于拟牛顿方程: 可以化简为: 令,则可得: 在BFGS校正方法中,假设: 二.BFGS校正公式的推导 令,其中均为的向量.,. 则对于拟牛顿方程可以化简为: 将代入上式: 将代入上式: 已知:为实数,为的向量.上式中,参数和解的可能性有

BFGS算法(转载)

转载链接:http://blog.csdn.net/itplus/article/details/21897443 这里,式(2.38)暂时不知如何证出来,有哪位知道麻烦给个思路.

大白话解析模拟退火算法(转载)

优化算法入门系列文章目录(更新中): 1. 模拟退火算法 2. 遗传算法 一. 爬山算法 ( Hill Climbing ) 介绍模拟退火前,先介绍爬山算法.爬山算法是一种简单的贪心搜索算法,该算法每次从当前解的临近解空间中选择一个最优解作为当前解,直到达到一个局部最优解. 爬山算法实现很简单,其主要缺点是会陷入局部最优解,而不一定能搜索到全局最优解.如图1所示:假设C点为当前解,爬山算法搜索到A点这个局部最优解就会停止搜索,因为在A点无论向那个方向小幅度移动都不能得到更优的解. 图1    

八大排序算法 (转载)

概述 插入排序直接插入排序Straight Insertion Sort 插入排序希尔排序Shells Sort 选择排序简单选择排序Simple Selection Sort 选择排序堆排序Heap Sort 交换排序冒泡排序Bubble Sort 交换排序快速排序Quick Sort 归并排序Merge Sort 桶排序基数排序Radix Sort 总结 概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中

牛顿法|阻尼牛顿法|拟牛顿法|DFP算法|BFGS算法|L-BFGS算法

一直记不住这些算法的推导,所以打算详细点写到博客中以后不记得就翻阅自己的笔记. 泰勒展开式 最初的泰勒展开式,若  在包含  的某开区间(a,b)内具有直到n+1阶的导数,则当x∈(a,b)时,有: 令可得到如下式子: 泰勒展开我的理解就有两个式子. 参考文献:http://baike.baidu.com/link?url=E-D1MzRCjDi8qrlh2Cn64fwtz703bg-h_z2_mOXorti2_3aBKrOUY4-2gHuESowiK8aQSBFE8y0yJeGl4_yOAq

几种流形学习算法-转载

标签: 知识/探索 流形 分类: technic 局部线性嵌入(LLE) 等距映射(Isomap) 拉普拉斯特征映射(Laplacian Eigenmap) 局部线性嵌入(LLE) 前提假设:采样数据所在的低维流形在局部是线性的,即每个采样点可以用它的近邻点线性表示. 求解方法:特征值分解.LLE算法: 计算每一个点Xi的近邻点,一般采用K近邻或者ξ领域. 计算权值Wij,使得把Xi用它的K个近邻点线性表示的误差最小,即通过最小化||Xi-WijXj||来求出Wij. 保持权值Wij不变,求Xi

数据结构图之三(最短路径--迪杰斯特拉算法——转载自i=i++

数据结构图之三(最短路径--迪杰斯特拉算法) [1]最短路径 最短路径?别乱想哈,其实就是字面意思,一个带边值的图中从某一个顶点到另外一个顶点的最短路径. 官方定义:对于内网图而言,最短路径是指两顶点之间经过的边上权值之和最小的路径. 并且我们称路径上的第一个顶点为源点,最后一个顶点为终点. 由于非内网图没有边上的权值,所谓的最短路径其实是指两顶点之间经过的边数最少的路径. 别废话了!整点实际的哈,你能很快计算出下图中由源点V0到终点V8的最短路径吗? [2]迪杰斯特拉算法 迪杰斯特拉算法是按路

浅谈MySQL索引背后的数据结构及算法(转载)

转自:http://blogread.cn/it/article/4088?f=wb1 摘要 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题.特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等.为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论. 文章主要内容分为三个部分. 第一部分主要从数据结

插入算法 转载

插入排序算法是一个对少量元素进行排序的有效算法.插入排序的工作原理与打牌时整理手中的牌的做法类似,开始摸牌时,我们的左手是空的,接着一次从桌上摸起一张牌,并将它插入到左手的正确位置.为了找到这张牌的正确位置,要将它与手中已有的牌从右到左进行比较,无论什么时候手中的牌都是排序好的. JAVA实现该算法如下: 1 public void insertSort(int a[]){ 2 int length=a.length; //数组长度 3 int j; //当前值的位置 4 int i; //指向