我最近实现了PSO的基本算法,当提供2个变量(x,y)的函数时,它将在一个范围内返回函数的最小值。
现在问题是 - 功能未知。我的PS将被提供数据集(数据集可能来自各个领域 - 如移动计算)。例如,让它成为形式的元组:(x,y,f(x,y))。 [在学习阶段期间,也提供了最佳值。]在大约1000个样本数据之后,PS将使用另一组数据进行测试。应该假设PS返回最佳值,即给定(x,y)返回f(x,y)。
在我看来,这些问题与ANN非常相似。我不知道如何继续这个 - 我的PS应该尝试生成多边形吗?
答案 0 :(得分:0)
根据您的描述,我了解您打算使用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的总和。
最终,您可能还希望将数据拆分为训练和验证集,以避免过度拟合......