我对人工智能很感兴趣,两天前,我在这个领域发现了一个有趣的发展,叫做ES- HyperNEAT,首先是整洁的,然后是HyperNEAT,然后是ES-HyperNEAT。
以下是主题的一些链接:
http://eplex.cs.ucf.edu/hyperNEATpage/
http://eplex.cs.ucf.edu/ESHyperNEAT/
所以我下载了AHNI的Java版本,但是没有教程,我想开发人员想当然地认为它很容易使用,但是对我来说,我不知道如何实现以下问题的解决方案,看起来并不困难,但是有人能告诉我如何开始吗?
输入如下:
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程序应该读取上面的数据,从开始数到结束日期,对这些数据进行训练,正确的输出将永远是第二天的D值,我想知道如何用ES-HyperNEAT实现这一点?
具体而言:
[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 ?有类似的东西吗: myProgram.start(FilePath,分隔符,Filed2,Field3,.,Line_X,Line_Y,.)?
发布于 2013-08-04 22:23:58
readme.txt (您可以在https://github.com/OliverColeman/ahni上看到)包含一些关于开始您自己的实验的信息,特别是参见开发和创建新的实验部分。目前还没有在AHNI中执行时间序列预测的特定代码,因此您必须扩展一个基本适应度函数类(参见自述)。您的代码需要完成您要求的事情(第2-4点),但是您可以创建一个相当通用的时间序列预测类,它可以通过.properties文件配置,以指定第2-4点中的内容。如果您这样做,那么可以随意贡献它,我们将把它添加到github :上的AHNI软件中。
AHNI是作为一个研究平台来支持我自己的研究(并希望在此过程中支持其他研究),而不是一个“易于使用,抛出通用机器学习问题X”的软件包(取决于您对“易于使用”的定义)。我试图保持代码的整洁、良好的组织和API的文档化,以便其他人可以使用它,但是为许多可能的用例创建一个完整的教程(和功能)超出了项目的范围(当然,我很乐意包括其他人编写的教程)。
在进一步讨论之前,我建议考虑以下几点:
在谷歌搜索之前关于使用HyperNEAT进行时间序列预测的研究时,我遇到了一个问题,这个问题与我几年前提出的问题类似,我完全忘记了这个问题(我惊讶地看到我的名字附在了这个问题上!) http://tech.groups.yahoo.com/group/neat/message/5470,对这个问题的回答是一个很好的思考话题。此外:
(ES-)HyperNEAT的设计目的是利用输入或输出中的几何规律(模式、相关性)(参见nc10.pdf),因此一个值得探讨的问题是,数据中是否包含可以几何表示的规律(在我的问题中,我建议在2D平面上绘制时间序列的一些窗口,网络的2D输入层“看到”了这一点,类似于gecco10.pdf中使用的方法。然而,对于这类问题,使用循环网络听起来很整洁,如果不是比HyperNEAT更好的话,可能也一样好。
https://stackoverflow.com/questions/18025835
复制相似问题