"新神经 "是MetaTrader 5平台的一个开源神经网络引擎项目。 - 页 60

 
joo:

一片一片的--我明白。

我不明白其他的选择。我怎样才能一次提交所有的例子?- 还是我很笨?

好吧,你一次提交了所有的例子(通过计算所有例子上的FF总值),训练算法是不同的,例如Bekprops一次提交一个例子,顺序是随机的,但是要滚动整个例子列表几次,所以为什么不一次给算法所有的例子,已经它将按照它的逻辑给网格。

HZ不是傻子,只是不知道我在那里想什么,我会用解释来解决这一切。

ZZZY现在还没有准备好解释一切,我自己会理解的。)

 
gpwr:

Rebyata, ya budu seldom syuda zahodit'.如果您对我们的服务感兴趣,请发送电子邮件到我的雅虎邮箱(在个人主页上)。

祝你在EngiNeuro项目上取得好成绩!

谢谢弗拉基米尔,保持经常访问 :)

Urain

一下子就好了

我也曾经认为,一块一块的是最好的。但是没有。梯度算法正是为累积误差而设计的,所以如果你按件进货,就不完全是梯度下降了。

因此,至少对于前馈来说,只能是一次性的。

 
TheXpert

谢谢你,弗拉基米尔!多回来看看吧 :)

我也曾经认为,一块一块的是最好的。但是没有。梯度算法正是为总误差而设计的,所以如果你按件进货,就不完全是梯度下降了。

所以只能是一次性的,至少对于前馈来说是这样的


是的,这取决于算法的实现,我现在正在头脑风暴,如果我忘记了什么?
 

关于NS培训的说明

1) 健身函数(学习函数)

任何NS的学习过程都归结为在适应性论据的空间(在我们的例子中,这是权重的空间)中找到一个最大(最小)的函数。

2) MSE

该函数的经典版本是MSE(均方误差)。

对它来说,每个适应性参数的偏导数很容易找到,这样就可以使用权重的梯度拟合。

对于每一个输入到NS的例子,我们得到网络响应--y,我们有一个 "正确响应"--y'

