代码之家  ›  专栏  ›  技术社区  ›  SetiSeeker

用于未来预测的.NET神经网络或人工智能

  •  7
  • SetiSeeker  · 技术社区  · 15 年前

    我正在寻找某种智能(我在想人工智能或神经网络)库,我可以提供一个历史数据列表,这将预测下一个序列的输出。

    作为一个例子,我想给库提供以下图1、2、3、4、5

    在此基础上,预测下一个序列为6、7、8、9、10等。

    输入将更加复杂,包含更多信息。

    这将用于C应用程序。

    如果你有任何建议或警告,这将是伟大的。

    谢谢

    编辑

    我所要做的是使用历史销售数据,预测某个特定客户在下一个时期内最有可能花费的金额。

    我知道有很多外部因素可以影响客户的购买,但目前我只需要根据销售历史,然后绘制一个图表,显示过去的销售和预测的销售。

    3 回复  |  直到 11 年前
        1
  •  3
  •   Kiril    15 年前

    如果您正在寻找一个.net api,那么我建议您尝试一个.net http://code.google.com/p/aforge/

    如果你只想在你可以使用的数据集上尝试各种机器学习算法,那么我建议你在 Weka ;它(相对而言)易于使用,并且实现了许多ml/ai算法。为每个算法使用不同的设置运行多个运行,并尝试尽可能多的算法。他们中的大多数人都有一定的预测能力,如果你把正确的组合起来,你可能会得到一些有用的东西。

        2
  •  1
  •   Niki    15 年前

    如果我正确地理解了你的问题,你需要近似和外推一个未知函数。在您的示例中,您知道函数值

    f(0) = 1
    f(1) = 2
    f(2) = 3
    f(3) = 4
    f(4) = 5
    

    这些点的一个很好的近似值是 f(x) = x+1 ,这将产生 f(5) = 6 …如预期。问题是,如果不知道要外推的函数,就无法解决这个问题:它是线性的吗?是多项式吗?它光滑吗?它(大约或确切地)是循环的吗?函数的范围和域是什么?你对你想外推的函数了解得越多,你的预测就越好。

        3
  •  1
  •   Jens    15 年前

    我只是有个警告,对不起。=)

    从数学上讲,你上面的序列没有理由后面跟着“6”。我可以很容易地给你一个简单的函数,它的下一个值是你喜欢的任何值。只是人类喜欢简单的规则,因此倾向于在这些序列中看到一种联系,而实际上并不存在这种联系。因此,如果不想为计算机提供附加信息,这对计算机来说是不可能的任务。

    编辑: 如果您怀疑您的数据具有已知的功能依赖性,并且存在不可控制的外部因素,可能 regression analysis 会有很好的效果。开始容易,看看 linear regression 第一。

    如果你不能假设线性依赖,有一个很好的应用程序,寻找适合你的历史数据的函数…我一记住这篇文章就用它的名字更新它。=)