基于状态转换的机器学习?

数据挖掘 机器学习 优化
2022-02-28 08:42:22

如果我提供:

  1. 可能的转换列表,以及,
  2. 输入状态列表,以及,
  3. 每个输入状态的相应输出状态列表,以及,
  4. 对每个输出状态进行评分的适应度函数

机器学习的哪个子集可以引导我使用一种优化算法,该算法可以将每个输入状态映射到输入状态字典,并且在找不到匹配项的情况下应用必要的转换以使我获得最接近相关的输出状态?

涉及多边形合法化的示例:

  • 任何给定的“窗口”都可以包含 N 个不同的多边形,其中每个多边形都有左下角和右上角的坐标,以及一个多边形“类型”。
  • 多边形的输入状态可能是也可能不是“非法的”。
  • 变换列表包括:移动、复制、旋转、调整大小
  • 如果输入状态直接映射到任何输出状态,则认为输入状态是合法的。没有什么可做的了;继续下一个窗口。
  • 如果输入状态与任何先前看到的输入状态匹配,则转换为匹配(已知合法)的输出状态。没有什么可做的了;继续下一个窗口。
  • 尝试以不同的序列进行变换,直到达到满足适应度函数的状态。存储此输入:输出状态组合。继续下一个窗口。

这是否意味着神经网络(用于分类)和遗传/进化算法的某种组合?或者,适应度函数的存在是否否定了存储输入:输出状态组合的需要?

1个回答

如果我理解正确:

  • 你有一个输入多边形

  • 作为第一步,您希望将其与先前看到的模板列表“匹配”。如果这成功了,您选择它的相应输出并继续。

  • 如果没有,您希望找到一些最佳转换,以使其满足您拥有的一些约束(您的“目标函数”)。然后将原始+转换后的形状添加到模板列表并继续。

它是否正确?无论如何,我会冒险回答:

对于第一部分,我相信那里有大量的文学作品这不是我的专长,但首先想到的是测量形状和每个模板之间特征空间的距离,然后选择最接近的一个,它的距离低于您设置的阈值。这里的“特征”可以是一些低级别的多边形属性,例如顶点的 x 和 y 坐标,或者是一个抽象,例如周长、面积、编号。顶点,平均边长/边长方差等。

对于第二部分,它实际上取决于您的约束/目标函数的性质。它们是凸的吗?单模还是多模?单目标还是多目标?你想加入一些领域知识(即关于什么是“好的”转换的知识?)?如果没有进一步的细节,你真的无法判断。进化算法是非常通用但昂贵的方法(尽管有些人对此争论不休)。如果您可以节省可能大量的函数评估,您可以尝试 EA 作为第一步,然后改进您的方法。

最后,虽然与您在流程中描述的内容不完全相关,但我相信您可能会通过研究自动关联网络(以及一般模型)而受益;这些模型能够对其输入执行约束满足,有效地对输入值执行学习关系。我可以通过输入一个形状并将转换后的形状作为输出来使用这种方法,这将是“合法的”,即满足自动关联模型学习的约束。因此,您将完全不需要模板匹配 + 优化。