加入收藏 | 设为首页 | 会员中心 | 我要投稿 济源站长网 (https://www.0391zz.cn/)- 数据工具、数据仓库、行业智能、CDN、运营!
当前位置: 首页 > 教程 > 正文

数据+进化算法 等于数据驱动的进化优化?

发布时间:2018-06-29 16:46:32 所属栏目:教程 来源:网络大数据
导读:【资讯】数据驱动的进化优化是什么,仅仅就是数据 + 优化算法吗?数据驱动的进化优化适用于哪些应用场景?传统的数学优化方法是否迎来了新一轮的挑战。本文将为您深入浅出的解答以上问题。文末我们还附上了相关资料与参考文献的大礼包,这些资料并非一个简单

  进化算法只需计算目标函数的值即可,对优化问题本身的性质要求是非常低的,不会像数学优化算法往往依赖于一大堆的条件,例如是否为凸优化,目标函数是否可微,目标函数导数是否 Lipschitz continuity 等等。本人还曾经研究过带有偏微分方程约束的优化问题,很多时候你根本就不知道那个目标函数凸不凸,可导不可导。这一点是进化算法相对数学优化算法来说最大的一个优势,实际上同时也是进化算法一个劣势,因为不依赖问题的性质(problem-independent)对所有问题都好使往往意味着没有充分的利用不同问题的特性去进一步加速和优化算法(这里很具有哲学辩证思想的是有优点往往就会派生出缺点)。这样看来数学优化算法的条条框框实际上是划定了,数学优化算法的适用范围,出了这个范围好使不好使不知道,但是在这个范围内数学优化就能给出一个基本的理论保证。

  结论:对问题结构确定的优化问题,有充分的关于优化问题的信息来利用的时候数学优化一般来说有优势,例如线性规划,二次规划,凸优化等等。反之,可能使用进化算法就会有优势。对于一些数学优化目前不能彻底解决的问题例如 NP hard 问题,进化算法也有很大的应用前景。

  Round2 求解速率

  进化算法的计算速度比较慢一直是大家的共识,这一点也很好理解,每迭代一次都需要计算 M 次目标函数,M 是种群规模一般是 30-50 左右。进化算法的前沿的研究方向其中一个就是针对大规模优化问题的(large-scale), 我也曾查阅过相关顶级期刊的论文发现进化算法里的 large-scale 的规模对数学优化算法来讲可能根本构不成 large-scale。所以侧面反应出了进化算法在计算速度的瓶颈限制了其在大规模优化问题上的应用。值得一提的是近几年来随着深度学习的崛起,人们对计算力的要求越来越高,基于 GPU 的并行计算和分布式计算的架构被广泛的应用到人工智能的各个领域。由于进化算法本身天生具有良好的并行特性,基于 GPU 并行计算的进化算法是否能够在一定程度上解决进化算法速度慢的问题绝对是一个值得研究的 topic。

  综上所述:进化算法也好,数学优化也好都只是认识问题解决问题的工具之一,工具本身并不存在绝对的优劣之分,每种工具都有其适用的场景,辨别它们的长短,找到它们合适的应用场景是我们这些用工具的人应该做的。

  小结

  数据驱动进化优化算法用来解决计算代价昂贵的问题,也有看到应用在其它优化领域,如鲁棒优化问题,大规模优化问题等,因为这些问题求解过程也耗费大量计算时间,其本质还是减少真实问题的评估次数。此外,离线的数据驱动优化也开始研究(也称为仿真优化)[1],也就是说优化过程中只能使用代理模型,无法用真实问题验证。

(编辑:济源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读