优化算法_优化算法综述 - CSDN
优化算法 订阅
《最优化理论与算法》是2005年由清华大学出版社出版的图书,作者是陈宝林。 展开全文
《最优化理论与算法》是2005年由清华大学出版社出版的图书,作者是陈宝林。
信息
作    者
陈宝林
定    价
¥38.00
又    名
最优化理论与算法(第2版)
书    名
最优化理论与算法
出版时间
2005年10月
出版社
清华大学出版社
ISBN
9787302113768 [十位:7302113769]
页    数
468
最优化理论与算法内容简介
本书是陈宝林教授在多年实践基础上编著的.书中包括线性规划单纯形方法、对偶理论、灵敏度分析、运输问题、内点算法、非线性规划KKT条件、无约束最优化方法、约束最优化方法、整数规划和动态规划等内容.本书含有大量经典的和新近的算法,有比较系统的理论分析,实用性比较强;定理的证明和算法的推导主要以数学分析和线性代数为基础,比较简单易学.本书可以作为运筹学类课程的教学参考书,也可供应用数学工作者和工程技术人员参考。
收起全文
精华内容
参与话题
  • 几种优化算法(求最优解)

    万次阅读 2018-01-04 17:39:49
    几种优化算法,先简单备注下,今后接触到再看: 参考资料: http://blog.sina.com.cn/s/blog_6a1bf1310101hhta.html

    几种优化算法,先简单备注下,今后接触到再看:


    参考资料:

    http://blog.sina.com.cn/s/blog_6a1bf1310101hhta.html

    展开全文
  • 各种优化算法对比总结

    千次阅读 2018-03-28 14:00:56
    前言这里讨论的优化问题指的是,给定目标函数f(x),我们需要找到一组参数x,使得f(x)的值最小。本文以下内容假设读者已经了解机器学习基本知识,和梯度下降的原理。SGDSGD指stochastic gradient descent,即随机梯度...

    前言

    这里讨论的优化问题指的是,给定目标函数f(x),我们需要找到一组参数x,使得f(x)的值最小。

    本文以下内容假设读者已经了解机器学习基本知识,和梯度下降的原理。

    SGD

    SGD指stochastic gradient descent,即随机梯度下降。是梯度下降的batch版本。

    对于训练数据集,我们首先将其分成n个batch,每个batch包含m个样本。我们每次更新都利用一个batch的数据,而非整个训练集。即: 

    xt+1=xt+Δxtxt+1=xt+Δxt

    Δxt=ηgtΔxt=−ηgt

    其中,ηη为学习率,gtgt为x在t时刻的梯度。

    这么做的好处在于:

    • 当训练数据太多时,利用整个数据集更新往往时间上不显示。batch的方法可以减少机器的压力,并且可以更快地收敛。
    • 当训练集有很多冗余时(类似的样本出现多次),batch方法收敛更快。以一个极端情况为例,若训练集前一半和后一半梯度相同。那么如果前一半作为一个batch,后一半作为另一个batch,那么在一次遍历训练集时,batch的方法向最优解前进两个step,而整体的方法只前进一个step。

    Momentum

    SGD方法的一个缺点是,其更新方向完全依赖于当前的batch,因而其更新十分不稳定。解决这一问题的一个简单的做法便是引入momentum。

    momentum即动量,它模拟的是物体运动时的惯性,即更新的时候在一定程度上保留之前更新的方向,同时利用当前batch的梯度微调最终的更新方向。这样一来,可以在一定程度上增加稳定性,从而学习地更快,并且还有一定摆脱局部最优的能力: 

    Δxt=ρΔxt1ηgtΔxt=ρΔxt−1−ηgt

    其中,ρρ 即momentum,表示要在多大程度上保留原来的更新方向,这个值在0-1之间,在训练开始时,由于梯度可能会很大,所以初始值一般选为0.5;当梯度不那么大时,改为0.9。ηη 是学习率,即当前batch的梯度多大程度上影响最终更新方向,跟普通的SGD含义相同。ρρ 与 ηη 之和不一定为1。

    Nesterov Momentum

    这是对传统momentum方法的一项改进,由Ilya Sutskever(2012 unpublished)在Nesterov工作的启发下提出的。

    其基本思路如下图(转自Hinton的coursera公开课lecture 6a):

    Nesterov Momentum

    首先,按照原来的更新方向更新一步(棕色线),然后在该位置计算梯度值(红色线),然后用这个梯度值修正最终的更新方向(绿色线)。上图中描述了两步的更新示意图,其中蓝色线是标准momentum更新路径。

    公式描述为: 

    Δxt=ρΔxt1ηΔf(xt+ρΔxt1)Δxt=ρΔxt−1−ηΔf(xt+ρΔxt−1)

    Adagrad

    上面提到的方法对于所有参数都使用了同一个更新速率。但是同一个更新速率不一定适合所有参数。比如有的参数可能已经到了仅需要微调的阶段,但又有些参数由于对应样本少等原因,还需要较大幅度的调动。

    Adagrad就是针对这一问题提出的,自适应地为各个参数分配不同学习率的算法。其公式如下: 

    Δxt=ηtτ=1g2τ+ϵgtΔxt=−η∑τ=1tgτ2+ϵgt

    其中gtgt 同样是当前的梯度,连加和开根号都是元素级别的运算。etaeta 是初始学习率,由于之后会自动调整学习率,所以初始值就不像之前的算法那样重要了。而ϵϵ是一个比较小的数,用来保证分母非0。

    其含义是,对于每个参数,随着其更新的总距离增多,其学习速率也随之变慢。

    Adadelta

    Adagrad算法存在三个问题

    • 其学习率是单调递减的,训练后期学习率非常小
    • 其需要手工设置一个全局的初始学习率
    • 更新xtxt时,左右两边的单位不同一

    Adadelta针对上述三个问题提出了比较漂亮的解决方案。

    首先,针对第一个问题,我们可以只使用adagrad的分母中的累计项离当前时间点比较近的项,如下式: 

    E[g2]t=ρE[g2]t1+(1ρ)g2tE[g2]t=ρE[g2]t−1+(1−ρ)gt2

    Δxt=ηE[g2]t+ϵgtΔxt=−ηE[g2]t+ϵgt

    这里ρρ是衰减系数,通过这个衰减系数,我们令每一个时刻的gtgt随之时间按照ρρ指数衰减,这样就相当于我们仅使用离当前时刻比较近的gtgt信息,从而使得还很长时间之后,参数仍然可以得到更新。

    针对第三个问题,其实sgd跟momentum系列的方法也有单位不统一的问题。sgd、momentum系列方法中: 

    Δxgfx1xΔx的单位∝g的单位∝∂f∂x∝1x的单位

    类似的,adagrad中,用于更新ΔxΔx的单位也不是x的单位,而是1。

    而对于牛顿迭代法: 

    Δx=H1tgtΔx=Ht−1gt

    其中H为Hessian矩阵,由于其计算量巨大,因而实际中不常使用。其单位为: 
    ΔxH1gfx2f2xxΔx∝H−1g∝∂f∂x∂2f∂2x∝x的单位

    注意,这里f无单位。因而,牛顿迭代法的单位是正确的。

    所以,我们可以模拟牛顿迭代法来得到正确的单位。注意到: 

    Δx=fx2f2x12f2x=ΔxfxΔx=∂f∂x∂2f∂2x⇒1∂2f∂2x=Δx∂f∂x

    这里,在解决学习率单调递减的问题的方案中,分母已经是fx∂f∂x的一个近似了。这里我们可以构造ΔxΔx的近似,来模拟得到H1H−1的近似,从而得到近似的牛顿迭代法。具体做法如下: 
    Δxt=E[Δx2]t1E[g2]t+ϵgtΔxt=−E[Δx2]t−1E[g2]t+ϵgt

    可以看到,如此一来adagrad中分子部分需要人工设置的初始学习率也消失了,从而顺带解决了上述的第二个问题。

    各个方法的比较

    Karpathy做了一个这几个方法在MNIST上性能的比较,其结论是: 
    adagrad相比于sgd和momentum更加稳定,即不需要怎么调参。而精调的sgd和momentum系列方法无论是收敛速度还是precision都比adagrad要好一些。在精调参数下,一般Nesterov优于momentum优于sgd。而adagrad一方面不用怎么调参,另一方面其性能稳定优于其他方法。

    实验结果图如下:

    Loss vs. Number of examples seen 
    Loss vs. Number of examples seen

    Testing Accuracy vs. Number of examples seen 
    Testing Accuracy vs. Number of examples seen

    Training Accuracy vs. Number of examples seen这里写图片描述

    其他总结文章

    最近看到了一个很棒的总结文章,除了本文的几个算法,还总结了RMSProp跟ADAM(其中ADAM是目前最好的优化算法,不知道用什么的话用它就对了)

    展开全文
  • 常用优化算法介绍

    万次阅读 2018-08-24 22:49:52
    我们把解决此类优化问题的方法叫做优化算法优化算法本质上是一种数学方法,常见的优化算法包括梯度下降法、牛顿法、Momentum、Nesterov Momentum、Adagrad、Adam等。其实大部分机器学习算法...

    作者:Walker

    在机器学习的世界中,通常我们会发现有很多问题并没有最优的解,或是要计算出最优的解要花费很大的计算量,面对这类问题一般的做法是利用迭代的思想尽可能的逼近问题的最优解。我们把解决此类优化问题的方法叫做优化算法,优化算法本质上是一种数学方法,常见的优化算法包括梯度下降法、牛顿法、Momentum、Nesterov Momentum、Adagrad、Adam等。其实大部分机器学习算法的本质都是建立优化模型,通过优化算法对损失函数(优化的目标函数)进行优化,从而训练出最好的模型。

    (1)梯度下降法:
    梯度下降法是最常用的一种优化算法。其核心思想是:在当前位置寻找梯度下降最快的方向,来逐渐逼近优化的目标函数。且离目标函数越近,逼近的“步伐”也就越小。梯度下降法本质是一种迭代方法,常用于机器学习算法的模型参数求解。其示意图如下图1所示:

    图1梯度下降法

    梯度下降法的更新公式为:

    其中α为梯度上每次逼近的步长,前边的“-”表示搜索方向为负梯度的方向,L我损失函数。算法更新终止的条件是梯度向量接近于0即可。此外需要特别注意的是,梯度下降法不一定能够找到全局的最优解,很有可能找到的是一个局部最优解。

    (2)梯度下降法的变式

    通常基于梯度的下降方法又有很多变式,我们主要为大家介绍:随机梯度下降法(SDG)、Momentum、Nesterov Momentum、Adagrad、Adam。

    随机梯度下降法是每次使用一批数据进行梯度的计算,而非计算全部数据的梯度,因为如果每次计算全部数据的梯度,会导致运算量加大,运算时间变长,容易陷入局部最优解,而随机梯度下降可能每次不是朝着真正最小的方向,这样反而可以跳出局部的最优解。

    Momentum是在随机梯度下降法的基础上,增加了动量(Momentum)的技术。其核心是通过优化相关方向的训练和弱化无关方向的振荡,来加速SGD训练。Momentum的方法能够在一定程度上缓解随机梯度下降法收敛不稳定的问题,并且有一定的摆脱陷入局部最优解的能力。

    Nesterov Momentum是基于Momentum的加速算法,相比于传统的动量算法,最大的优化是计算经过动量更新之后的位置梯度。

    Adagrad即adaptive gradient,是一种自适应学习率的梯度法。它通过记录并调整每次迭代过程中的前进方向和距离,使得针对不同问题都有一套自适应学习率的方法。Adagrad最大的优势是不需要手动来调整学习率,但与此同时会降低学习率。

    Adam即Adaptive Moment Estimation,是能够自适应时刻的估计方法,能够针对每个参数,计算自适应学习率。这是一种综合性的优化方法,在机器学习实际训练中,往往能够取得不错的效果。

    (3)牛顿法和拟牛顿法

    与上述梯度类型的优化算法最大的不同是,牛顿法是一种二阶收敛算法,所以它的收敛速度相较于一阶算法会更快。牛顿法二阶的意义在于它不仅会沿着梯度最大的方向下降,还会考虑走的下一步坡度是不是也很大,它能够以较远的目光全局的逼近目标函数。其算法的具体步骤为:

    1.首先选择接近于函数f(x)的零点x0,并计算f(x0)处的斜率f’(x0)。然后我们求解以下方程,得到比刚刚的x0更加准确的解x1。

    2.接下来我们利用x1进行下一轮的迭代,迭代公式如下所示。这样经过反复的迭代过程,我们便能取得函数f(x)的最优解。

    牛顿法的迭代示意图如下所示:

    图2 牛顿法

    虽然牛顿法相较于梯度下降法等优化算法收敛速度更快,但每一步都需要求解复杂的Hessian矩阵,计算非常不易。所以后来美国Argonne国家实验室的物理学家W.C.Davidon又针对牛顿法计算复杂的缺陷提出了拟牛顿法。它的核心思想是使用正定矩阵来近似Hessian矩阵的逆,从而简化了运算的复杂。另外,因为拟牛顿法不需要二阶导数的信息,所以现在拟牛顿法在机器学习实际问题中应用更加的广泛。

    【总结】:除了以上几类较为常见的优化算法以外,还有共轭梯度法、启发式优化算法等。在实际的机器学习问题中,往往需要具体问题具体分析,根据每类优化问题的特征,选择合适的优化算法。

    展开全文
  • 优化算法——常见优化算法分类及总结

    万次阅读 多人点赞 2018-10-27 12:54:53
    之前做特征选择,实现过基于群智能算法进行最优化的搜索,看过一些群智能优化算法的论文,在此做一下总结。 最优化问题  在生活或者工作中存在各种各样的最优化问题,比如每个企业和个人都要考虑的一个问题“在...

    之前做特征选择,实现过基于群智能算法进行最优化的搜索,看过一些群智能优化算法的论文,在此做一下总结。

    最优化问题

      在生活或者工作中存在各种各样的最优化问题,比如每个企业和个人都要考虑的一个问题“在一定成本下,如何使利润最大化”等。最优化方法是一种数学方法,它是研究在给定约束之下如何寻求某些因素(的量),以使某一(或某些)指标达到最优的一些学科的总称。

      工程设计中最优化问题(optimalization problem)的一般提法是要选择一组参数(变量),在满足一系列有关的限制条件(约束)下,使设计指标(目标)达到最优值。因此,最优化问题通常可以表示为数学规划形式的问题。进行工程优化设计时,应将工程设计问题用上述形式表示成数学问题,再用最优化的方法求解。这项工作就是建立优化设计的数学模型。

    optimalization

      
      最优化问题分为函数优化问题和组合优化问题两大类,其中函数优化的对象是一定区间的连续变量,而组合优化的对象则是解空间中的离散状态。其中典型的组合优化问题有旅行商(Traveling salesman problem,TSP)问题、加工调度问题(Scheduling problem,如Flow-shop,Job-shop)、0-1背包问题(Knapsack problem)、装箱问题(Bin packing problem)、图着色问题(Graph coloring problem)、聚类问题(Clustering problem)等。

    最优化算法

    根据自己对最优化的理解,采用最优化算法解决实际问题主要分为下列两步:

    • 建立数学模型。对可行方案进行编码(变量),约束条件以及目标函数的构造。
    • 最优值的搜索策略。在可行解(约束条件下)搜索最优解的方法,有穷举、随机和启发式搜索方法。

    最优化算法有三要素:变量(Decision Variable)、约束条件(Constraints)和目标函数(Objective function)。最优化算法,其实就是一种搜索过程或规则,它是基于某种思想和机制,通过一定的途径或规则来得到满足用户要求的问题的解。

    优化问题相关算法有如下分类:

    优化算法

    精确算法(绝对最优解)

    精确算法包括线性规划、动态规划、整数规划和分支定界法等运筹学中的传统算法,其算法计算复杂性一般很大,只适合于求解小规模问题,在工程中往往不实用。

    启发式算法(近似算法)

      启发式方法指人在解决问题时所采取的一种根据经验规则进行发现的方法。其特点是在解决问题时,利用过去的经验,选择已经行之有效的方法,而不是系统地、以确定的步骤去寻求答案。

    领域搜索算法。从任一解出发,对其领域的不断搜索和当前解的替换来实现优化。根据搜索行为,它又可分为局部搜索法和指导性搜索法。

    • 局部领域搜索法(也称爬山法)。以局部优化策略在当前解的领域中贪婪搜索,如只接受优于当前解的状态作为下一当前解的爬山法;接受当前邻域中的最好解作为下一当前解的最陡下降法等。

    • 指导性搜索法。利用一些指导规则来指导整个解空间中优良解的探索,如SA、GA、EP、ES和TS等.

    个体启发(寻找相对最优)

    特点:每次输出的是相同的。从一个解开始,寻找最优,易陷入局部最优。

    爬山算法

    算法思想:从当前的节点开始,和周围的邻居节点的值进行比较。如果当前节点是最大的,那么返回当前节点,作为最大值(即山峰最高点);反之就用最高的邻居节点替换当前节点,从而实现向山峰的高处攀爬的目的。

    其实就是,在初始值的附近,找到最大的一个。

    • 优点

      • 容易理解,容易实现,具有较强的通用性;
      • 局部开发能力强,收敛速度很快
    • 缺点

      • 全局开发能力弱,只能搜索到局部最优解;
      • 搜索结果完全依赖于初始解和邻域的映射关系。

    禁忌算法(Tabu Search,TS)

    基本思想:基于爬山算法的改进,标记已经解得的局部最优解或求解过程,并在进一步的迭代中避开这些局部最优解或求解过程。局部搜索的缺点在于,太过于对某一局部区域以及其邻域的搜索,导致一叶障目。为了找到全局最优解,禁忌搜索就是对于找到的一部分局部最优解,有意识地避开它,从而或得更多的搜索区域

    • 特点:

      • 避免在搜索过程中的循环
      • 只进不退的原则,通过禁忌表实现
      • 不以局部最优作为停止准则
      • 邻域选优的规则模拟了人类的记忆功能
    • 禁忌表:用于防止搜索出现循环

      • 记录前若干步走过的点、方向或目标值,禁止返回
      • 表是动态更新的
      • 表的长度称为Tabu-Size
    • 禁忌表的主要指标(两项指标)

      • 禁忌对象:禁忌表中被禁的那些变化元素
      • 禁忌长度:禁忌的步数
    • 禁忌对象(三种变化)

      • 以状态本身或者状态的变化作为禁忌对象
      • 以状态分量以及分量的变化作为禁忌对象
      • 采用类似的等高线做法,以目标值变化作为禁忌对象
    • 禁忌长度:可以是一个固定的常数(T=c),也可以是动态变化的,可按照某种规则或公式在区间内变化。

      • 禁忌长度过短,一旦陷入局部最优点,出现循环无法跳出;
      • 禁忌长度过长,候选解全部被禁忌,造成计算时间较大,也可能造成计算无法继续下去。

    参考:

    1. 禁忌搜索算法(Tabu Search)
    2. 禁忌搜索算法详解

    贪婪算法

    从问题的某一个初始解出发逐步逼近给定的目标,以尽可能快的地求得更好的解。当达到算法中的某一步不能再继续前进时,算法停止。

    基本都要先排序,从排序的开始那个依次判断,符合就留下不符合就去掉。

    模拟退火(simulated annealing,SA)

    模拟退火算法作为局部搜索算法的扩展,在每一次修改模型的过程中,随机产生一个新的状态模型,然后以一定的概率选择邻域中能量值大的状态.这种接受新模型的方式使其成为一种全局最优算法,并得到理论证明和实际应用的验证.SA虽然在寻优能力上不容置疑,但它是以严密的退火计划为保证的,具体地讲,就是足够高的初始温度、缓慢的退火速度、大量的迭代次数及同一温度下足够的扰动次数。

    用兔子的故事来说:兔子喝醉了。他随机地跳了很长时间。这期间,它可能走向高处,也可能踏入平地。但是,他渐渐清醒了并朝他踏过的最高方向跳去。这就是模拟退火。

    其实就是,先用初始值进行随机更新,记录每次更新的值,最后取历史记录中最大的值。

    参考:模拟退火算法

    群体智能(全局最优)

    类别:

    • 粒子群算法(PSO)
    • 蚁群算法(ACO)
    • 人工蜂群算法(ABC)
    • 人工鱼群算法(AFSA)
    • 混洗蛙跳算法(SFLA)
    • 烟花算法(FWA)
    • 细菌觅食优化(BFO)
    • 萤火虫算法(FA)

    特点:

    • 全局寻优
    • 每次的解都不同
    • 时间较长

    智能计算包括:

    • 进化算法(EC),如遗传算法。
    • 模糊逻辑
    • 群智能(SI)算法
    • 人工免疫系统(AIS)
    • 人工神经网络(ANN)

    参考:

    1. 最优化问题及其分类
    2. 遗传算法
    3. 《MATLAB神经网络30个案例分析》的13个案例中的GA优化SVM参数
    4. 手把手教你实现SVM算法(一)
    5. 遗传算法学习笔记(一):常用的选择策略
    6. 粒子群算法介绍(讲解的很清晰,将PSO的算法原理、算法特点以及参数的设置)
    7. 群体智能简介ppt(粒子群和人工蚁群优化)
    8. 优化算法分类

     

    原文出处:http://dingby.site/2018/04/07/%E6%9C%80%E4%BC%98%E5%8C%96%E7%AE%97%E6%B3%95%E2%80%94%E2%80%94%E5%B8%B8%E8%A7%81%E4%BC%98%E5%8C%96%E7%AE%97%E6%B3%95%E5%88%86%E7%B1%BB%E5%8F%8A%E6%80%BB%E7%BB%93/

    展开全文
  • 十大经典算法及其优化

    万次阅读 多人点赞 2018-06-29 17:39:23
    算法概述0.1 算法分类十种常见排序算法可以分为两大类:非线性时间比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此称为非线性时间比较类排序。线性时间非比较类排序:不通过...
  • 深度学习总结(一)各种优化算法

    万次阅读 多人点赞 2018-07-03 20:11:11
    参考博文: 码农王小呆:...深度学习最全优化方法总结: https://blog.csdn.net/u012759136/article/details/52302426 超级详细每个算法的讲解,可参考: https://blog.csdn.net/tsyccnh/articl...
  • 优化算法总结

    万次阅读 2018-08-22 21:53:05
    本文为SIGAI 2018/8/22最优化算法总结的直播笔记。 目录 总结图片: 1、精确求解(公式求解) 2 数值优化算法 2.1 梯度下降法 2.1.1 动量项 2.1.2 自适应学习率法  AdaGrad  RMSProp  AdaDelta  ...
  • 优化算法之遗传算法

    万次阅读 热门讨论 2018-01-08 16:35:07
    前几天,在听了学长关于遗传优化算法应用在考虑TMD作用的地震分析之后,感觉到优化算法一系列的优化算法的强大之处。回来也趁热打铁查了一下资料,大致理解一下遗传算法的机理。下面就记录分享一下吧。 一、遗传...
  • 智能优化算法

    千次阅读 2020-06-14 10:20:57
    智能优化算法 遗传算法 Genetic Algorithm,简称GA 基本思想: 根据问题的目标函数构造适值函数Fitness Function 产生一个初始种群 根据适值函数的好坏,不断的进行选择繁殖 若干代后得到适值函数最好的个体即为...
  • 优化算法

    千次阅读 2019-08-09 03:17:13
    优化算法1 小批量梯度下降(Mini-batch gradient descent)1.1 什么是小批量下降算法1.2 如何设置batch的大小 1 小批量梯度下降(Mini-batch gradient descent) 1.1 什么是小批量下降算法 机器学习是一个高度依赖...
  • 智能优化算法简介

    万次阅读 2019-06-05 21:40:36
    智能优化算法: 受人类智能、生物群体社会性或自然现象规律的启发。 主要包括: (1)遗传算法: 模仿自然界生物进化机制 (2)差分进化算法: 通过群体个体间的合作与竞争来优化搜索 (3)免疫算法: 模拟生物免疫系统学习和...
  • 多目标优化算法——多目标粒子群算法实战分享

    万次阅读 多人点赞 2019-05-03 10:33:42
    运筹学优化领域,多目标优化算法,多目标自适应粒子群优化算法;并简要介绍了开源多目标优化算法框架jMetal。 基本的粒子群优化算法可参照博主的一篇文章粒子群算法实战分享-附原版动画PPT(技术分享也可以文艺范...
  • 群体智能优化算法

    万次阅读 多人点赞 2019-03-24 15:01:44
    群体智能优化算法介绍什么是群体智能优化算法群体智能优化算法的定义群体智能优化算法的原则常见的群体智能优化算法挖坑蚁群算法粒子群优化算法菌群算法蛙跳算法人工蜂群算法总结 由于在研究生期间一直研究粒子群...
  • matlab版本需要ga/pso优化代码的可以私信q,本人可以指导,亲自测试有效,都可以跑出来 部分截图如下: 研究了一小段时间,终于研究出来了,对于模型处理数据挺好的,有比较优化。...
  • 优缺点比较: 传统优化算法优点:1:利用了解空间的特性,如可微等。  2:理论较为完善,计算量小。  3:收敛速度快。  4:具有确定的终止准则。 传统优化算法缺点:1:仅能求出优化问题的局部最优解。
  • 智能优化算法有很多是模仿自然界中的生物行为进行的,例如众所周知的粒子群算法、遗传算法等,最近新看到一种算法,萤火虫优化算法(firefly algorithm)。
  • 多目标优化算法(二)MOEAD及MOEAD与NSGA-Ⅱ的对比

    万次阅读 多人点赞 2019-04-01 23:40:39
    前言 这个算法是本人接触科研学习实现的第二个算法,除了单纯实现此算法外,还与NSGA-Ⅱ进行了对比,复现了李青富老师的论文,一下是具体的内容,结尾附上MATLAB代码供读者参考。 ...
  • 作者:莫石 ...来源:知乎 著作权归作者所有,转载请联系作者获得...基本思想都是模拟自然界生物群体行为来构造随机优化算法的,不同的是粒子群算法模拟鸟类群体行为,而蚁群算法模拟蚂蚁觅食原理。 1.相同点 (1)都是
  • 优化算法——凸优化的概述

    万次阅读 2015-03-02 15:45:06
    例如道路上最优路径的选择,商品买卖中的最大利润的获取这些都是最优化的典型例子,前面也陆续地有一些具体的最优化的算法,如基本的梯度下降法,牛顿法以及启发式的优化算法(PSO,ABC等)。 二、凸函数 凸函数如...
  • 优化算法——差分进化算法(DE)

    千次阅读 2018-09-11 13:43:20
    一、差分进化算法的介绍 ...DE算法也属于智能优化算法,与前面的启发式算法,如ABC,PSO等类似,都属于启发式的优化算法。DE算法是我在一篇求解盒子覆盖问题论文中使用的一种优化算法。 二、差分进化算法的流...
1 2 3 4 5 ... 20
收藏数 727,408
精华内容 290,963
关键字:

优化算法