对于增量学习方法,在每个例子之后都要调整权重。在这种情况下,MSE=MODUL(y-y')。

对于批处理方法,权重是在运行了整个训练样本后调整的。这里MSE=ROUND((AMOUNT(y-y'))^2)

MSE的主要缺点是,你需要对每个例子都有 "正确 "的答案。

这个功能是有用的,例如,对于重建一个 "未知 "的指标算法,如果它在每个条形上的 "正确 "值是已知的

3) 非标准功能

使用非标准功能可以解决更广泛的任务

例如,为了搜索合成交易策略,我们可以使用经过训练的神经元网络,例如,使F=Profit/MaxDownload函数最大化。

这里的估计是在完整的训练运行后进行的,因为你只有在期末才能评估策略的表现。

非常好的说明--我们不需要对每个酒吧都有正确的答案。

有一个不愉快的 "但是":没有可能找到每个权重的函数的偏导,所以构建权重的梯度方法是不可接受的 - 我们应该使用随机方法,如GA

这就是GPU的作用--目前还没有预算上的替代方案。

P.S.

与每个特定交易策略的参数优化器不同,神经网络允许 "增长 "交易策略的完全合成算法。)

而这种方法的潜力是非常大的

 

我正在准备一个函数,将网格保存到bin文件中。所有的信息都很容易加密成一个乌龙数组,但如何处理这些权重,我却想不出来。

我想使用标准的数组保存功能。

有没有人有可恢复的ulong双加密的算法?


我认为网格应该保存为适合在MQL5中使用的简单格式(以它为基础),我必须用它来编写不同神经网络包的不同格式的转换器。

 
Urain

我正在准备一个函数,将网格保存到bin文件中。所有的信息都很容易加密成一个乌龙数组,但如何处理这些权重,我却想不出来。

我想使用标准的数组保存功能。

有没有人有一种可恢复的双倍数加密成ulong的算法?


我认为网格应该被保存为一种简单的格式,适合在MQL5中使用(以它为基础),不同的神经网络包的不同格式的转换器应该由它编写。


为什么FileWriteArray不适合你?我不明白这个问题。你能给我们举个例子吗?

总之,网格配置在一个文件中,权重在另一个文件中。

我不知道什么对MQL更方便,我也不知道为什么要恢复加密的,因为这会导致不必要的制动。

 
her.human:

FileWriteArray有什么问题?我不明白这个问题。你能给我们举个例子吗?

在任何情况下,网格配置在一个文件中,权重在另一个文件中。

我不知道什么对MQL来说更方便,我也不知道为什么要恢复加密,因为这会造成不必要的制动。

是的,它会很慢(根据我的估计,加密1英里的砝码需要5秒钟),我只是想把砝码和网格结构都储存在一个文件里,我不在乎需要多少文件,我看到了它的便利性。

对于FileWriteArray 来说,只是想锐化,但有一个数组ulong形成了网络的描述(层数、神经元的数量、神经元的类型、它们之间的关系),它附加了一个权重数组,但是是重复的。

如何将所有这些塞进一个bin-file(假设分区不清楚,分区本身是在网格的第一个数字中编码的)?

 
Urain

0.我正在准备一个函数,将网格保存到一个bin文件。所有的信息都很容易被加密成一个乌龙阵列,但如何处理这些权重,我却想不明白。

我想使用标准数组函数,但我不知道该怎么做。

1.有谁有可恢复的ulong的双重加密算法吗?


我认为网格应该保存为一种简单的格式,适合在MQL5中使用(以它为基础),然后将它翻译成各种神经网络包的不同格式。

0.这是极不成熟的。首先,你绝对要澄清并同意整个数据集,在逻辑层面上 毫不含糊地映射到网格的结构和配置。物理存储绝不是一个问题。

1.这很容易。在mql5中,对于这种转换有一个特殊的孔--不同类型的结构可以不受限制地相互分配,只要它们有相同的尺寸

// ulong和double是完全一样的。

一个反常的例子请看这里:https://www.mql5.com/ru/forum/3775/75737#comment_75743

2.嗯...一方面,我同意--格式应该是方便和简单的,另一方面,它应该是非常普遍的,比如xml。也许可以计划两个选项(尽可能多):一个是文本,另一个是二进制。 还有,见#0。

---

我一直在这个支部里走来走去,还在犹豫是否要干涉......。所以我忍不住了。

我想到了一个想法。一个。//我是说,我有很多想法,但只有一个。:)

这个想法是这样的:网格代码必须在 "网格编辑器"(配置器)的初步配置后生成。// 这个想法以前被提出过很多次,我不记得它被拒绝过。

因此,该方案--强制性的中间表示(例如,以xml-文件的形式)包含了 关于神经元网结构全部信息

一个中间的表述是经过仔细思考的,分析了完整性和其他错综复杂的问题,验证了和 修复了.

只有在这之后,我们才能编码(单独):(1)各种网格配置器,(2)编码生成器--将中间表示法翻译成mql5代码。

两者都可以有多种实现方式--这是好的,也是正确的。

 
Urain

是的刹车会(1千个砝码按我的估计会加密5秒),只是想和砝码和网格设备在一个文件中存储,然后散开一堆文件和魔鬼自己会断腿,在这我看到了方便。

我想锐化FileWriteArray,但我有一个形成网络描述的数组ulong(层数、神经元数、神经元类型、它们之间的连接)和一个附加在它上面的权重数组,但是是重复的。

如何把它全部塞进一个bin-file(假设分区不清楚,分区本身在网格的第一个数字中是加密的)?

坚决反对把所有东西都塞进一个文件里。分别对网络进行描述--分别对权重进行描述。否则会出现其他不必要的问题。

 
为什么是一个垃圾桶?一个纯文本文件不是更好吗,这样你就可以用眼睛看了?