7

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

例如,我想向图书馆提供以下数字 1、2、3、4、5

基于此,它应该预测下一个序列是 6、7、8、9、10 等。

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

这将在 C# 应用程序中使用。

如果您有任何建议或警告,那就太好了。

谢谢

编辑

我正在尝试使用历史销售数据来预测特定客户在下一个时期最有可能花费的金额。

我知道有许多外部因素会影响客户的购买,但现在我只需要根据销售历史记录,然后绘制一个图表来显示过去的销售和预测的销售。

4

3 回答 3

3

如果您正在寻找 .NET API,那么我建议您尝试 AForge.NET http://code.google.com/p/aforge/

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

于 2010-05-04T07:35:41.097 回答
1

如果我正确理解您的问题,您想近似和推断一个未知函数。在您的示例中,您知道函数值

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

这些点的一个很好的近似值是f(x) = x+1,这将产生f(5) = 6... 正如预期的那样。问题是,如果不了解要推断的函数,就无法解决这个问题:它是线性的吗?是多项式吗?光滑吗?它(大约或完全)是循环的吗?函数的范围和域是什么?您对要推断的函数了解得越多,您的预测就会越好。

于 2010-05-04T06:13:46.423 回答
1

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

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

编辑: 如果您怀疑您的数据具有已知的功能依赖性,并且存在无法控制的外部因素,那么回归分析可能会有很好的结果。为了简单起见,首先看一下线性回归

如果你不能假设线性依赖,有一个很好的应用程序可以寻找适合你的历史数据的函数......我会在我记得后立即用它的名字更新这篇文章。=)

于 2010-05-04T06:18:32.360 回答