Bibliotecas: GRNN Neural Network Class

 

GRNN Neural Network Class:

A classe implementa uma rede de regressão neural generalizada(General Regression Neural Network - GRNN).

Autor: Yury Kulikov

 
Automated-Trading:

Classe de rede neural GRNN:

Autor: Yury Kulikov

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?
 
Existe algum código C / C ++ para isso?
 
jommerbot:
Alguém já tentou descobrir isso? É possível treinar sem uma matriz de dados de treinamento de saída? Como?
Gostaria de saber o que você alimentaria como amostra de treinamento?
 

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:

 
daliel:

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.

 
Event:

É uma entrada abreviada do tipo if - else

não há divisão por zero.

Ou seja, se o resultado de (m_inp[i]-inputvector[i])/sigma[i]; for 0, então sigma[i] não muda, mas apenas d muda?
 
daliel:
Ou seja, se o resultado de (m_inp[i]-inputvector[i])/sigma[i]; for 0, então sigma[i] não muda, mas somente d muda?
Operador condicional ?
 
daliel:
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