文章 "从头开始采用 MQL 语言进行深度神经网络编程" - 页 2 123456 新评论 maz 2021.10.28 18:12 #11 Anddy Cabrera #:嗨,李、我已用 2 个演示文件更新了文章。一个用于 MQL5,一个用于 MQL4。DeepNeuralNetwork.mqh 可同时用于 mQL5 和 mQL4。无论如何,我在此附上该文件,以演示如何使用它。如果您有更多问题,请告诉我。 这篇文章写得非常好,我试用了演示版,发现只有 yValues[1] 的值可能超过 .5,yValues[0] 和 yValues[2] 的值最大为 .2 或 .3。 Karlis Balcers 2021.11.06 22:34 #12 nail sertoglu #:感谢您分享的代码。我试着理解您的方法。关于 yValues[0] 、yValues[1]、yValues[2],我有些犹豫 ,因为它们并没有变化,而且总是 0 ,33333,但是_xValues[1,2,3]会随着新条形图的变化 而 变化; 因此,如果根据yValues 进行 交易,我看不到任何交易,而根据 _xValues 条件进行交易时,交易会发生。 这是我的错,还是您原始代码中的编码错误? 更新下面的函数,使其返回 `bool` 而不是 `void`,您就会发现给出的权重数量不对。 bool SetWeights(double &weights[]) { int numWeights=(numInput*numHiddenA)+numHiddenA+(numHiddenA*numHiddenB)+numHiddenB+(numHiddenB*numOutput)+numOutput; if(ArraySize(weights)!=numWeights) { printf("Bad weights length (%i), expected %i", ArraySize(weights), numWeights); return false; } 请注意,您还需要在文件顶部更新权重(仅在初始化网络时更新权重是不够的 :P #define SIZEI 25 // 输入 * 隐藏 A #define SIZEA 25 // 隐藏的 A * 隐藏的 B #define SIZEB 15 // 隐藏的 B * 输出 Paranchai Tensit 2021.11.10 09:34 #13 嗨,安迪、 这是一篇非常好的文章。 我有几个问题 1) 在多层神经元中,我能否同时使用 Sigmoid 和 Tan-h 激活引线组合输出? 2) 您是否需要按照 Karlis Balcers 的建议更新文件顶部的 wheights? #define SIZEI 20 // (输入 * 隐藏 A)+ 隐藏 A #define SIZEA 25 // (隐藏 A * 隐藏 B)+ 隐藏 B #define SIZEB 18 //(隐藏 B * 输出)+ 输出 注意:SIZEI 应该是 20,SIZEB 应该是 18,对吗? 3) 我附上了这篇文章中描述的深度神经网络图,是否正确? 非常感谢 Carlos Albert Barbero Marcos 2021.11.11 18:32 #14 它的工作原理与带有优化器的遗传算法类似,选择的值会使最终结果更好 a12aa 2021.12.13 12:05 #15 <删除 Vladimir Perervenko 2022.01.20 16:45 #16 动画不错。 两层神经网络是 "浅层 "神经网络,而不是深层神经网络。深度神经网络包括具有三个以上隐藏层的网络。由于训练这种神经网络的特殊性,人们开发了深度学习方法。 这篇文章作为在 MCL 上编程的范例,可能会有所帮助。熟悉 MLP 的主题 - 当然是必要的。作为神经网络应用 的范例--并不完整,远远落后于该主题的现状。 通常情况下,如果不对超参数进行优化,神经网络就无法提供令人满意的质量。 我只是不明白,既然有大量关于这一主题的现成程序,为什么还要用即兴手段来制造一辆自行车呢? Valeriy Yastremskiy 2022.01.20 19:54 #17 对 NS 的理解是美好而清晰的。 Vladimir Perervenko 2022.01.21 19:34 #18 更正。文章中有 "深网 "的定义。我没看到。 利用遗传学优化神经网络权重的过程并不是字面上的 "学习"。它毕竟是优化。训练使用的是完全不同的方法。虽然神经网络的这种变体也在使用,而且相当成功。 要了解神经网络的工作原理,就必须了解神经网络是 如何通过误差反向传播进行训练的。好吧,我已经在挑你的毛病了:) 祝你好运 Aleksandr Seredin 2022.01.21 21:05 #19 非常感谢作者的文章。作为一个远离神经网络的人,这篇文章对我深入了解事情的本质帮助很大,而且从进一步熟悉这个主题的角度来看,这篇文章非常有趣。再次感谢! Roman Shiredchenko 2022.02.08 13:12 #20 有没有办法将误差反向传播纳入这个网络?出于某种原因,有一种观点认为这样的网络会更加灵活,并能提供更好的输入 - outputs.... 带有误差反向传播的网络并不是一个完全不同的网络,对吗? 123456 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
嗨,李、
我已用 2 个演示文件更新了文章。一个用于 MQL5,一个用于 MQL4。DeepNeuralNetwork.mqh 可同时用于 mQL5 和 mQL4。
无论如何,我在此附上该文件,以演示如何使用它。
如果您有更多问题,请告诉我。
感谢您分享的代码。我试着理解您的方法。
关于 yValues[0] 、yValues[1]、yValues[2],我有些犹豫 ,因为它们并没有变化,而且总是 0 ,33333,但是_xValues[1,2,3]会随着新条形图的变化 而 变化; 因此,如果根据yValues 进行 交易,我看不到任何交易,而根据 _xValues 条件进行交易时,交易会发生。
这是我的错,还是您原始代码中的编码错误?
更新下面的函数,使其返回 `bool` 而不是 `void`,您就会发现给出的权重数量不对。
请注意,您还需要在文件顶部更新权重(仅在初始化网络时更新权重是不够的 :P
非常感谢
动画不错。
两层神经网络是 "浅层 "神经网络,而不是深层神经网络。深度神经网络包括具有三个以上隐藏层的网络。由于训练这种神经网络的特殊性,人们开发了深度学习方法。
这篇文章作为在 MCL 上编程的范例,可能会有所帮助。熟悉 MLP 的主题 - 当然是必要的。作为神经网络应用 的范例--并不完整,远远落后于该主题的现状。
通常情况下,如果不对超参数进行优化,神经网络就无法提供令人满意的质量。
我只是不明白,既然有大量关于这一主题的现成程序,为什么还要用即兴手段来制造一辆自行车呢?
更正。文章中有 "深网 "的定义。我没看到。
利用遗传学优化神经网络权重的过程并不是字面上的 "学习"。它毕竟是优化。训练使用的是完全不同的方法。虽然神经网络的这种变体也在使用,而且相当成功。
要了解神经网络的工作原理,就必须了解神经网络是 如何通过误差反向传播进行训练的。好吧,我已经在挑你的毛病了:)
祝你好运
有没有办法将误差反向传播纳入这个网络?
出于某种原因,有一种观点认为这样的网络会更加灵活,并能提供更好的输入 - outputs....
带有误差反向传播的网络并不是一个完全不同的网络,对吗?