优化算法
文章平均质量分 79
常用的优化算法概述以及实现,这些优化算法包括基于梯度的优化,如GD,newton。还包括一些启发式的优化算法,如GA,ABC,PSO等
zhiyong_will
这个作者很懒,什么都没留下…
展开
-
机器学习中的常见问题——几种梯度下降法
一、梯度下降法在机器学习算法中,对于很多监督学习模型,需要对原始的模型构建损失函数ll,接下来便是通过优化算法对损失函数ll进行优化,以便寻找到最优的参数θ\theta 。在求解机器学习参数θ\theta 的优化算法中,使用较多的是基于梯度下降的优化算法(Gradient Descent, GD)。梯度下降法有很多优点,其中,在梯度下降法的求解过程中,只需求解损失函数的一阶导数,计算的代价比较小,这原创 2015-09-27 14:55:43 · 9584 阅读 · 1 评论 -
liblbfgs中L-BFGS算法的实现
在博文“优化算法——拟牛顿法之L-BFGS算法”中,已经对L-BFGS的算法原理做了详细的介绍,本文主要就开源代码liblbfgs重新回顾L-BFGS的算法原理以及具体的实现过程,在L-BFGS算法中包含了处理L1正则的OWL-QN算法,对于OWL-QN算法的详细原理,可以参见博文“优化算法——OWL-QN”。1、liblbfgs简介liblbfgs是L-BFGS算法的C语言实现,用于求解非线性优原创 2017-08-20 17:27:34 · 7200 阅读 · 4 评论 -
梯度下降优化算法综述
本文翻译自Sebastian Ruder的“An overview of gradient descent optimization algoritms”,作者首先在其博客中发表了这篇文章,其博客地址为:An overview of gradient descent optimization algoritms,之后,作者将其整理完放在了arxiv中,其地址为:An overview of grad翻译 2017-04-14 17:28:56 · 51252 阅读 · 16 评论 -
优化算法——坐标上升法
一、坐标上升法算法原理坐标上升法(Coordinate Ascent)每次通过更新函数中的一维,通过多次的迭代以达到优化函数的目的。假设需要求解的优化问题的具体形式如下:maxαW(α1,α2,⋯,αm)\underset{\alpha }{max}W\left ( \alpha _1,\alpha _2,\cdots ,\alpha _m \right )其中,WW是向量α⃗\vec{\alph原创 2016-04-06 15:00:04 · 16683 阅读 · 1 评论 -
优化算法——OWL-QN
一、L1正则二、OWL-QN算法的思想三、算法实现原创 2015-09-07 09:17:43 · 11639 阅读 · 2 评论 -
优化算法——拟牛顿法之L-BFGS算法
一、BFGS算法 在“优化算法——拟牛顿法之BFGS算法”中,我们得到了BFGS算法的校正公式:利用Sherman-Morrison公式可对上式进行变换,得到令,则得到:二、BGFS算法存在的问题 在BFGS算法中,每次都要存储近似Hesse矩阵,在高维数据时,存储浪费很多的存储空间,而在实际的原创 2015-06-06 17:39:57 · 24713 阅读 · 5 评论 -
优化算法——拟牛顿法之BFGS算法
一、BFGS算法简介 BFGS算法是使用较多的一种拟牛顿方法,是由Broyden,Fletcher,Goldfarb,Shanno四个人分别提出的,故称为BFGS校正。 同DFP校正的推导公式一样,DFP校正见博文“优化算法——拟牛顿法之DFP算法”。对于拟牛顿方程:可以化简为:令,则可得:在B原创 2015-05-20 11:31:14 · 61972 阅读 · 9 评论 -
优化算法——拟牛顿法之DFP算法
一、牛顿法 在博文“优化算法——牛顿法(Newton Method)”中介绍了牛顿法的思路,牛顿法具有二阶收敛性,相比较最速下降法,收敛的速度更快。在牛顿法中使用到了函数的二阶导数的信息,对于函数,其中表示向量。在牛顿法的求解过程中,首先是将函数在处展开,展开式为:其中,,表示的是目标函数在的梯度,是一个向量。,表示的是目标函数在处的Hesse矩阵。省略掉原创 2015-05-19 22:11:04 · 33733 阅读 · 14 评论 -
优化算法——遗传算法
与遗传算法的第一次接触遗传算法的基本概念基本定义遗传算法的基本流程遗传算法过程中的具体操作参数的编码二进制编码Gray编码实数编码有序编码初始群体的设定适应度函数的计算遗传操作设计选择selection交叉crossover变异mutation控制参数的设定求解优化问题的实例问题描述问题分析算法设计个体编码适应值函数选择策略杂交算子变异算子参数设置原创 2015-05-10 17:09:28 · 46678 阅读 · 7 评论 -
优化算法——模拟退火算法
模拟退火算法原理模拟退火算法模拟退火算法过程模拟退火算法流程模拟退火算法的Java实现Java代码最后的结果模拟退火算法原理爬山法是一种贪婪的方法,对于一个优化问题,其大致图像(图像地址)如下图所示: 其目标是要找到函数的最大值,若初始化时,初始点的位置在CC处,则会寻找到附近的局部最大值AA点处,由于AA点出是一个局部最大值点,故对于爬山法来讲,该算法无法跳出局部最大值点。若初始原创 2015-04-30 15:55:43 · 112618 阅读 · 8 评论 -
优化算法——凸优化的概述
一、引言 在机器学习问题中,很多的算法归根到底就是在求解一个优化问题,然而我们的现实生活中也存在着很多的优化问题,例如道路上最优路径的选择,商品买卖中的最大利润的获取这些都是最优化的典型例子,前面也陆续地有一些具体的最优化的算法,如基本的梯度下降法,牛顿法以及启发式的优化算法(PSO,ABC等)。二、凸函数凸函数如下图所示:一个函数是凸函数是它存在最优解的充分必要条件。原创 2015-03-02 15:45:06 · 24406 阅读 · 2 评论 -
优化算法——差分进化算法(DE)
一、差分进化算法的介绍原创 2014-11-18 16:33:45 · 70493 阅读 · 18 评论 -
优化算法——牛顿法(Newton Method)
一、牛顿法概述原创 2014-11-13 22:00:59 · 120327 阅读 · 10 评论 -
优化算法——粒子群算法(PSO)
一、粒子群算法的概述二、粒子群算法的流程原创 2014-06-11 13:48:42 · 177785 阅读 · 41 评论 -
优化算法——人工蜂群算法(ABC)
一、人工蜂群算法的介绍 人工蜂群算法(Artificial Bee Colony, ABC)是由Karaboga于2005年提出的一种新颖的基于群智能的全局优化算法,其直观背景来源于蜂群的采蜜行为,蜜蜂根据各自的分工进行不同的活动,并实现蜂群信息的共享和交流,从而找到问题的最优解。人工蜂群算法属于群智能算法的一种。二、人工蜂群算法的原理 1、原理 标准的ABC算法通过模拟原创 2014-05-18 21:06:38 · 86719 阅读 · 58 评论 -
优化算法——梯度下降法
最近一直在看机器学习的材料,归纳起来就是把一个学习的问题转化为优化的问题,机器学习算法的本质就是如何对问题抽象建模,使一个学习的问题变为一个优化的问题。优化的算法有很多种,从最基本的梯度下降法到现在的一些启发式算法,如遗传算法(GA),差分演化算法(DE),粒子群算法(PSO)和人工蜂群算法(ABC)。梯度下降法又被称为最速下降法(Steepest descend method),其理论基原创 2014-01-10 17:18:51 · 37053 阅读 · 6 评论