一、牛顿法
在博文“优化算法——牛顿法(Newton
Method)”中介绍了牛顿法的思路,牛顿法具有二阶收敛性,相比较最速下降法,收敛的速度更快。在牛顿法中使用到了函数的二阶导数的信息,对于函数,其中表示向量。在牛顿法的求解过程中,首先是将函数在处展开,展开式为:
其中,,表示的是目标函数在的梯度,是一个向量。,表示的是目标函数在处的Hesse矩阵。省略掉...
分类:
编程语言 时间:
2015-05-19 22:37:25
阅读次数:
493
拟牛顿法(Quasi-Newton Methods)是求解非线性优化问题最有效的方法之一,于20世纪50年代由美国Argonne国家实验室的物理学家W. C. Davidon所提出来。Davidon设计的这种算法在当时看来是非线性优化领域最具创造性的发明之一。不久R.
Fletcher和M. J. D. Powell证实了这种新的算法远比其他方法快速和可靠,使得非线性优化这门学科在一夜之间突飞...
分类:
编程语言 时间:
2015-04-26 21:14:19
阅读次数:
224
L-BFGS算法由于其高效的性能而被广泛运用在实际工程中,本文首先介绍L-BFGS算法和其它算法的比较,然后详细介绍该算法的主要思想以及每一步迭代时近似矩阵的更新细节。...
分类:
编程语言 时间:
2014-11-27 10:48:46
阅读次数:
214
L-BFGS算法比较适合在大规模的数值计算中,具备牛顿法收敛速度快的特点,但不需要牛顿法那样存储Hesse矩阵,因此节省了大量的空间以及计算资源。本文主要通过对于无约束最优化问题的一些常用算法总结,一步步的理解L-BFGS算法,本文按照最速下降法 - 牛顿法 - 共轭梯度法 - 拟牛顿法 - DFP...
分类:
其他好文 时间:
2014-10-14 17:37:39
阅读次数:
349
本文就拟牛顿法L-BFGS的由来做一个简要的回顾,然后就其在spark mllib中的实现进行源码走读。
分类:
其他好文 时间:
2014-08-25 20:55:34
阅读次数:
2698
这个小程序是研一上学期的“工程优化”课程的大作业。其实这题本可以用 MATLAB 实现,但是我为了锻炼自己薄弱的编码能力,改为用 C 语言实现。这样,就得自己实现矩阵的运算(加减乘除、求逆、拷贝);难点是求偏导,通过查资料,发现可以通过导数定义,即取极限的方法,来逐步逼近求得梯度;另外,没法做到输入...
分类:
其他好文 时间:
2014-07-21 08:19:43
阅读次数:
376
在机器学习中,模型的训练是一个很重要的过程,它通常是对一个目标函数进行优化,从而获取模型的参数,比较常见的优化算法包括梯度下降法、牛顿法与拟牛顿法等。但在大数据的背景下,尤其对于并行实现来说,优化算法通常是越简单越好,如坐标下降法(CD)和随机梯度下降法(SCG)就比较受欢迎。本文是阅读完论文 Distributed Coordinate Descent Method for Learning with Big Data 的一则笔记,主要介绍算法 Hydra (一种分布式坐标下降法)的算法框架、收敛性理论、...
分类:
其他好文 时间:
2014-06-29 07:38:26
阅读次数:
350
机器学习算法中经常碰到非线性优化问题,如 Sparse Filtering
算法,其主要工作在于求解一个非线性极小化问题。在具体实现中,大多调用的是成熟的软件包做支撑,其中最常用的一个算法是
L-BFGS。为了解这个算法的数学机理,这几天做了一些调研,现把学习过程中理解的一些东西整理出来。目录链接....
分类:
其他好文 时间:
2014-06-02 07:28:41
阅读次数:
197
机器学习算法中经常碰到非线性优化问题,如 Sparse Filtering
算法,其主要工作在于求解一个非线性极小化问题。在具体实现中,大多调用的是成熟的软件包做支撑,其中最常用的一个算法是
L-BFGS。为了解这个算法的数学机理,这几天做了一些调研,现把学习过程中理解的一些东西整理出来。目录链.....
分类:
其他好文 时间:
2014-06-02 07:28:03
阅读次数:
210
机器学习算法中经常碰到非线性优化问题,如 Sparse Filtering
算法,其主要工作在于求解一个非线性极小化问题。在具体实现中,大多调用的是成熟的软件包做支撑,其中最常用的一个算法是
L-BFGS。为了解这个算法的数学机理,这几天做了一些调研,现把学习过程中理解的一些东西整理出来。目录链接(...
分类:
其他好文 时间:
2014-06-02 07:27:27
阅读次数:
274