问题标签 [particle-swarm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
matlab - 使用粒子群优化的神经网络训练
我想在 Matlab 上使用粒子群优化和差分进化算法训练前馈神经网络,用于预测乳腺癌。
我是 Matlab 的新手,所以我搜索并找到了 George Ever 的工具箱,但在将工具箱添加到 Matlab 路径后,我不知道如何使用它。谁能告诉我训练神经网络的步骤谢谢
matlab - 将 BP 神经网络与 PSO 相结合
我想使用 PSO 来优化 BP 神经网络权重,以便在 Matlab 上预测乳腺癌。神经工具箱中没有选项可以做到这一点。在搜索之后,我找到了模因方法,但我现在不知道如何使用它抛出 Matlab。有谁能够帮我?谢谢。
matlab - 谁能建议各种算法的比较标准,如 ACO、ABC、PSO、BFO、FA、SSO 等?
我想使用 matlab 比较这些方法。那么计算最佳方法的标准是什么,尽管根据应用程序有不同的方法是有用的。我可以使用下面链接中描述的目标函数吗?此外,哪个函数对计算更有用。
python - 使用粒子群优化的适当编码
问题
我一直在对粒子群优化进行一些研究,所以我说我会对其进行测试。
我要解决的问题是平衡分区问题 - 或者简单地简化为子集和问题(总和是所有数字的一半)。
似乎更新粒子速度的通用公式是
但我不会为这个问题详细介绍。
由于没有针对子集总和问题的 PSO 在线尝试,我改为查看旅行商问题。
他们是更新速度的方法,包括获取一组访问过的城镇,从另一个中减去一个并对其进行一些操作。
我发现这与上面的公式没有关系。
我的方法
所以我放弃了这个公式并尝试了我自己的方法来解决子集和问题。
我基本上使用gbest
andpbest
来确定删除或添加特定元素到子集的概率。
即-如果我的问题空间是[1,2,3,4,5]
(目标是7
或8
),并且我当前的粒子(子集)具有[1,None,3,None,None]
,并且gbest
是,则保留,添加和删除[None,2,3,None,None]
的概率更高,基于3
2
1
gbest
我可以发布代码,但认为没有必要,你明白了(我正在使用 python btw - 因此None
)。
所以基本上,这在一定程度上有效,我得到了不错的解决方案,但在更大的数据集和值上它非常慢。
我的问题
我是否以智能的方式对问题进行编码并更新粒子“速度”?
有没有办法确定这是否会正确收敛?
有没有我可以用来学习如何为特定问题空间创建收敛“更新”公式的资源?
提前非常感谢!
optimization - 什么是动态资源分配优化算法?
我有一个完全随机的资源,它可以是时间段内的任何数字。我想知道在这些场景中哪种优化具有更好的性能。此外,我应该如何处理多目标结果?
最好的
optimization - 是混合整数线性规划用于实现优化算法(例如,遗传或粒子群)
我正在学习用于自动分组用户的优化算法。但是,我对这些算法完全陌生,并且在查看相关文献时听说过它们。而且,不同的是,在其中一篇文章中,作者使用整数编程实现了他们自己的算法(基于他们自己的逻辑)(这就是我听说 IP 的方式)。
我想知道是否需要使用混合整数线性规划来实现遗传/粒子群(或任何其他优化)算法,或者这只是其中一种选择。最后,我需要构建一个基于 Web 的系统来自动对用户进行分组。我很感激任何帮助。
matlab - 粒子群优化的通用参数
我了解粒子群优化的一般工作原理,并在几篇文章中阅读过它。值得注意的是,大多数关于 PSO 的文章都集中在优化单方程函数上。在 Pedersen 的 Good Parameters for Particle Swarm Optimization 中,他给出了 18 个结果,这些结果来自他对大约 10 个基准问题的 PSO 进行元优化,有 7 个维度(从 2 到 100)。
我想用 PSO 优化多层感知器。我已经在 Matlab 中成功地完成了一些相当小的 MLP,但没有我想要的那么大。(100 个维度对于单方程函数来说是巨大的,但它是神经网络中权重和偏差的极小数量。我预计需要大约 800,000 个权重和偏差 - 维度 - 以在我的最终程序中进行优化。 )
据我了解,我的问题是我找不到一个简单的解释来说明如何选择、 和* 的值w
,以便可以优化具有任意维数的任何函数。(我敢肯定这要求太多,但至少有一个函数,虽然它有台阶不连续性,但在大范围内看起来很平滑,并且没有白噪声。)c1
c2
或者有没有人对神经网络进行元优化 PSO?
java - 如何将编辑文本字段中的数据存储到用于 PSO 算法测试的数组列表中
我目前正在研究粒子群优化算法(PSO)。
我在 Android Studio 上构建了一个用户界面,供用户输入他们自己的测试用例场景来测试这个算法。这是最好的方法
我可以解释一下,用户将输入服务的名称,输入服务的 WLAN 和 DATA 的电池成本,以及 0-100 之间的服务的实用程序(优先级)成本。然后,用户将输入要测试的粒子数、最大迭代次数(通常为 1000)和预测解(通常为 160,但稍后会更改)。
当点击“RUN PSO”按钮时,算法将测试用户输入的内容,并根据运行时配置给出最佳的全局解决方案,请记住这实际上并不是测试实际的服务/应用程序或资源,它使用变量来表示这些变量,然后测试变量。
我想知道如何将 DATA、WLAN 和 Utility 的用户成本存储在 arraylist 中。请帮助我大声笑,如果您需要更多信息,请告诉我。
我已经附上了到目前为止 UI 的图像,它非常基本。
genetic-algorithm - 我们应该在遗传算法中产生多少后代?
假设我有 100 个 popsize,我应该生 10 个后代吗?我想要 popsize 和 offspring 之间的最佳组合,以快速实现收敛,还请附上论文。
java - 如何将整数值分配给字符串元素的 ArrayList?
我有一个用户在我的应用程序(Android Studio)中ArrayList
输入的字符串元素。MainActivity
它被称为ArrayList<String>
serviceNames
。服务名称可以是 Facebook、Fitness App、Clock App 等任何名称。我想为每个用户输入的服务分配一个整数值,因为我正在研究与 Swarm Particle 算法有关的健身功能。
我希望 num_dimensions 为 2(WLAN 和 DATA)加上用户在主要活动中输入的服务数量。因此,如果他们输入 4 个服务,则总共输入 6 个维度。然后我想像这样为这些服务分配一个“int”值......
完成后,我想将它传递给getGoodness()
函数,该函数将这些值作为维度数中的位,因此 Facebook 将是维度中的第三位。任何帮助或建议都会很棒,我是一名学生,将其作为一个项目进行。
编辑:我现在已经在 getGoodness() 函数中实现了一个哈希图。我的代码现在看起来像这样......
我需要 NUM_DIMENSIONS 的前 2 位是 WLAN 和 DATA。因此,对于用户输入的每个服务,分配给它们的整数值从 2 开始增加 1。所以... (2, Facebook), (3, Twitter), (4, Uber) 等等。现在我的下一个问题是,将这些传递给 getGoodness() 函数,我有一个来自主 UI 活动的数组列表,它从每个服务的 0-100 获取实用程序(优先级)成本。这称为 costUtilities,我希望包含 80.0-100.0(双精度)实用程序的位如果未打开,则返回 -2000 的值。如果您能提供帮助,那就太好了,如果不能,感谢您迄今为止提供的帮助,并祝我在 PSO 的最后一年个人项目中好运 :)