在进化算法的上下文中,“未知搜索空间”是什么意思?

人工智能 术语 搜索 进化算法 神经进化
2021-11-15 18:53:42

在文章Multi-Verse Optimizer: a nature-inspired algorithm for global optimization (DOI 10.1007/s00521-015-1870-7) 中,它是这样写的

真实案例研究的结果也证明了 MVO 在解决具有未知搜索空间的实际问题方面的潜力

其中 MVO 代表 Multi-Verse Optimizer。

“未知搜索空间”在进化算法的上下文中是什么意思,特别是在多节优化器的上下文中?

1个回答

(免责声明:虽然我从未见过未知搜索空间的正式定义,但这里是我尝试根据我对机器学习和进化算法中的搜索和搜索算法的知识来定义它;我知道未知环境的定义(见Norvig 和 Russell 的 AI 书籍第 2 章第 44 页),但该定义与以下定义不同。)

未知搜索空间是您对其中一无所知的搜索空间(即一组感兴趣的对象,它们之间存在某种关系)

  1. 最佳/最差解决方案/对象在哪里(即局部/全局最小值/最大值在哪里)和/或
  2. 这些对象是如何相关的。

已知搜索空间的一个典型示例是与寻路问题相关的搜索空间,您知道起点和目标位置、从起点到目标位置可以经过的中间位置以及位置之间的距离. 如果你有这些信息,你可以通过利用你的知识找到从起点到目标位置的最佳路径(你可以使用例如深度优先搜索)。想想找到从一个城市到另一个城市的最短路径。

在其他(大多数)情况下,您可能对 2 个或更多解决方案/对象之间的关系一无所知,除非您探索搜索空间(即采取随机行动或其他一些更明智的行动)。

例如,假设您要搜索表单的函数f:[0,1]28×28{0,1}从一组函数F, IEfF. 在这种情况下,你可以想到一个函数y=f(x)F作为灰度图像的分类器,其中x[0,1]28×28是一个28×28灰度图像和y{0,1}是图像中对象的类(名称)x(在这种情况下,我们假设图像中只有一个主要对象x)。在机器学习中,F可以由一组神经网络表示(具有特定的架构,例如层数),并且fF将是这些特定配置之一。在这种情况下,通常我们对这些神经网络之间的关系一无所知,因此搜索空间是未知的。所以,你需要以某种方式探索搜索空间,例如,通过改变一个神经网络的一些参数fF得到另一个神经网络fF看看这会如何影响您对图像进行分类的准确性。

这个定义也适用于进化算法(虽然我没有读过那篇论文,但我认为它也适用于那个上下文)。事实上,进化算法通常用于解决搜索空间未知的问题。例如,测试用例选择或为代理查找策略。