"新神经 "是MetaTrader 5平台的一个开源神经网络引擎项目。 - 页 72 1...656667686970717273747576777879...100 新评论 yu-sha 2011.11.29 16:54 #711 Urain。 以及最重要的是关于这个架构是如何创建的源代码。这两个输入是某些指标的值还是由外部人员提供的数据? Mykola Demko 2011.11.29 16:56 #712 yu-sha:这两个输入是一个指标的值还是由外部人员提供的数据?外部数据,如输出,可以根据需要显示或排除。ZS 这是一张来自XOR任务的图纸,经典的MLP Andrey Dik 2011.11.29 17:14 #713 Urain。现在我想到了一个游离的想法。 也许可以要求MQ API为集群设置任务?直接从MQL5分发任务,绕过测试人员。这项任务当然很复杂,有很多检查要设置,但它是可控的。你觉得兄弟们,是不是扫得太高了?"集群肯定是神牛,但我们要努力。这将是非常酷的!但 问题是,在这种情况下,代理人将如何获得报酬? yu-sha 2011.11.29 17:17 #714 这个怎么样?否则神经元1、2和8的含义就不清楚了 Mykola Demko 2011.11.29 17:18 #715 yu-sha: 这个怎么样?否则神经元1和2的含义就不清楚了 嗯,你可以这样做,这并不重要。 yu-sha 2011.11.29 18:32 #716 第一个xml-文件:预处理前的网络 -UrainTaskPre.xml当有许多相同类型的神经元时,很容易出错--这里我们指定一个模板,预处理器应将其解包为一个现成的网络文件。<ROOT> <NET> <LAYER CLASS="EXTERN" NAME="INPUT"> <NEURON NAME="NEURON:%ID%.INPUT" VALUE="0.0"> <REPEAT FOR="%ID%" FROM="1" TO="2"/> </NEURON> </LAYER> <LAYER CLASS="TANH" NAME="HID:0"> <NEURON NAME="NEURON:%ID%.HID:0" BIAS="0.0"> <REPEAT FOR="%ID%" FROM="1" TO="2"/> <LINK TO="expr:.+\.INPUT$" WEIGHT="0.0"/> </NEURON> </LAYER> <LAYER CLASS="TANH" NAME="OUT"> <NEURON NAME="OUT" BIAS="0.0"> <LINK TO="expr:.+\.HID:0$" WEIGHT="0.0"/> </NEURON> </LAYER> </NET> </ROOT> 此外,预处理程序还处理了<REPEAT .../>, <INCLUDE .../>, "expr:... "等 替换, 我们得到了网络UrainTaskPost.xml<ROOT> <NET> <LAYER CLASS="EXTERN" NAME="INPUT"> <NEURON NAME="NEURON:1.INPUT" VALUE="0.0" /> <NEURON NAME="NEURON:2.INPUT" VALUE="0.0" /> </LAYER> <LAYER CLASS="TANH" NAME="HID:0"> <NEURON NAME="NEURON:1.HID:0" BIAS="0.0"> <LINK TO="NEURON:1.INPUT" WEIGHT="0.0" /> <LINK TO="NEURON:2.INPUT" WEIGHT="0.0" /> </NEURON> <NEURON NAME="NEURON:2.HID:0" BIAS="0.0"> <LINK TO="NEURON:1.INPUT" WEIGHT="0.0" /> <LINK TO="NEURON:2.INPUT" WEIGHT="0.0" /> </NEURON> </LAYER> <LAYER CLASS="TANH" NAME="OUT"> <NEURON NAME="OUT" BIAS="0.0"> <LINK TO="NEURON:1.HID:0" WEIGHT="0.0" /> <LINK TO="NEURON:2.HID:0" WEIGHT="0.0" /> </NEURON> </LAYER> </NET> </ROOT> 下面是一个脚本,它打开一个XML文件,将其解析为XML树,从中创建一个神经网络,初始化输入,这里是Run()//+------------------------------------------------------------------+ //| UrainScript.mq5 | //| Copyright 2011, MetaQuotes Software Corp. | //| http://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2011, MetaQuotes Software Corp." #property link "http://www.mql5.com" #property version "1.00" #include <Cuda\Base.mqh> CXmlDocument xmlDoc; //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { string err; // Создаем дерево XML if (xmlDoc.CreateFromFile("UrainTaskPost.xml",err)) { Print ("Root:",xmlDoc.FDocumentElement.GetName()); CXmlElement * xmlNet = xmlDoc.FDocumentElement.GetChild(0); // Печатаем вложенные уровни for (int j=0; j<xmlNet.GetChildCount(); j++) { CXmlElement * xmlLayer = xmlNet.GetChild(j); Print ("Element #",j,", CLASS=",xmlLayer.GetAttributeValue("CLASS"),", NAME=",xmlLayer.GetAttributeValue("NAME")); } // Строим нейросеть из дерева XML CNet net; if (net.LoadFrom(xmlNet)) { ((CNeuronService*)(net.GetNeuron("NEURON:1.INPUT"))).SetValue(0.1234 f); ((CNeuronService*)(net.GetNeuron("NEURON:2.INPUT"))).SetValue(0.1234 f); net.Run(); Print ("OUT=",net.GetNeuron("OUT").GetValue()); } } } //+------------------------------------------------------------------+ 请注意。类CNeuronService处理 "EXTERN "类型的神经元--从以前开始留下了一点不一致的地方。习惯于它比修复它更容易))))。脚本的结果。UrainTaskPost.xml必须放在一个公共终端文件夹 中,例如C:\Documents and Settings\All Users\Application Data\MetaQuotes\Terminal\Common\Files。从归档文件到MQL5/Include的文件 附加的文件: MQL5_Include.zip 22 kb Mykola Demko 2011.11.29 18:55 #717 yu-sha: 第一个xml-文件:预处理前的网络 -UrainTaskPre.xml当有许多相同类型的神经元时,很容易出错--这里我们指定一个模板,预处理器应将其扩展为一个现成的网络文件。进一步,预处理器处理<REPEAT .../>的替换,我们得到了网络UrainTaskPost.xml下面是一个脚本,它打开一个XML文件,将其解析为XML树,从中创建一个神经网络,初始化输入,然后运行()。 越来越暖和,现在解释一下如何解释这个文件。在哪里写什么创建链接,或在它说设置的地方打探一下。 yu-sha 2011.11.29 19:03 #718 Urain。天气变暖了,现在解释一下如何解释这个文件。在哪里写上什么进行连接,或者在哪里提示说是设置的。1) 每个神经元必须有一个唯一的名字,例如:NEURON:1.HID:0该名称表明它是第1层的神经元 HID:02) 链接使用神经元名称+权重进行寻址3) 每个神经元类可以(而且必须)覆盖虚拟的bool Init(CXmlElement *aXmlElement, CNet *aNet),并根据其参数要求从XML元素中加载。P.S.XML文件用记事本编辑比用Excel编辑好)) Mykola Demko 2011.11.29 19:59 #719 yu-sha:1) 每个神经元必须有一个唯一的名字,例如:NEURON:1.HID:0这个名字意味着它是HID:0层的第一个神经元。2) 链接使用神经元名称+权重进行寻址3) 每个神经元类可以(而且必须)覆盖虚拟的bool Init(CXmlElement *aXmlElement, CNet *aNet),并根据其参数要求从XML元素中加载。P.S.XML文件用记事本编辑比用Excel编辑好))是的,我可以用Excel和Word以及记事本进行编辑,但这并不明显--这是两个神经元,会有200-2000个,每一个都会有100-200个链接。如果我不得不摆弄它,我希望它在图形上是有用的或显示的,甚至更好的是,在图形上可编辑。如果你要做什么,应该比这更方便:你从哪里得到它的列,你把它分配到哪里的行[количество слоёв] 3 [тип 0 слоя]input[количество нейронов 0 слой]2 [тип 1 слоя]mlp [количество нейронов 1 слой]2 [тип 2 слоя]mlp [количество нейронов 2 слой]1 0 1 2 3 4 ----------- 0| 0 0 1 1 0 1| 0 0 1 1 0 2| 0 0 0 0 1 3| 0 0 0 0 1 4| 0 0 0 0 0 yu-sha 2011.11.29 20:02 #720 Urain: 我既用了Excel,也用了Word和记事本,但不明显,很乱,是两个神经元,会有200-2000个,每个会有100-200个连接。如果我不得不摆弄它,我希望它在图形上易于使用或显示,或者更好的是,以图形方式编辑。这就是PreProcessor的作用。无论你有2个神经元还是100个神经元,文件大小 都是一样的。如果你想用图形方式编辑,没有人打扰你,只要写一个GUI并使用 1...656667686970717273747576777879...100 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
以及最重要的是关于这个架构是如何创建的源代码。
这两个输入是某些指标的值还是由外部人员提供的数据?
这两个输入是一个指标的值还是由外部人员提供的数据?
外部数据,如输出,可以根据需要显示或排除。
ZS 这是一张来自XOR任务的图纸,经典的MLP
现在我想到了一个游离的想法。
也许可以要求MQ API为集群设置任务?
直接从MQL5分发任务,绕过测试人员。这项任务当然很复杂,有很多检查要设置,但它是可控的。
你觉得兄弟们,是不是扫得太高了?"集群肯定是神牛,但我们要努力。
这将是非常酷的!但 问题是,在这种情况下,代理人将如何获得报酬?
这个怎么样?
否则神经元1、2和8的含义就不清楚了
这个怎么样?
否则神经元1和2的含义就不清楚了
第一个xml-文件:预处理前的网络 -UrainTaskPre.xml
当有许多相同类型的神经元时,很容易出错--这里我们指定一个模板,预处理器应将其解包为一个现成的网络文件。
此外,预处理程序还处理了<REPEAT .../>, <INCLUDE .../>, "expr:... "等 替换, 我们得到了网络
UrainTaskPost.xml
下面是一个脚本,它打开一个XML文件,将其解析为XML树,从中创建一个神经网络,初始化输入,这里是Run()
请注意。
类CNeuronService处理 "EXTERN "类型的神经元--从以前开始留下了一点不一致的地方。
习惯于它比修复它更容易))))。
脚本的结果。
UrainTaskPost.xml必须放在一个公共终端文件夹 中,例如C:\Documents and Settings\All Users\Application Data\MetaQuotes\Terminal\Common\Files。
从归档文件到MQL5/Include的文件
第一个xml-文件:预处理前的网络 -UrainTaskPre.xml
当有许多相同类型的神经元时,很容易出错--这里我们指定一个模板,预处理器应将其扩展为一个现成的网络文件。
进一步,预处理器处理<REPEAT .../>的替换,我们得到了网络
UrainTaskPost.xml
下面是一个脚本,它打开一个XML文件,将其解析为XML树,从中创建一个神经网络,初始化输入,然后运行()。
越来越暖和,现在解释一下如何解释这个文件。
在哪里写什么创建链接,或在它说设置的地方打探一下。
天气变暖了,现在解释一下如何解释这个文件。
在哪里写上什么进行连接,或者在哪里提示说是设置的。
1) 每个神经元必须有一个唯一的名字,例如:NEURON:1.HID:0
该名称表明它是第1层的神经元 HID:0
2) 链接使用神经元名称+权重进行寻址
3) 每个神经元类可以(而且必须)覆盖虚拟的bool Init(CXmlElement *aXmlElement, CNet *aNet),并根据其参数要求从XML元素中加载。
P.S.
XML文件用记事本编辑比用Excel编辑好))
1) 每个神经元必须有一个唯一的名字,例如:NEURON:1.HID:0
这个名字意味着它是HID:0层的第一个神经元。
2) 链接使用神经元名称+权重进行寻址
3) 每个神经元类可以(而且必须)覆盖虚拟的bool Init(CXmlElement *aXmlElement, CNet *aNet),并根据其参数要求从XML元素中加载。
P.S.
XML文件用记事本编辑比用Excel编辑好))
是的,我可以用Excel和Word以及记事本进行编辑,但这并不明显--这是两个神经元,会有200-2000个,每一个都会有100-200个链接。
如果我不得不摆弄它,我希望它在图形上是有用的或显示的,甚至更好的是,在图形上可编辑。
如果你要做什么,应该比这更方便:你从哪里得到它的列,你把它分配到哪里的行
我既用了Excel,也用了Word和记事本,但不明显,很乱,是两个神经元,会有200-2000个,每个会有100-200个连接。
如果我不得不摆弄它,我希望它在图形上易于使用或显示,或者更好的是,以图形方式编辑。
这就是PreProcessor的作用。
无论你有2个神经元还是100个神经元,文件大小 都是一样的。
如果你想用图形方式编辑,没有人打扰你,只要写一个GUI并使用