【问题标题】:Particle Swam Optimization (PSO) learning and adapting粒子群优化 (PSO) 学习和适应
【发布时间】:2011-11-11 19:14:53
【问题描述】:

我最近实现了 PSO 的基本算法,当提供 2 个变量 (x,y) 的函数时,它会返回一个范围内函数的最小值。

现在的问题是 - 功能未知。我的 PS 将被提供数据集(数据集可能来自不同的领域——比如移动计算)。例如,让它成为以下形式的元组:(x,y,f(x,y))。 [在学习阶段也提供了最佳值。] 在大约 1000 个样本数据之后,将使用另一组数据对 PS 进行测试。 PS应该返回最佳值,即给定(x,y)返回f(x,y)。

在我看来,这些问题与 ANN 非常相似。我不知道该怎么做——我的 PS 是否应该尝试生成一个多边形?

【问题讨论】:

  • 什么是“2 个变量的多边形”,多边形的最小值是多少?多边形是具有任意数量边的二维图形。请解释一下。
  • 您是否将粒子群优化与机器学习混淆了? PSO 找到特定问题的最优值。 ML 尝试学习数据中的模式以对新数据进行分类(或评估)。
  • 其实我正在尝试制作一个神经遗传混合系统。

标签: particle-swarm


【解决方案1】:

根据您的描述,我了解到您打算使用 PSO 进行函数逼近。因此,对于包含多行值 x、y、z 的数据集;您想使用 PSO 来找到一个近似于 z 的函数 f(x, y)(即误差 |z - f(x,y)| 很小)。 不过,我认为您可能有一些术语是错误的;特别是,我想象多边形,你的意思是“多项式”。 是的,您可以使用多项式进行函数逼近。 例如,如果一开始想保持简单,可以从线性多项式 f(x,y) = ax + by + c 开始。然后 PSO 将尝试为 a、b 和 c 生成值。然后,为每个值粒子最小化的成本函数将是数据集中每个粒子的平方误差 (f(x,y) - z)^2 的总和。

最终,您可能还希望将数据拆分为训练和验证集,以避免过度拟合...

【讨论】: