问题标签 [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.
java - 在 Java 中使用 encog 训练 Hopefield 网络
我开始使用这个网络。我写了一些代码,但我不确定我是否做得对。这就是我所做的:
- 首先创建网络
HopefieldNetwork net = new HopefieldNetwork(50)
。 - 比添加所有模式,
net.addPattern(aPattern)
其中aPattern
的类型BasicMLData
和更改在循环中添加所有模式。 - 现在进行
net.runUntilStable(5000)
最多 5000 次迭代的训练。这是正确的吗? - 现在我们有了训练好的网络。像这样获取输出
out = (BasicMLData) net.compute(input)
那么一切都好吗?
machine-learning - 如何扩展神经网络 api 以支持卷积神经网络
我正在使用Encog Machine learning api,它使用 Flat 实现来优化性能,它假设两层之间存在完全连接。
我想扩展它以支持卷积神经网络,但我不知道如何更新 api 以支持它。
我考虑过将不进入卷积结果的输入权重设置为零,但不确定这将如何影响反向传播算法
neural-network - 用于分类图像的 Encog 神经网络:训练
我在训练用于图像分类的神经网络时遇到问题。基于 NN 的性能,它似乎没有在学习。
我基本上在 encog-examples (ImageNeuralNetwork) 中运行给定的程序来对一组图像进行分类。以下是示例程序输出
如您所见,NN 从接近 200% 的误差波动到接近 100% 的误差。首先,我什至不确定是否可能出现超过 100% 的错误,更不用说 200%。
下面是我的输入文件,其中包含 NN 的命令和参数:
我最初的猜测是,实际图像或理想值都没有正确地馈送到 NN,但我检查了输入(例如,输出我读过的图像和理想值),它们没问题。
现在我的预感是某些目录(可能是 java 库或读取输入文件的位置)没有正确设置。下面是我的 Eclipse 运行配置:
顺便说一句,我也不能正确运行 Forest Cover 示例(需要输入文件),而我可以运行 Lunar Lander 和 XOR 示例(不需要输入文件)。这加强了我的假设,即我的问题与目录有关。
任何帮助深表感谢。谢谢。
normalization - 通过 Encog C# 标准化 csv 文件
我不知道如何使用 Encog C# 规范化 csv 文件。我的 csv 数据文件:
7.7,3.8,6.7,2.2,\n 7.7,2.6,6.9,2.3,\n 6,2.2,5,1.5,6.9,\n
c# - 输出值预计为 0 到 1,但有时会产生超过 1
我有以下使用 RPOP 的神经网络 - 弹性反向传播
(我发布代码只是为了确保我做对了,如果没有人会指出,我希望)
训练网络后,错误率最小化到 1% 左右,我通过了测试数据,并且大部分时间产生的输出类似于“5,07080020755566E-10”,我希望数字从 0 到 1 以及它应该注意的是,当这种情况发生时,它们总是正数(还没有遇到负输出)。
我想问的第二个问题如下:神经网络是用来预测足球比赛的,所以考虑到我有 32 个输入。16 个输入用于团队 1 的绩效数据,16 个用于团队 2。
训练集是这样准备的:假设我们有 1000 个匹配,所有这些训练集的输出都是 1。
因此,在准备训练集的过程中,额外添加了反向匹配,其中输出为 0,当然第 1 队和第 2 队的输入也分别改变。
并且在测试时我得到相同匹配的以下结果
问题是为什么?:)
我将不胜感激。对这个问题有所了解将为我指明我应该在哪里挖掘的方向。提前致谢。
java - 使用 Encog 的自学习神经网络
神经网络(BP FF)能否通过试验自学(自主)如何控制螺旋桨避免坠落和稳定?
神经网络类型:多层、反向传播、前馈、sigmoid 激活。
为简单起见,仅采用垂直螺旋桨控制和垂直速度。
输入:垂直速度。
输出:螺旋桨功率(只向下,所以只向上推)
由于反向传播 NN 从输出和期望输出的差异中得到错误,它如何在不知道期望输出的情况下自学(实际上,它需要学习期望输出)。
如果我将错误作为垂直速度(停止=无错误),那么它会更合适,但是如何更改 Encog 的 ResilientPropagation 或 BackPropagation 类的错误函数?
我需要自己编写整个网络课程来实现这种学习吗?因为没有初始训练数据。只有来自发动机功率和速度的新创建的数据。(如果我可以生成训练数据,那么我就会知道如何控制发动机,因此不需要神经网络)
最适合这项工作的神经网络类型是什么?
neural-network - Encog getError() 返回 Infinity
我在 Java 的 Encog 库的帮助下构建了以下神经网络
另外,我准备了测试数据并尝试在这列火车的帮助下训练这个神经网络
但是,我发现在某些数据案例(罕见)上,我收到的 train.getError() 等于 Infinity(不取决于通过了多少个时期)。乍一看,数据看起来不错(都是数字,没有 NaN,没有 Infinity 值)。
这个 Infinity 错误的可能原因是什么?我能做些什么来解决它?
谢谢
encog - Encog One Of - 解码
我在其中一个项目中使用 Encog,我在解码 One-Of 类时卡住了。该字段的规范化操作之一是 NormalizationAction.OneOf,它具有三个输出。当我评估时,我想解码预测值。如何解码...?
上面的代码是等边的。我怎样才能为 One-Of 做同样的事情。
谢谢,堪斯
svm - SVM 为每个输入输出相同的预测值……这是为什么呢?
我使用 Encog,我使用 SVM 来预测数据。我的训练集值没有标准化,但它们最初在 [-1,1] 范围内。我不明白为什么会出现问题。
我的训练数据:
我应该标准化这些值吗?我认为这不是问题,但谁知道......我训练了 SVM,一切似乎都正确,但是当我评估 SVM 时,每个输入的输出都是相同的。如果需要,我可以附上代码。
java - 我可以将字符串用于 Encog 理想/输出吗?
我是 encog 的新手,我正在做一个 encog 神经网络训练器,用于在 java 中进行图像分类。
我想知道我是否可以使用字符串作为编码神经网络的理想选择。谢谢你。