Una biblioteca rápida y gratuita para MT4, para deleite de los neuralnetworkers - página 15
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Yo añadiré. O en el caso de un choque de terminales. Pero parece que se ha encontrado una solución.
La cuestión es diferente. Vladislav, parece que lees el código C++ sin "intermediarios".
¿Podría comentar el problema de las respuestas idénticas de la comisión de rejilla y la correcta inicialización de los valores de los pesos? (detallado aquí y más registros, y aquí una pregunta sobre los pesos)
He mirado los códigos. La aleatorización está ahí. Lo que no : dado que el estándar C/C++ tiene un generador de números casi aleatorios, se recomienda reiniciar el núcleo (semilla - srand(int ) - mover el punto de referencia antes de cada llamada a rand())
Sí. Las entradas son diferentes para cada cuadrícula, aunque esto no es crucial. Puede tomar una señal estándar, por ejemplo, el mismo RSI y una rejilla, y seguir obteniendo valores negativos en cualquier entrada de la fuerza bruta.
Inicialización de las escalas -1, 1.
Sobre el perfil... ¿Se refiere al archivo resultante de la red entrenada?
No. Estamos hablando de cosas diferentes. ¿Te he preguntado por las salidas? Por favor, investigue aquí. ¡Es decir, tenemos un comité de 16 redes, las inicializamos con pesos aleatorios, ponemos un único &input_vector[] en cada entrada y como resultado las salidas son las mismas! (en el enlace se exponen todos los registros).
¡¡¡Aquí está la pregunta!!!
........
Sí. El archivo resultante de la red entrenada se muestra aquí, o por correo electrónico .... Interesado en los valores de los pesos. También sería bueno tener un perfil de la red inmediatamente después de la inicialización, sin entrenamiento. >> ¿DE ACUERDO?
No. Estamos hablando de cosas diferentes. ¿Te he preguntado por las salidas? Por favor, escarbe aquí. ¡¡¡Es decir, tenemos un comité de 16 redes, las inicializamos con pesos aleatorios, ponemos un único &input_vector[] en cada entrada, como resultado las salidas son las mismas!!! (en el enlace se exponen todos los registros).
¡¡¡Aquí está la pregunta!!!
........
Sí. El archivo resultante de la red entrenada se muestra aquí, o por correo electrónico .... Interesado en los valores de los pesos. También sería bueno tener un perfil de la red inmediatamente después de la inicialización, sin entrenamiento. ¿De acuerdo?
Realmente hablamos de cosas diferentes )) Entiendo su problema. Y lo comprobó. Y confirmó que sí, que ese efecto está presente.
En mi último post escribí "Otra rareza", lo que significa que no tiene nada que ver con el problema de la aleatorización de los pesos iniciales y la identidad del funcionamiento de las mallas del comité con un único vector de entrada.
Digo que con el aprendizaje redundante (aunque el efecto también está presente con el aprendizaje normal), con, según el MSE, convergencia positiva, la red no "encuentra" un mínimo absoluto, y ni siquiera uno local, sino que rueda banalmente hasta el límite del rango, lo que indica un problema en el algoritmo de aprendizaje...
Por cierto, se ha comprobado la inicialización de los pesos iniciales (registrados inmediatamente después de la creación). Todo funciona. La aleatorización está ahí.
Pero aquí hay una entrada extraña que encontré en el perfil:
layer_sizes=31 31 17 2
Y esto en:
ann = f2M_create_standard (4, AnnInputs, AnnInputs, AnnInputs / 2 + 1, 1); con AnnInputs=30
Las capas ocultas son, por alguna razón, una más de las declaradas. ¡¡¡Pero lo que me confunde aún más es el tamaño de la capa de salida "2" cuando se declara "1" !!!
Por cierto, se ha comprobado la inicialización de los pesos iniciales (registrados inmediatamente después de la creación). Todo funciona. La aleatorización está ahí.
Pero aquí hay una entrada extraña que encontré en el perfil:
layer_sizes=31 31 17 2
Y esto en:
ann = f2M_create_standard (4, AnnInputs, AnnInputs, AnnInputs / 2 + 1, 1); cuando AnnInputs=30
Por alguna razón hay una capa oculta más de las declaradas. ¡¡¡Pero lo que me confunde aún más es el tamaño de la capa de salida "2" cuando se declara "1" !!!
Todo es correcto allí. Hay 4 capas en total: capa de entrada, 2 capas ocultas, capa de salida. Cada capa tiene un sesgo = 1, no participa en la dimensión "usuario". Esto está tomado de la documentación de FANN.
Buena suerte.
Por cierto, se ha comprobado la inicialización de los pesos iniciales (registrados inmediatamente después de la creación). Todo funciona. Hay una aleatorización.
Sí, hay una aleatorización de los pesos. Pero aún así repito:
Se ha tomado nota. La aleatorización es de -1 a 1, y en el perfil de la red, los pesos son de -10,0e--003 a 10,0e-003
Ejemplo: (12, -7,35577636217311400000e-003) (13, 7,639700053449810000-002)
¿Es esto correcto?
Por eso te pedí que mostraras tus perfiles de red....
Sí, la aleatoriedad de las escalas está ahí. Pero lo diré de nuevo:
Se ha tomado nota. La aleatoriedad va de -1 a 1, y en el perfil de la red los pesos van de -10,0e--003 a 10,0e-003
Ejemplo: (12, -7,35577636217311400000e-003) (13, 7,639700053449810000-002)
¿Es esto correcto?
Por eso te pedí que mostraras tus perfiles de red....
Comprobado - mis valores son diferentes y están dispersos casi uniformemente. Aquí está una de las inicializaciones :
connections (connected_to_neuron, weight)=(0, -9.946899414062500000000e-001) (1, -6.88415527343750000e-001) (2, 6.51367187500000000e-001) (3, -8.2067871093750000e-001) (4, 9.83703613281250000e-001) (5, -6.84936523437500000000e-001) (6, 3.6010742187500000000e-001) (7, 2.90527343750000e-001) (8, 7.546386718750000e-001) (9, -7.60314941406250000e-001) (10, -7.78137207031250000e-001) (11, 755432128906250000e-001) (12, -6,61560058593750000e-001) (13, 1,657714843750000e-001) (14, 5,710449218750000e-001) (15, -1,54785156250000e-001) (16, 9,851074218750000e-002) (17, -5.26916503906250000e-001) (18, 8,58947753906250000e-001) (19, -5,6652832031250000e-001) (20, 7,3144531250000e-001) (21, -8,80310058593750000e-001) (22, 6,823730468750000e-002)
................................................................................................................................................................................................................................
(42, -6,9537351562500000000e-001) (43, -7,0153808593750000e-001) (44, -7,38952636718750000e-001) (45, -3,44238281250000e-002) (46, -1.99401855468750000e-001) (47, 2,73132324218750000e-001) (48, 4,53186035156250000e-001) (49, -4,709472656250000e-001) (50, -7,741699218750000e-001) (51, -9.54711914062500000000e-001) (52, 8,09509277343750000e-001) (53, 9,92370605468750000e-001) (54, -4,13391113281250000e-001) (55, 6.672973632812500000000e-001) (56, 9,59289550781250000e-001) (57, 1,09252968750000e-001) (58, -3,02551269531250000e-001) (59, -5,29785156250000e-001) (60, 5.8575439453125000000e-001) (61, 7,999877929968750000e-001) (62, -1,11999511718750000e-001) (63, -8,0749511718750000e-001) (64, -7.0886230468750000e-001) (65, 8,05236816406250000e-001) (66, 2,9260253906250000e-001) (67, 3,61633300781250000e-001) (68, -2,99011230468750000e-001) (69, 6.2481689453125000000e-001) (70, -7,15759277343750000e-001) (71, -7,5720214843750000e-001) (72, -1,31774902343750000e-001) (73, 5,53894042968750000e-001) (74, -3.8500976562500000000e-001) (75, -3,3361816406250000e-001) (76, -9,587402343750000e-001) (77, -3,70544433593750000e-001) (78, 8,2690429468750000e-001)
SZZ La verdad montar la propia biblioteca. Algo diferente de f2M. Aunque, la ideología del autor de f2M me gustó y me llevó a una visión similar. Acabo de añadir la reinicialización del generador hoy - no sé cuánto afecta.
Comprobado - mis valores son diferentes y están dispersos casi uniformemente. Aquí está una de las inicializaciones :
Tus pesos son más que correctos, pero ¿cuáles son los valores de las salidas de la red cuando el vector de entrada es el mismo?
Tus pesos son más que correctos, pero ¿cuáles son las salidas de la red para el mismo vector de entrada?
Todavía no he probado todo, mientras se ejecuta el probador de optimización. No quiero interrumpirlo.
Puedo adjuntar dll, mqh y EA - hay algunas diferencias con los originales, tal vez será más rápido para que funcione.