问题标签 [encog]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
artificial-intelligence - 不同类型的时间序列分割算法,而不是使用 Encog 的滑动窗口
我想知道 Encog AI Framework 是否支持不同类型的分割算法,而不是普通的滑动寡妇方法来进行时间序列预测。Eamonn Keogh 的调查显示,滑动窗是最糟糕的。
这是调查https://www.cs.rutgers.edu/~pazzani/Publications/survey.pdf
让我知道 Encog 是否已经支持用于 ts 预测的不同类型的时间序列分割。
谢谢
java - 输出文件中的 ENCOG 值被错误地非规范化?
以下是使用最新版本的 encog-workbench (3.2.0) 生成的
我想知道这是一个错误还是我没有掌握输出文件的目的。
当我在 encog 工作台中运行 [ sunspot example ][1] 时,没有隔离,我希望输出文件具有模型的拟合值。当我创建验证图表时,它向我展示了教程中的数字,所以这似乎是正确的。
但是当我转到 sunspots_output.csv 输出文件时,我得到以下输出:
对于文件的其余部分,所有输出值都在 8 左右。
现在,当我回到验证图表时,有一个选项卡数据,其中包含以下列:
如果我对这些列中的值进行非规范化,我会得到以下结果。
这些似乎是实际的正确值(如果我将它们与原始数据进行比较),因此这些应该是输出列中的预测值。这是一个错误还是 output(t+1) 列中的值有其他含义。
我将这些值复制到 excel 中并通过输入 (-1,1) 的公式进行非规范化。我希望每次运行实验时都不必这样做。
我最终将转向代码。只是想通过工作台获得一些初步结果。顺便说一句,使用隔离会导致同样的问题。如果它是一个错误,我会在 encog 网站上报告它。
谢谢你的回答,
弗洛里安
更新
嘿 Jef,我下载了你的 zip 并使用我的工作台重现了这个问题。
只有当我不隔离时才会出现问题,我不想这样做。workbench-excecutable3.2.0 创建的 .ega 文件有一些明显的区别,当我使用您的 .ega 文件并删除 seggregate 部分时,它可以工作。当我使用我的时,它不会。这就是为什么我上传我的项目 [这里][2]:
也许您可以发现新事物是否会干扰输出正确的值。希望能帮助到你!
更新 3:
我的实际目标是构建一个可以在这里找到项目的预测器: http ://wikisend.com/download/477372/Myproject.rar
我想知道你是否能告诉我我是否做错了什么,因为目前我的输出完全是垃圾。
再次感谢。
neural-network - Encog预测神经网络结果
我一直在使用 Encog 神经网络工作台(3.2 版)运行太阳黑子预测例程,并注意到当将未来预测窗口更改为大于 1 时,sunspot_output.csv中的结果似乎是时间偏移的,因此当输出网络在t=0时评估的结果并不是真的(t+1)、(t+2)、(t+3)等。我很可能不了解工作台如何显示结果,所以也许有人可以澄清这一点为了我。
据我了解,如果您使用 30 的过去窗口和 14 的未来窗口,那么网络将查看最后 30 条记录并从最后一条可用记录向前预测(在这种情况下,假设11/1/1951是最后一条可用记录)。因此,对 1951 年 11 月 1 日的评估将回顾 1949 年 5 月 1 日的 30 条记录,并使用此信息通过经过训练的网络来预测1951 年 12 月 1 日(t+1)、1952 年 1 月 1 日的数据(t+2)、2/1/1952 (t+3)等。但是,查看结果文件似乎并非如此。“预测”实际上似乎是前 14 条记录中模式的重复。所以 (t+1)比(t=0)的下一条记录更能代表(t-14) 08/01/1950这将是1951年 12 月 1 日。
我有一张图片显示了这一点,但不幸的是,我似乎还没有发布它的声誉点。要重现此问题,我建议使用 Encog 工作台并使用 30 的过去窗口、14 的未来窗口和 1% 或 2% 的训练误差。
总结:
- 在查看预测网络结果时,有没有其他人注意到这个问题,尤其是提前超过一个时间?
- 为什么工作台结果显示,当您查看与输出相关的日期时,encog 预测神经网络无法正确预测未来。
感谢您的任何想法!
neural-network - Encog中的自组织地图训练策略
我正在尝试使用 Encog3 训练 SOM。在 encog-examples 中有两个这样做的例子——一个是训练一个 XOR SOM,其中所有数据都用于训练直到收敛,另一个是 Color SOM,其中 15 种颜色中的一种在 1000 次迭代中的每次迭代中随机采样。我的问题是,第二种方法是否如此,示例在足够短的时间内完成了足够的结果,或者是否有这样做的原因。如果我在每次迭代中使用所有 15 种输入颜色进行训练,会产生更好的结果吗?
neural-network - 使用 Encog 的神经网络阵列模式识别——如何测试下一个模式?
我正在使用 Encog 库通过遵循 Jeff Heaton 先生提供的基本示例来解决模式识别问题。我有模式
这是我的理想模式,输出 1(这意味着它是 100% 相同)现在我想输入另一个模式,看看它与理想模式有多相似。
此代码用于创建网络
然后,我训练网络
最后,我打印结果:
再次回到我的问题:
我如何输入另一个模式,看看它是否看起来像我的?
欢迎任何可能导致我找到解决方案的想法。谢谢
machine-learning - 使用神经网络的 OCR
我正在努力理解神经网络的用法以执行 OCR,我的目标与通常的 OCR 算法有点不同。
我的目标是能够确定一个特定的输入是否是一个特定的字母,例如我希望从用户那里得到字母“A”,我需要确保我没有得到不同的形状。
我需要能够确定给定的输入是否是正确的形状。
从我一直在阅读的内容来看,这里有几个选项,MLP、SOM 网络、反向传播网络。
据我了解,由于我计划为每个形状(字母)创建样本以训练网络,我应该定义一个 SOM 网络,对吗?
我不确定哪个方向是首选,如果你能指出我正确的方向,那就太好了。
我打算使用 Encog 框架,不确定这是否重要。
c# - 如何在 Encog 中设置归一化范围?
我想从 CSV 文件创建一个训练集,并将其标准化为 [0, 1] 或 [-1, 1] 范围(根据用户选择的激活函数)。我怎样才能做到这一点?在阅读 Encog 教程和指南后,我有这样的事情:
根据API 文档,该Normalize()
方法不带参数,并且
规范化数据集,并分配内存来保存它。
它归一化到什么范围?我可以强制它使用不同的吗?也许这不是从 CSV 加载训练数据并将其规范化到内存中的正确方法?
我想使用一个使用反向传播的简单前馈网络来解决回归问题。
artificial-intelligence - 根据 50 个因素设计用于决策的神经网络
我正在构建一个反向传播神经网络(带有 Encog 库),它根据大约 50 个因素做出决策,我希望获得最佳设计方面的帮助:我们肯定需要 50 个输入神经元,以及 4 个神经元作为输出来给出答案(4数字)但我不确定隐藏层中的神经元数量,有多少是最好的?我还想问一下,使用 segmoid 激活函数的反向传播是否最适合这种情况。感谢提前。
c# - Encog输入层大小错误?
所以我是 Encog 的新手,我按照 Mr.Heaton 对 Encog in C# 的介绍进行了尝试。我的简单练习是开发一个网络,根据一个人的年龄预测他们的“精神错乱程度”,我提供了一个训练集。但是,我发现自己面临这个问题:
“输入层大小 6 必须匹配训练输入大小 1。”
我确定我在某处犯了一个重大错误,这是我的简单代码。
实际上,这与 Mr.Heaton 在教程中讨论的代码相同。请帮帮我,谢谢!
c# - C# 开发一个简单的销售预测系统?
我对机器学习很陌生,我一直在尝试开发一个系统来预测一年的销售数量,具体取决于之前使用 Encog 神经网络给出的示例,但我不太明白如何开发它。其实很简单:
x 轴(年)=>
2000,2001,2002,2003,2004
y 轴(销售数量)=>
分别为 30、25、45、60、55
因此,如果提出一个问题来预测 2005 年的销售额,我该如何在神经网络中实现呢?你们有示例代码吗?