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

 
TheXpert:
谢谢 :) 最后一戳。

我宁愿照顾一个实施方案,并努力使其完善。

我可能无法在规模上与遗传学竞争(那些没有明确目标功能的任务类别),但在使用效率和学习方面...

非常正确的决定,当一些项目 出现在这里的时候,你已经做了很多基础工作,如果项目没有出现,你会给出一个结果。

你有一个更好的机会来保持项目的活力。

不要放弃,张贴你的作品,提出问题,也许有人会扣下来。

 
Urain

不要消失,把你的工作,问问题,你会看到还有谁会扣下来。

正在进行的工作。一旦准备好,我将尽快发布。

我有C++实现。我所要做的就是重新安排和升级一些东西。

 
ivandurak:

我希望他们能吐口水,但他们就是不理会我。有人向你征求意见--是或不是。

如果(是),我就去读一些聪明的书。

否则就去读另一本,然后往另一个方向踢。

尼古拉,把我最近给你的关于聚类的书扔在这里,但重新翻阅图书馆很无聊。
 
ivandurak:

下午好,其实不是这个问题。 我需要一些建议。

我自己有一个任务。有必要选择一个当前时刻的适应性时间窗口,而不是在参数中设置,例如10条。然后,我们应该深入运行历史,找出所选窗口属于哪个集群。神经网络可以处理吗?还是做其他事情更容易?如果我不介意的话,请给我寄一本关于格子的书,只在香肠层面。

我不知道香肠的水平,正如他们所说的富有。

只是聚类和分类是网络做得最好的任务。

近似值更差,但也还可以,但一般来说,用外推法是很紧的。但这完全取决于实施情况。

附加的文件:
 
Urain

我不知道香肠的水平,正如他们所说的。

聚类和分类是网络做得最好的任务。

近似法更糟糕,但也可以,而外推法是个难题。但一切都取决于实施。

非常感谢,我将去啃花岗岩。
 
yu-sha:
...

学习是一个外部过程,是网络本身的外部过程。

...

那么为了完整起见,学习不仅是一个外部过程,而且在本质上也是一个内部过程,因为它往往不仅可以获得权重,还可以获得中间的计算数据,以及拓扑特性。

也正是因为学习过程的这一特性,它常常被归结为网络的内部过程。

他们得出的结论是,网络应该为学习过程透露其内部信息,而对环境完全隐藏。

在这种情况下,合乎逻辑的行动方案是在必要时将网络本身包裹在一个训练外壳中。

因此,我们有一个拥有方法的外部网络 对象。

  • 初始化
  • 工作流程
  • 学习

一个工作流方法接收原样的网,一个训练方法接收被训练外壳包裹的网;封装的逻辑延续是给一个带有选择标志的 方法,而不是两个工作流和训练方法。

 
Urain

因此,我们有一个外部网络 对象,它有方法。

  • 初始化
  • 运行
  • 培训

一个工作流方法得到的是原样的网络,一个训练方法得到的是包裹在训练外壳中的网络,封装的逻辑扩展是给出一个带有选择标志的网络 方法而不是两个工作流和训练方法。

在最一般的情况下,网络必须有一个单一的run()方法

它执行输出神经元的计算,并假设输入已经被初始化了。

教师 "是一个单独的对象,用训练参数初始化,由训练对象控制。

你需要一个验证器来检查你是否可以通过这个方法教这个对象

但所有这些东西都很难在一般情况下被正式化

这就是为什么网络+函数+教师类型的标准刚性设计可以为终端用户开发,只允许设置一些参数,例如,层中的神经元数量

网络必须将其内部信息暴露给学习过程,同时对环境进行隐藏。

我同意。一些(但不是全部)训练方法需要几乎完全进入网络内部

 

yu-sha:

...

一些(但不是全部)训练方法需要几乎完全接触到网络内部。

这就是问题所在,有些方法要求网络不仅要暴露,而且要为该方法进行适当的结构设计。

换句话说,这个方法本身是为一个特定的网络编写的。在一个通用引擎中实现这些方法有什么意义?

最好是让安德鲁全权负责编码。我看到通用引擎的一个通用训练方法--GA。

在剩下的部分,我们有:对任何拓扑结构的通用引擎的想法,对任何拓扑结构的通用初始化方法的想法,以及作为所有这些的通用训练器的GA。

从正面看,我们很容易实现新类型的神经元,那些标准但尚未描述的或非标准的神经元。

缺点中只有一种训练方法。

如果有人能想出如何将其他训练方法融入其中,那就太好了,但现在是这样的。

 
Urain

在其余部分,我们有:任何拓扑结构的通用引擎的想法,任何拓扑结构的通用初始化方法的想法,以及GA作为所有这些的通用导师。

从正面看,它很容易实现新的神经元类型,那些标准但尚未描述或非标准的神经元。

其缺点是只有一种训练方法。

以同样的方式思考,我也得出了几乎相同的结论))。

而由于GA成为主要的学习算法,因此迫切需要并行计算

这就是GPU的作用。

Параллельные вычисления в MetaTrader 5 штатными средствами
Параллельные вычисления в MetaTrader 5 штатными средствами
  • 2010.11.24
  • Andrew
  • www.mql5.com
Время является неизменной ценностью на протяжении всей истории человечества, и мы стремимся не расходовать его понапрасну. Из этой статьи вы узнаете, как можно ускорить работу вашего эксперта, если у вашего компьютера многоядерный процессор. Причем, реализация описываемого метода не требует знания каких-либо еще языков кроме MQL5.
 
yu-sha:

以同样的方式思考,我得出了大致相同的结论 ))

而由于GA成为主要的学习算法,因此迫切需要并行计算

这就是GPU发挥作用的地方

如果仔细阅读我前面写的内容,你已经注意到在我的通用网络模型中,处理过程本身被划分为层,因此神经元被组合成层,不是形式上的(通过所有权),而是实际上的(一个层有记忆,而一个神经元没有,一个神经元仍然只是一个信息实体,向一个层提供关于何处和为什么的信息)。所以,并行性是由引擎的结构本身定义的(层内的信息被并行处理)。我已经做过用GA训练的NS,最大的生产力损失正是在NS的计算上(特别是在大型网络上)。作为一个广告,我可以说,对于joo 提议的UGA,学习NS是小菜一碟。

但是,如果有可能将FF的计算也并行化(而GA的NS是FF的一部分),我只支持它。虽然我不认为这将是一个简单的任务,简单的行动是分层进行的,而FF的计算可能涉及相当复杂的序列。