gpt4 book ai didi

java - 如何使用 ESHyperNEAT 在 Java 中实现解决方案?

转载 作者:行者123 更新时间:2023-11-29 03:31:27 25 4
gpt4 key购买 nike

我对 AI 很感兴趣,2 天前我发现了这个领域最近的一个有趣的发展,它叫做 ES-HyperNEAT,首先是 NEAT,然后是 HyperNEAT,然后是 ES-HyperNEAT。

以下是主题的一些链接:

http://eplex.cs.ucf.edu/hyperNEATpage/

http://eplex.cs.ucf.edu/ESHyperNEAT/

所以我下载了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

程序应该从 Start Date 倒数 n 天到 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,Delimiliter,Filed2,Field3,..,Line_X,Line_Y,...)?

最佳答案

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 旨在利用输入或输出中的几何规律(模式、相关性)(参见 http://eplex.cs.ucf.edu/papers/gauci_nc10.pdf ),因此可能值得探讨的一个问题是数据是否包含可以用几何表示的规律(在我的问题中,我建议在 2D 平面上绘制时间序列的一些窗口,网络的 2D 输入层“看到”,类似于 http://eplex.cs.ucf.edu/papers/verbancsics_gecco10.pdf 中使用的方法。但是,这听起来像 NEAT,使用对于此类问题,循环网络可能与 HyperNEAT 一样好,甚至更好。

关于java - 如何使用 ESHyperNEAT 在 Java 中实现解决方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18025835/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com