Olá, Yury Kulikov, em seu arquivo test_grnn_mul_add.mq5, você testa dados de números ímpares inteiros de 1 a 9 e, após o teste, usa um número rand de 1 a 10 para verificar, está tudo certo, mas se eu usar um número que não esteja entre 1 e 10, não funcionará.
Portanto, tenho um grande problema: como definir o intervalo de teste antes que ele ocorra? Se eu não conseguir, a rede parecerá inútil!
Alguém já tentou descobrir isso? É possível treinar sem uma matriz de dados de treinamento de saída? Como?
há uma linha #122 no código: d=sigma[i]==0.0?0.0:(m_inp[i]-inputvector[i])/sigma[i];
então o que significa 0,0?0,0:?
A questão é que estou reescrevendo o código em outra linguagem e, em uma das iterações, m_inp[i]-inputvector[i] = 0, respectivamente sigma[i] = 0. Disso resulta que dividir por zero é feio. Suponho que o problema seja o fato de eu não entender o que significa ==0,0?0,0:
há uma linha #122 no código: d=sigma[i]==0.0?0.0:(m_inp[i]-inputvector[i])/sigma[i];
então o que significa 0,0?0,0:?
A questão é que estou reescrevendo o código em outra linguagem e, em uma das iterações, m_inp[i]-inputvector[i] = 0, respectivamente sigma[i] = 0. Disso resulta que dividir por zero é feio. Suponho que o problema seja o fato de eu não entender o que significa ==0,0?0,0:
É uma notação if - else abreviada
if(sigma[i] == 0.0) { d = 0; } else { d = (m_inp[i] - inputvector[i]) / sigma[i]; }
não há divisão por zero.
É uma entrada abreviada do tipo if - else
não há divisão por zero.
Ou seja, se o resultado (m_inp[i]-inputvector[i])/sigma[i]; for 0, então sigma[i] não muda, mas apenas d muda?
Osigma[i] não muda, ele é apenas comparado a zero.
E d muda a partir do resultado dessa comparação
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
GRNN Neural Network Class:
Autor: Yury Kulikov