题目:一种新的离散粒子群优化算法

中文摘要

粒子群优化算法在许多优化问题上表现得非常好。粒子群优化算法的缺点之一是假设算法中的变量为连续变量。本文提出一个新的粒子群优化算法,能够优化离散变量。这个新算法被称为整数和分类粒子群优化算法,该算法融合了分布估计算法的思想,即粒子代表概率分布而不是解的值,并且PSO更新修改了概率分布。本文描述了该算法,并将其性能与其他离散PSO算法进行了比较。实验表明,该算法比其他离散PSO算法要好 。

中文引言

离散优化问题,如贝叶斯网络中的特征选择或推理,是一组重要且具有挑战性的问题。这些问题不同于连续问题,因为每个变量的状态是有限个。在整数问题的例子中,变量被限制为一组整数值。对于此类问题,相邻值之间存在一种关系。一般而言,整数中存在一种隐式排序:差异较大的整数被认为是相距较远的整数。

      虽然整数问题是离散问题的子集,但也有其他类型的问题。例如,在贝叶斯推理中,目标是找到一个能很好解释一组观察结果的状态集。在这里,相邻状态之间可能不存在直接关系或梯度。例如,假设状态集是悲伤、恐惧、愤怒、喜悦和厌恶的情绪。虽然在优化过程中这些状态可以用整数表示,但这种编码的值之间没有真正的有序关系。我们把这类问题称为分类优化问题。

      注意:这里的顺序关系就是数学中的大小关系。

      粒子群优化是一种相对简单的搜索算法,适用于各种各样的优化问题。然而,原始PSO算法无法处理离散问题,如上述问题,因为其速度更新需要连续的解值。目前,虽然离散的定义在应用程序和算法之间有很大差异, 但是PSO算法的几个变体允许离散值。本文正式给出离散问题的定义,并针对这问题提出了一种新的粒子群优化算法,称为整数和分类粒子群优化算法(ICPSO)。然后将ICPSO与文献中提出的其他离散PSO变体进行比较。

      ICPSO算法的目标是保持对连续PSO的扩展尽可能简单,并保留大部分原始语义,同时解决其他离散PSO算法的一些潜在缺陷。为了实现这一点,我们改变粒子位置的表示形式,以便粒子的每个属性都是其可能值的分布,而不是值本身。这类似于分布估计算法(EDA),其中使用一组拟合个体生成分布向量,然后生成拟合解。ICPSO与EDAs的不同之处在于,该算法具有多个分布向量,这些分布向量使用PSO更新公式进行更新。

      对于ICPSO,评价粒子变为从这些分布中抽取候选解并计算其适应度的任务。ICPSO还允许使用原始PSO更新公式,避免了可能解值的隐式排序相关的问题。另外,每当产生一个全局最优样本时,ICPSO会修改全局最优解和局部最优解的分布。这使得分布偏向于产生的最优样本,同时仍然允许搜索空间的探索。

传统PSO算法

--后续补充

