遗憾的是,没有看到任何目标函数的自我优化。
也许是翻译上的缺陷,但我不明白:
你在教神经网络什么?
输入是什么,目标是什么?
你到底在优化什么?
这篇文章语焉不详。
在 MT5 中使用 Alglig 的优势就到此为止了。
祝贺您提供的信息、
缺少脚本。
你好,谢谢,很高兴看到这个自我优化器 Bu NN、
我如何在 MT4 中使用它?
对文章的评论。
1.神经网络不会优化!(一般来说,任何机器学习模型)都是经过训练、测试并可进一步训练的。
2.数据准备。在对输入/输出数据集进行归一化之前,应按必要比例将数据集分为训练/测试部分,有时也可分为有效部分。归一化参数在训练集上定义! 在解决分类问题时,应(最好)分层划分。当然,还要考虑到类的不平衡性。
这篇文章没有给出具体的输入和输出数据,但其中的一段话:"变量 "nVelasPredic "允许推断出这些指标值的 n 个未来蜡烛"。 提出了一个无声的问题。
该节最后一段:"也就是说,CMatrixDouble 类的 "arDatos "数组的每一行将有多少列,就有多少策略中使用的输入数据或指标值,以及多少策略定义的输出数据"。 定义了多少输出数据?大家可以猜到,回归问题已经解决,输出数 = 1。
一般来说,卧铺中的输入和输出数据都是抽象的,不过 RMSE 学习误差还是给出了。
3."输入/输出数据的过度采样。
"为了避免数据数组中值的继承趋势,我们可以任意改变(重新排序)数组中行的顺序。为此,我们使用了 "barajaDatosEntra "函数,该函数遍历 CMatrixDouble 数组的行,为每一行定义一个新的目标行,尊重每一列的数据位置,并使用冒泡方法执行数据洗牌。
对于分类问题,随机(不超调)洗行是可取的,而对于回归问题则没有必要。
4."3.6.训练/优化神经网络"。让我重复一遍--神经网络不是优化或调整出来的,而是训练出来的。如今有很多训练方法。每种方法都有自己的优缺点。
"我所做的测试表明,随着训练历元次数的增加,结果没有任何改善。"
"这些算法在进行调整时,重复训练周期(变量 "ciclosEntrena")对结果误差几乎没有影响,而 "反向传播 "算法则不同,重复训练会显著改变结果的准确性"。
如果你的神经网络对改变训练历元数没有反应,那么它就是一个失败的神经网络。
"使用上述函数可以在 4 - 6 分钟内优化一个包含 35、45、10 和 2 个神经元的 4 层网络和一个 2000 行的输入矩阵(I5、4 核、8GB 内存),误差在 2 - 40 万分之一(4x10^-5)的数量级"。- 从文章中可以看出,您说的是学习误差,这总是非常好的。但测试误差才是关键,而你显然没有做过测试。在没有输入和输出的具体数据的情况下,您给出的数字并不能说明任何问题。此外,我在文章中也没有看到训练过程中输出数据的变化。
5."3.7 保存网络......"
为了进一步工作,不仅需要保存网络本身,还需要保存在训练集上获得的归一化参数。否则,进一步的工作将是浪费时间。
"这个函数(respuestaRed())应该可以改变训练矩阵中输出数据的归一化参数。 如何改变?归一化参数是在训练阶段设置的,在测试或预测阶段无法更改。
6."自我优化 " 这里既没有优化,也没有自我优化。 神经网络会定期学习新数据。
总之,我可以说:作为编程练习,它可能是有用的,但作为创建和使用神经网络的指南,它是绝对不可接受的。作者(或译者)应坚持使用该领域的既定术语和定义,以免误导用户。我认为在出版前对文本进行初步审查是非常可取的。我指的不是没有图表和图画来说明文本。没有这些,它就是一纸空文。
祝好运
Alexey Volchanskiy:
Хотелось бы в статьях, посвященных созданию советников, увидеть результаты в тестере и торговли на демо. А то опять сферический конь в вакууме. Еще не одной дельной статьи по использованию нейросетей в трейдинге не было. Одни теории.
这种说法很有力,但毫无根据。
在文章(至少是我的文章)的附录中,有专家顾问的代码。把它们放到演示版上测试一下。还是你更愿意相信别人的图片?别偷懒,试试看。
这些文章的目的是为您提供可用于智能交易系统的新思路、新方式和新方法。但是,能否开展富有成效的工作取决于您自己。在市场中,您可能会被美丽的图片所吸引。
祝您好运
Thanks you for your hard work! Very profound for me.
致以问候。
谢谢分享
新文章 神经网络: 智能交易系统自我优化已发布:
是否有可能开发一款能够根据代码命令, 定期优化开仓和平仓条件的智能交易系统?如果我们以模块化的形式实现一个神经网络 (多层感知器) 来分析历史并提供策略, 会发生什么?我们可以做到 EA 每月(每周, 每天或每小时) 进行神经网络优化, 然后继续其工作。因此, 我们可以开发一款自我优化 EA。
在创建 NN 之后, 我们应该用前 800 个自然数的二进制形式 (10 个字符, 10 个输入神经元和 1 个输出神经元) 来训练它。之后, 我们应该将接下来的 200 个自然数转换为二进制形式 (从 801 到 1000 的二进制形式从), 并将实际结果与 NN 预测的结果进行比较。例如, 如果我们将 1100110100 设置为网络 (820 的二进制形式; 10 个字符, 10 个输入神经元), 则网络应接收 820 或接近它的一些其它数字。上述的 For 方法负责接收这 200 个数相关的网络预测, 并将期望结果与评估比较。
以指定参数 (NN 没有隐藏层, 10 个输入神经元和 1 个输出神经元) 执行脚本后, 我们得到了一个优异的结果。生成的 ScriptBinDec-infRN.csv 文件位于 Terminal\Common\Files 目录, 为我们提供了以下数据:
作者:Jose Miguel Soriano