有没有一种方法可以借助遗传算法来检测公式?



我试图找到两个图像(让我们说"image1"one_answers"image2")如何相互匹配。对于"image2"相对于"image1"的每个可能位置,计算了几个参数。我有一个经验公式,根据这些参数为每个位置给出"分数"。

我尝试在神经网络的帮助下匹配图像部分,但失败了:经验公式效果更好。从那时起,我开始考虑用遗传算法来改进这个公式。

那么,问题是:我有一堆图像对,对于每一对我都知道"正确"的匹配位置。遗传算法可以用在这样的事情上吗?有例子吗?

欢迎提出建议和链接。

谢谢。

基本上,是的!分数函数的参数可能是GA将要演化的参数。如果你的参数在实域,你可能想要使用一个真实的编码遗传算法或进化策略(CMA-ES)。

存在几种可能的交叉选择:

  • 平均/中级
  • Blend-Alpha (BLX-a)
  • Blend-Alpha-Beta (BLX-a-b)
  • 离散
  • 启发式
  • 当地
  • 随机凸
  • 模拟二进制(SBX)
  • 单点

还有一些变异算子:

  • 正态分布N(0, sigma) ->例如,随着时间的推移适应sigma减小
  • 均匀分布(部分位置)
  • 多项式变异

另一个适合于实际编码问题的元启发式算法是粒子群优化(PSO)。

通过遗传编程,你将进化出一个公式(例如树)。我不太确定你为什么提到它,也许我还是误解了什么。把你的问题说清楚,以防万一。

编辑:

好吧,看来你想优化的不是权重,而是整个公式。尽管如此,遗传算法也可以用于这种表示。我想提一下HeuristicLab,因为它对遗传编程有很好的支持。

我假设你有一个更复杂的问题,因为你想优化评分函数,并且仍然有另一个算法来根据该评分函数优化位置。您可以尝试一种简单的方法,生成一个预定义了几个位置的数据集,并相应地计算出特征。然后你可以制定一个分类问题,并找到一个模型,使你能够识别那些最优的位置。

最新更新