HiYury Kulikov,在你的文件 test_grnn_mul_add.mq5 中,你 测试了 从 1 到 9 的整数奇数 数据 ,测试后,你使用了从 1 到 10 的兰特数进行检查,结果一切正常,但如果我使用的数字不在 1 到 10 之间,就不起作用了。
所以我遇到了一个大问题,如何在测试之前定义测试范围?
有人试过解决这个问题吗?有没有可能在没有输出训练数据数组的情况下进行训练?如何训练?
有没有 这方面的 C / C ++ 代码 ?
jommerbot:
有人试过解决这个问题吗?有没有可能在没有输出训练数据数组的情况下进行训练?如何训练?
我想知道你会把什么作为训练样本?
有人试过解决这个问题吗?有没有可能在没有输出训练数据数组的情况下进行训练?如何训练?
代码中有这样一行 #122 :d=sigma[i]==0.0?0.0:(m_inp[i]-inputvector[i])/sigma[i];
那么,0.0?0.0: 是什么意思?
问题的关键在于,我正在用另一种语言重写代码,而在其中一次迭代中,m_inp[i]-inputvector[i] = 0,sigma[i] = 0。由此可见,除以 0 是很难看的。我想问题在于我不明白==0.0?0.0 是 什么意思:
daliel:
代码中有这样一行 #122 :d=sigma[i]==0.0?0.0:(m_inp[i]-inputvector[i])/sigma[i];
那么,0.0?0.0: 是什么意思?
问题的关键在于,我正在用另一种语言重写代码,而在其中一次迭代中,m_inp[i]-inputvector[i] = 0,sigma[i] = 0。由此可见,除以 0 是很难看的。我想问题在于我不明白==0.0?0.0 是 什么意思:
这是一个缩短的if - else 符号
if(sigma[i] == 0.0) { d = 0; } else { d = (m_inp[i] - inputvector[i]) / sigma[i]; }
没有零除法。
Event:
也就是说,如果(m_inp[i]-inputvector[i])/sigma[i]; 的结果为 0,那么 sigma[i] 不会改变,只有 d 会改变?
这是一个简略的if - else 条目
没有零除法。
daliel:
也就是说,如果结果(m_inp[i]-inputvector[i])/sigma[i]; 为 0,那么 sigma[i] 不会改变,只有 d 会改变?
也就是说,如果结果(m_inp[i]-inputvector[i])/sigma[i]; 为 0,那么 sigma[i] 不会改变,只有 d 会改变?
sigma[i] 不会改变,它只是与零进行了比较。
而d 会根据比较结果发生变化
GRNN 神经网络类:
作者: Yury Kulikov