A New Discrete Particle Swarm Optimization Algorithm的更多相关文章

  1. 【智能算法】粒子群算法(Particle Swarm Optimization)超详细解析+入门代码实例讲解

    喜欢的话可以扫码关注我们的公众号哦,更多精彩尽在微信公众号[程序猿声] 01 算法起源 粒子群优化算法(PSO)是一种进化计算技术(evolutionary computation),1995 年由E ...

  2. 粒子群优化算法(Particle Swarm Optimization)

    粒子群算法的思想源于对鸟/鱼群捕食行为的研究,模拟鸟集群飞行觅食的行为,鸟之间通过集体的协作使群体达到最优目的,是一种基于Swarm Intelligence的优化方法.它没有遗传算法的"交 ...

  3. A novel multi-swarm particle swarm optimization with dynamic learning strategy(一种新颖的具有动态学习策略的多种群粒子群优化算法)

    1.核心 在每个子种群的粒子被划分为普通粒子(ordinary particles)和交流粒子(communication particles),在每次迭代过程中,不同的粒子执行不同的进化操作.普通粒 ...

  4. 粒子群算法 Particle Swarm Optimization, PSO(转贴收藏)

    粒子群算法(1)----粒子群算法简介 http://blog.csdn.net/niuyongjie/article/details/1569671 粒子群算法(2)----标准的粒子群算法 htt ...

  5. Jordan Lecture Note-8: The Sequential Minimal Optimization Algorithm (SMO).

    The Sequential Minimal Optimization Algorithm (SMO) 本文主要介绍用于解决SVM对偶模型的算法,它于1998年由John Platt在论文“Seque ...

  6. 从Random Walk谈到Bacterial foraging optimization algorithm(BFOA),再谈到Ramdom Walk Graph Segmentation图分割算法

    1. 从细菌的趋化性谈起 0x1:物质化学浓度梯度 类似于概率分布中概率密度的概念.在溶液中存在不同的浓度区域. 如放一颗糖在水盆里,糖慢慢溶于水,糖附近的水含糖量比远离糖的水含糖量要高,也就是糖附近 ...

  7. RaPC(rasterized polygon clipper): A discrete grid-based polygon clipping algorithm

    RaPC(rasterized polygon clipper)-A discrete grid-based polygon clipping algorithm This algorithm is ...

  8. A Modified Particle Swarm Optimizer

    A Modified Particle Swarm Optimizer 一种改进的粒子群优化算法   Yuhui Shi and Russell Eberhart 1998   摘要: 本文在原有的粒 ...

  9. Adam Optimization Algorithm

    曾经多次看到别人说起,在选择Optimizer的时候默认就选Adam.这样的建议其实比较尴尬,如果有一点科学精神的人,其实就会想问为什么,并搞懂这一切,这也是我开这个Optimizer系列的原因之一. ...

随机推荐

  1. 基于Netty4手把手实现一个带注册中心和注解的Dubbo框架

    阅读这篇文章之前,建议先阅读和这篇文章关联的内容. 1. 详细剖析分布式微服务架构下网络通信的底层实现原理(图解) 2. (年薪60W的技巧)工作了5年,你真的理解Netty以及为什么要用吗?(深度干 ...

  2. dart系列之:dart中的异步编程

    目录 简介 为什么要用异步编程 怎么使用 Future 异步异常处理 在同步函数中调用异步函数 总结 简介 熟悉javascript的朋友应该知道,在ES6中引入了await和async的语法,可以方 ...

  3. [noi1760]SAM

    建立SAM,求出每一个节点最左边的出现位置(即right集合中的最小元素,在树上dfs即可) 枚举左端点i和右端点j(保证j是最小的满足$s[i,j)$不是$s[0,i)$的子串),维护k表示$s[i ...

  4. 论文翻译:2020_Densely connected neural network with dilated convolutions for real-time speech enhancement in the time domain

    提出了模型和损失函数 论文名称:扩展卷积密集连接神经网络用于时域实时语音增强 论文代码:https://github.com/ashutosh620/DDAEC 引用:Pandey A, Wang D ...

  5. CSS动画--让div动起来

    CSS动画 今天在写代码时候,遇到了css动画效果如何实现的问题,经过查阅和实践,总结出一下结论. transition transition 指定动画变化的对应属性 以及动画的执行时间. 例如:tr ...

  6. 百胜中国使用Rainbond实现云原生落地的实践

    百胜中国使用Rainbond实现云原生落地的实践 关于百胜中国 自从1987年第一家餐厅开业以来,截至2021年第二季度,百胜中国在中国大陆的足迹遍布所有省市自治区,在1500多座城镇经营着11023 ...

  7. Small but Funny Tricks [Remember them all!]

    模数 1e9 的神奇求行列式: #include <bits/stdc++.h> using namespace std; const int maxn = 1e2, mod = 1e9; ...

  8. C/C++内存几大分区和存储空间的布局

    先看一下可执行文件加载进内存后形成的进程在内存中的结构,如下图: 代码区:存放CPU执行的机器指令,代码区是可共享,并且是只读的. 数据区:存放已初始化的全局变量.静态变量(全局和局部).常量数据. ...

  9. Xpath解析库的使用

    ### Xpath常用规则 ## nodename 选取此节点的所有子节点 ## / 从当前节点选取直接子节点 ## // 从当前节点选取子孙节点 ## . 选取当前节点 ## .. 选取当前节点的父 ...

  10. Redis集合解决大数据筛选

    Redis集合:集合是什么,就是一堆确定的数据放在一起,数学上集合有交集.并集的概念,这个就可以用来做大数据的筛选功能. 以商品为例,假如商品有颜色和分类.价格区间等属性. 给所有统一颜色的商品放一个 ...