我们可以使用遗传算法来进化数据集吗?

人工智能 数据集 遗传算法 基因操作员
2021-10-19 16:34:06

遗传算法用于解决许多优化任务。

如果我有一个数据集,我可以使用遗传算法对其进行进化以创建同一数据集的进化版本吗?

我们可以将初始数据集的每个特征视为一条染色体(或个体),然后将其与其他染​​色体(特征)结合以找到更多特征。这可能吗?这已经完成了吗?

我想用一个例子来编辑细节,这样更容易理解。

示例:在实践中,网络安全攻击随着时间的推移而演变,因为它找到了一种破坏系统的新方法。入侵检测模型的主要缺点是每次攻击演变时都需要对其进行训练。因此,我希望遗传算法是否可以在当前的基准数据集(如 NSL-KDD)上使用,以便在 X 代之后得出一个未来类型的数据集。并检查模型是否也能够对生成的数据集进行分类。

2个回答

这个问题引发了更多的问题。这似乎是寻找问题的解决方案,而不是相反。

  • 你如何衡量一个特征的适应度?
  • “进化的数据集”之一是什么意思它代表什么?
  • 你的总体目标是什么?如果您只想生成模拟数据集,有更简单的方法可以做到这一点,可以更好地控制结果数据集的各个方面。

如果你想计算一组新的特征来“更好地”描述给定的数据集,有很多方法可以解决这个问题,例如 PCA、ISOMAP、自组织地图……如果这是你想要的那种东西考虑一下,我建议从那里开始。

Henry Wilde 等人的论文进化数据集优化:通过进化学习算法质量(2019) 提出了一种使用遗传算法生成数据集的方法。他们的目标是生成特定算法在特定指标方面表现良好的数据,以便更深入地了解该算法及其表现良好的原因。人口中的个体是数据集(所以不是数据集的特征!),可以与交叉算子组合或变异。详细信息在第 2 节(第 4 页)中进行了解释,它们还提供了总结其描述的漂亮图表。

作者评估了他们在 k-means 上的方法(第 3 节,第 12 页),他们使用 k-means 目标函数作为遗传算法的适应度函数。

他们还开发了一个免费提供的图书馆edo,因此您可以开始使用他们的方法。