如何使用eShypernat在Java中实现解决方案?

如何使用eShypernat在Java中实现解决方案?,java,artificial-intelligence,es-hyperneat,Java,Artificial Intelligence,Es Hyperneat,我对人工智能很感兴趣,两天前我发现了这个领域一个有趣的最新发展,叫做ES HyperNEAT,首先是NEAT,然后是HyperNEAT,然后是ES HyperNEAT 以下是该主题的一些链接: 所以我下载了Java版本的AHNI,但是没有教程,我想开发人员想当然地认为它很容易使用,但是对我来说,我不知道如何实现以下问题的解决方案,看起来不是很难,但是有人能告诉我如何开始吗 输入如下所示: Date , A , B , C , D 2013-07-26,18.94,19

我对人工智能很感兴趣,两天前我发现了这个领域一个有趣的最新发展,叫做ES HyperNEAT,首先是NEAT,然后是HyperNEAT,然后是ES HyperNEAT

以下是该主题的一些链接:

所以我下载了Java版本的AHNI,但是没有教程,我想开发人员想当然地认为它很容易使用,但是对我来说,我不知道如何实现以下问题的解决方案,看起来不是很难,但是有人能告诉我如何开始吗

输入如下所示:

   Date   ,  A  ,  B  ,  C  ,  D
2013-07-26,18.94,19.06,18.50,18.63
2013-07-25,18.85,19.26,18.55,19.04
2013-07-24,19.32,19.40,18.47,18.99
2013-07-23,20.15,20.30,19.16,19.22   <-- Predict it ? [ Output ]
2013-07-22,20.09,20.23,19.80,20.03   <-- Start Date
2013-07-19,20.08,20.48,19.76,20.02
2013-07-18,19.88,20.68,19.64,20.12
2013-07-17,19.98,20.07,19.69,19.83
2013-07-16,20.38,20.49,19.51,19.92
  ......
2013-07-02,18.19,18.20,17.32,17.69
2013-07-01,18.38,18.96,17.95,18.15   <-- End Date
是否有类似于:myProgram.start(文件路径、Delimiliter、文件D2、字段3、…、行X、行Y…)

readme.txt(您可以在上看到)包含一些关于开始自己的实验的信息,具体请参见“开发和创建新实验”部分。目前没有特定于在AHNI中执行时间序列预测的代码,因此您必须扩展一个基本适应度函数类(请参阅自述)。您的代码需要执行您要求的操作(第2-4点),但您可以创建一个相当通用的时间序列预测类,该类可以通过.properties文件进行配置,以指定第2-4点中的操作。如果您这样做了,请随意贡献它,我们将把它添加到github上的AHNI软件中:)

AHNI的目的是作为一个研究平台来支持我自己的研究(希望还有其他的研究),而不是一个“易于使用,向它扔通用机器学习问题X”的软件包(取决于你对“易于使用”的定义)。我试图保持代码干净、组织良好、API文档化,以便其他人可以使用它,但是为许多可能的用例创建一个完整的教程(和功能)超出了项目的范围(当然,我很乐意包括其他人编写的教程)

在继续之前,我建议考虑以下几点:

当我在谷歌上搜索以前关于使用HyperNEAT进行时间序列预测的研究时,我遇到了一个与你的问题类似的问题,我已经完全忘记了(我惊讶地发现我的名字附在这个问题上了!:)这个问题的答案很值得思考。此外:

(ES-)HyperNEAT旨在利用输入或输出中的几何规则(模式、相关性)(请参阅),因此一个值得探讨的问题是数据是否包含可以几何表示的规则(在我的问题中,我建议在2D平面上绘制时间序列的某个窗口,网络的2D输入层可以“看到”,类似于中使用的方法。但是,对于此类问题,使用循环网络听起来很整洁,如果不比HyperNEAT好的话,可能也一样好。

readme.txt(您可以在中看到)包含一些关于开始自己的实验的信息,具体请参见“开发和创建新实验”部分。目前在AHNI中没有特定于执行时间序列预测的代码,因此您必须扩展一个基本适应度函数类(请参见自述)。您的代码将需要执行您要求的操作(第2-4点),但您可以创建一个相当通用的时间序列预测类,该类可以通过.properties文件进行配置,以指定第2-4点中的内容。如果执行此操作,请随意贡献它,我们将其添加到github上的AHNI软件:)

AHNI的目的是作为一个研究平台来支持我自己的研究(希望还有其他的研究),而不是一个“易于使用,向它扔通用机器学习问题X”的软件包(取决于你对“易于使用”的定义).我试图保持代码干净、组织良好、API文档化,以便其他人可以使用它,但是为许多可能的用例创建一个完整的教程(和功能)超出了项目的范围(当然,我很乐意包括其他人编写的教程)

在继续之前,我建议考虑以下几点:

当我在谷歌上搜索以前关于使用HyperNEAT进行时间序列预测的研究时,我遇到了一个与你的问题类似的问题,我已经完全忘记了(我惊讶地发现我的名字附在这个问题上了!:)这个问题的答案很值得思考。此外:

(ES-)HyperNEAT旨在利用输入或输出中的几何规则(模式、相关性)(请参阅),因此一个值得探讨的问题是数据是否包含可以几何表示的规则(在我的问题中,我建议在2D平面上绘制时间序列的某个窗口,网络的2D输入层可以“看到”,类似于中使用的方法。但是,对于此类问题,使用循环网络听起来很整洁,如果不比超整洁好的话,可能也一样好

[1] Which classes to call to start the process ?
[2] How to tell it which fields in the input file to gather data, in this case it can ignore the Date field, and gather data from A,B,C,D [ not normalized to 0,1 ]
[3] How to tell it the correct result is the next day's D value ?
[4] How to specify the program should start from line x at the Start Date, and get data through line y at the End Date ?