【问题标题】:Predicting new (unknown) sequence values using aforge GA使用 aforge GA 预测新的(未知)序列值
【发布时间】:2012-06-07 04:57:19
【问题描述】:

我一直在搞乱 aforge 时间序列遗传算法样本,我自己的版本正在运行,atm 它只是“预测”斐波那契数。

问题是当我要求它预测超出我给它的数组(包含序列的前 21 个数字,使用窗口大小为 5)之外的新值时,它不会这样做,它会抛出一个显示“数据大小应该足以用于窗口和预测”的异常。

据我所知,我应该破译“population.BestChromosome”中包含的奇异公式并用它来推断未来的值,对吗?有没有更简单的方法?我是否忽略了一些非常明显的东西?

我会在 aforge 论坛上询问,但开发人员不再支持它了。

【问题讨论】:

    标签: c# artificial-intelligence genetic-algorithm aforge


    【解决方案1】:

    据我所知,我应该破译这个奇怪的公式 包含在“population.BestChromosome”中并用它来推断 未来的价值观,对吗?

    你所说的“奇异公式”在数据分析中被称为模型。你从过去的数据中学习这样一个模型,你可以给它提供新的数据来获得预测的结果。这个新结果是有意义的还是只是垃圾,取决于你的模型有多通用。许多技术可以学习非常好的模型,这些模型可以很好地解释观察到的数据,但这些模型不可推广,并且当您将新数据输入模型时会返回无用的结果。您需要找到一个模型,该模型既可以解释给定数据,也可以解释潜在未观察到的数据,这是一个重要的过程。通常人们通过将已知数据分成两个部分来估计该模型的泛化误差:一个用于学习模型,另一个用于测试学习的模型。然后,您要选择对两个数据都准确的模型。您还可以在这里查看我在另一个问题上给出的答案,该问题也涉及机器学习的主题:https://stackoverflow.com/a/3764893/189767

    我不认为您“忽略了一些非常明显的事情”,而是您面临着一个难以解决的问题。

    顺便说一句,您还可以在HeuristicLab 中使用遗传编程 (GP)。 GP 的模型是一个数学公式,在 HeuristicLab 中,您可以将该模型导出到例如MatLab。

    Ad Fibonacci,斐波那契数的封闭公式是 F(n) = (phi^n - psi^n) / sqrt(5),其中 phi 和 psi 是根据维基百科的特殊幻数。如果你想用 GP 找到它,你需要一个变量 (n)、三个常数和幂函数。但是,您很可能会发现一个在输出上相似的截然不同的公式。机器学习的问题是非常不同的模型可以产生相同的输出。递归形式要求您将过去两个 n 的值包含到数据集中。这类似于学习时间序列回归问题的模型。

    【讨论】:

    • 在对公式进行了一些挖掘之后,公式是波兰符号,有一个包含的方法来“评估”这些公式,所以也许我可以将它反馈给自己并根据需要添加变量。我想现实世界中的问题是您不知道提前需要多少或哪些变量。启发式实验室对我来说没有价值,我的数据不是静态的或可预测的,它需要实时评估,不幸的是外部应用程序没有用。
    • 如果这是一个要求,那么你应该在问题中说明它。
    猜你喜欢
    • 1970-01-01
    • 2017-05-09
    • 2019-11-02
    • 1970-01-01
    • 1970-01-01
    • 2015-06-19
    • 2017-11-26
    • 2016-05-25
    • 1970-01-01
    相关资源
    最近更新 更多