一个快速和免费的MT4资料库,让神经网络人非常高兴。 - 页 9 12345678910111213141516...57 新评论 Александр 2009.12.15 13:21 #81 这是一个由16个网格组成的委员会,你可以看一下所创建的文件。 Yury Reshetov 2009.12.15 14:31 #82 Henry_White >> : 如果我们有一个有一个输出神经元的网格,我们如何得到16个输出......!?还是16个网的委员会? 它是。 alex_r 2009.12.16 02:17 #83 大家好! 我已经在这段代码上工作了两个晚上了。 void ann_prepare_input () { int i; double res = 0; for( i = 0; i < AnnInputs; i++) { res = (iRSI(Symbol(), 0, 30, PRICE_OPEN, i) - 50.0) / 50.0; if (MathAbs( res) > 1) { if ( res > 0) { InputVector[ i] = 1.0; } else { InputVector[ i] = -1.0; } } else { InputVector[ i] = res; } } } 我不明白这有什么意义? if (MathAbs( res) > 1) { if ( res > 0) { InputVector[ i] = 1.0; } else { InputVector[ i] = -1.0; } } else { InputVector[ i] = res; } 如果res值不能大于1。 请解释这一点,当然,如果这不是一个秘密的话。 Vladimir Belozercev 2009.12.16 03:34 #84 alex_r >> : 大家好! 我整晚都坐在那里,在一段代码中摸索。 我不明白这有什么意义? 如果res值不能大于1。 如果这不是一个秘密,请解释这一点。 归一化的值(1;-1)应被送入NS的输入。否则,NS训练可能会导致不确定的结果。 alex_r 2009.12.16 04:16 #85 那么,res是如何计算的呢? 条件 (MathAbs(res) > 1) 将永远不会被满足,输入将是 res = (iRSI(Symbol(), 0, 30, PRICE_OPEN, i) - 50.0) / 50.0 而在这里,在99.99%的情况下,除了1和-1,你自然会得到任何东西。 如果是这样 for( i = 0; i < AnnInputs; i++) { res = (iRSI(Symbol(), 0, 30, PRICE_OPEN, i) - 50.0) / 50.0; if ( res > 0) { InputVector[ i] = 1.0; } else { InputVector[ i] = -1.0; } } 那么只有1和-1 还是我错了? Vladimir Belozercev 2009.12.16 04:50 #86 alex_r >> : >>还是我错了? 错了。这里的一切工作都很正常。你应该更仔细地研究这些代码。这是非常简单和明显的。我不明白你的"//"的意义--它完全 "杀死 "了意义。 iRSI基本上给出了从0到100的数值,在这个范围之外有很少的异常值(这就是为什么它是(MathAbs(res)>1)),所以res在99.9%的情况下会位于1和-1之间,而InputVector会位于100%之内。 如果你在等待每个操作员的细目,我想这里没有人有能力给予编程课程。而对于这一部分,它将是非主题的。也许你应该在论坛的另一个版块申请,或者给我写信。 PS。不要对别人的代码进行 "评论"(最好进行评论)。这可能会误导他人,而且只是一种不好的语气,我认为。如果你不同意作者的观点--写出你的变体。 alex_r 2009.12.16 05:04 #87 删除了注释。 现在我解释一下,在res>0时,这里的0对应于RSI指标的50级,我们赋值1,否则我们赋值-1。 什么是不清楚的?最低限度的代码,其他什么都没有。 正如源代码中写的那样,数据规范化的主要条件没有得到满足。 唯一要做的是过滤另一个零,但在这种情况下,它并不那么重要。 Vladimir Belozercev 2009.12.16 05:50 #88 你的变体将给出-1或1。 而这一切是为了什么?你打算如何用这个来训练一个网络呢?或者说,为什么?这种国家的 "二元性 "有什么用?你如何从中建立一个模式来训练网络? Vladimir Belozercev 2009.12.16 05:55 #89 Henry_White >> : 归一化的数值(1;-1)必须输入到NS输入。否则,训练NS可能导致不确定的结果。 也许你被这个帖子所迷惑。这里我指的是范围,而不是二进制状态。 Yury Reshetov 2009.12.16 09:07 #90 alex_r >> : 正如源代码中写的那样,数据规范化的主要条件没有得到满足。 你错了,因为网格输入(第1层)是sigmoids,设置为范围:-1;1。因此,在-1到1范围内的任何输入值都是正常化的必要和充分条件。 你试图构建的是用一个自定义的函数Signum(input)代替sigmoid函数,这就低估了输入数据的离散性,造成了训练集包含大量相互矛盾的数据的情况。 12345678910111213141516...57 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
如果我们有一个有一个输出神经元的网格,我们如何得到16个输出......!?还是16个网的委员会?
它是。
大家好!
我已经在这段代码上工作了两个晚上了。
我不明白这有什么意义?
如果res值不能大于1。
请解释这一点,当然,如果这不是一个秘密的话。
大家好!
我整晚都坐在那里,在一段代码中摸索。
我不明白这有什么意义?
如果res值不能大于1。
如果这不是一个秘密,请解释这一点。
归一化的值(1;-1)应被送入NS的输入。否则,NS训练可能会导致不确定的结果。
那么,res是如何计算的呢?
条件
将永远不会被满足,输入将是而在这里,在99.99%的情况下,除了1和-1,你自然会得到任何东西。
如果是这样
那么只有1和-1
还是我错了?
>>还是我错了?
错了。这里的一切工作都很正常。你应该更仔细地研究这些代码。这是非常简单和明显的。我不明白你的"//"的意义--它完全 "杀死 "了意义。
iRSI基本上给出了从0到100的数值,在这个范围之外有很少的异常值(这就是为什么它是(MathAbs(res)>1)),所以res在99.9%的情况下会位于1和-1之间,而InputVector会位于100%之内。
如果你在等待每个操作员的细目,我想这里没有人有能力给予编程课程。而对于这一部分,它将是非主题的。也许你应该在论坛的另一个版块申请,或者给我写信。
PS。不要对别人的代码进行 "评论"(最好进行评论)。这可能会误导他人,而且只是一种不好的语气,我认为。如果你不同意作者的观点--写出你的变体。
删除了注释。
现在我解释一下,在res>0时,这里的0对应于RSI指标的50级,我们赋值1,否则我们赋值-1。
什么是不清楚的?最低限度的代码,其他什么都没有。
正如源代码中写的那样,数据规范化的主要条件没有得到满足。
唯一要做的是过滤另一个零,但在这种情况下,它并不那么重要。
归一化的数值(1;-1)必须输入到NS输入。否则,训练NS可能导致不确定的结果。
也许你被这个帖子所迷惑。这里我指的是范围,而不是二进制状态。
正如源代码中写的那样,数据规范化的主要条件没有得到满足。
你错了,因为网格输入(第1层)是sigmoids,设置为范围:-1;1。因此,在-1到1范围内的任何输入值都是正常化的必要和充分条件。
你试图构建的是用一个自定义的函数Signum(input)代替sigmoid函数,这就低估了输入数据的离散性,造成了训练集包含大量相互矛盾的数据的情况。