Bibliotecas: Clase de red neuronal GRNN

 

Clase de red neuronal GRNN:

La clase se da cuenta de las redes de regresión generalizada (General Regresión Neural Network - GRNN)

Autor: Yury Kulikov

 
Automated-Trading:

Clase de red neuronal GRNN:

Autor: Yury Kulikov

Hola Yury K ulikov, en tu fichero test_grnn_mul_add.mq5, pruebas datos enteros impares del 1 al 9, y despues de la prueba, usas un numero rand del 1 al 10 para comprobarlo, esta todo bien, pero si uso un numero no entre 1 y 10, no funciona.

Así que tengo un gran problema, ¿cómo definir el rango de prueba antes de que suceda? si no puedo conseguirlo, la red parece inútil.

 
¿Alguien ha intentado averiguarlo? ¿Es posible entrenar sin una matriz de datos de entrenamiento de salida? ¿Cómo?
 
¿Hay algún código C / C ++ para esto?
 
jommerbot:
¿Alguien ha intentado averiguarlo? ¿Es posible entrenar sin una matriz de datos de entrenamiento de salida? ¿Cómo?
Me pregunto qué se introduciría entonces como muestra de entrenamiento.
 

hay tal linea #122 en el codigo: d=sigma[i]==0.0?0.0:(m_inp[i]-inputvector[i])/sigma[i];

¿qué significa 0,0?0,0:?

La cuestión es que estoy reescribiendo el código en otro lenguaje y en una de las iteraciones m_inp[i]-inputvector[i] = 0, respectivamente sigma[i] = 0. De esto se deduce que dividir por cero es feo. Supongo que el problema es que no entiendo lo que significa ==0,0?0,0:

 
daliel:

hay tal linea #122 en el codigo: d=sigma[i]==0.0?0.0:(m_inp[i]-inputvector[i])/sigma[i];

¿qué significa 0,0?0,0:?

La cuestión es que estoy reescribiendo el código en otro lenguaje y en una de las iteraciones m_inp[i]-inputvector[i] = 0, respectivamente sigma[i] = 0. De esto se deduce que dividir por cero es feo. Supongo que el problema es que no entiendo lo que significa ==0,0?0,0:

Es una notación abreviada if - else

if(sigma[i] == 0.0) {
    d = 0;
}
else {
    d = (m_inp[i] - inputvector[i]) / sigma[i];
}

no hay división por cero.

 
Event:

Es una entrada abreviada if - else

no hay división por cero.

es decir, si el resultado de (m_inp[i]-inputvector[i])/sigma[i]; es 0, entonces sigma[i] no cambia, sino que sólo cambia d?
 
daliel:
es decir, si el resultado de (m_inp[i]-inputvector[i])/sigma[i]; es 0, entonces sigma[i] no cambia, sino que sólo cambia d?
Operador condicional ?
 
daliel:
es decir, si el resultado (m_inp[i]-inputvector[i])/sigma[i]; es 0, entonces sigma[i] no cambia, sino que sólo cambia d?

Elsigma[i] no cambia, sólo se compara con cero.

Y d cambia a partir del resultado de esta comparación