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 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:
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.
Es una entrada abreviada if - else
no hay división por cero.
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
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso
Clase de red neuronal GRNN:
Autor: Yury Kulikov