La etiqueta del mercado o los buenos modales en un campo de minas - página 31

 
paralocus писал(а) >>

¡Hola Neurton! De todos modos, aún no hay suerte con la doble capa.

Escribí un perceptrón de una capa con ORO y lo ejecuté todo el día de ayer. Se está comportando de forma extraña. Aprende y no aprende, y depende catastróficamente del número de épocas.

Así que mis resultados son los siguientes: 8 épocas - la red no aprende, 12 épocas - la red aprende, 13 épocas - la red no aprende.

En resumen, los resultados se jactan de que todavía no puedo.

En cualquier caso, describiré un algoritmo que he implementado. A ver si me he perdido algo.

1. El perceptrón tiene D entradas binarias, una de las cuales es una constante +1.

2. La PA utilizada es la de incrementos secuenciales de cotierra a lo largo de un número de Open.

3. Todos los pesos se inicializan con pequeños valores aleatorios del rango +/-1 antes de comenzar.

4. La longitud del vector de entrenamiento se calcula como P = 4 * D*D/D = 4*D.

5. El vector de entrenamiento se introduce en la entrada de la rejilla y el error de la rejilla se calcula como Qs = Test - OUT, donde Test es el valor de BP en n+1, es decir, la siguiente, lectura, OUT es la salida de la rejilla en n lecturas.

6. Para obtener el valor del error en las entradas Q, se multiplica el error de la red Qs por la derivada de la función de compresión (1 - OUT+OUT): Q = Qs *(1 - OUT*OUT).

7. El vector de corrección para cada peso que entra en una neurona COR[i] += Q*D[i] se calcula y se acumula durante la época.

8. SQR[i] += COR[i]*COR[i] se calcula por separado y se acumula durante toda la época para cada peso, incluido en la neurona.

9. Al final de una época, para cada peso se calcula la corrección personal y se añade a ese peso W[i] += COR[i]/SQR[i]

Se ha intentado utilizar un coeficiente de (1 - j/N), así como aleatorizar los pesos cuyos valores absolutos han crecido más de 20. Aleatorizar ayuda mejor.

P.D.: se ha corregido un error en el texto.

Paralocus, pega a tu novia en la entrada Esto:

En lugar de abrir los precios. Y publica el resultado. Si no aprende, entonces el error es catastrófico y hay que hacer una búsqueda seria.

P.D. ¿Se divide por norma vectorial o por cuadrado? Debería hacerlo por norma, pero lo que has escrito parece una suma de cuadrados sin extracción de la raíz.

 

Gracias, lo estoy probando.

Aquí están los resultados para AUDUSD, H4, D = 13, 33 épocas. Las pruebas se llevaron a cabo en una parte de la historia desde el 01.08.2009 hasta el 21.05.2009

Hay algunos puntos más (número de épocas: 31, 25, 14, 10, 7) obtenidos con el optimizador, pero los resultados son peores en ellos.





P.D. ¡Exactamente! La raíz es... cuadrada... ¡Me olvidé de sacarlo!

 
paralocus писал(а) >>

P.D. ¡Exactamente! La raíz es... cuadrada... ¡Me olvidé de sacarlo!

¡Como en el chiste de Chapaev! :-)

 
Neutron >> :

¡Es como el chiste de Chapaev! :-)

-:) ... Llorando, pero afilando su sable...

 

No, Petya arrancó todos los arbustos del patio - se le pidió que encontrara la raíz cuadrada:-)

Aquí, mira. Se trata de un Ns-ca de doble capa con dos entradas y 8 épocas de entrenamiento en cada muestra. Son 500 muestras en total y la probabilidad de predicción correcta se calcula como la media de 10 experimentos independientes (para la significación estadística de los resultados):

El rojo muestra el resultado de la muestra de entrenamiento, el azul el de la muestra de prueba. Puedes ver que los resultados no son muy diferentes y eso es bueno, porque muestra que la red no está sobreentrenada. A menudo el error es que seleccionamos un vector de entrenamiento demasiado corto (menos de la longitud óptima), y casi el 100% de los impactos en la muestra de entrenamiento. Al mismo tiempo, ¡no miran los resultados de predicción de la muestra que no participó en el entrenamiento! En este caso, el resultado suele ser cercano a cero. Se trata de un sobreentrenamiento, la red simplemente ha aprendido la lección de memoria y es incapaz de componerse. Luego se preguntan qué es lo que les hace suspender.

 

¡Hurra!

¡Mi depósito acaba de pasar de 1K!

Neutrón, y las entradas binarias para la rejilla entrenada por su fórmula de muestra de prueba?

 

Divido la BP construida por esta fórmula en segmentos del mismo incremento de precio H y tomo la primera diferencia. Redondeo los incrementos a +/-1 e intento predecirlos. Hn Fig. El horizonte de negociación H se representa en pips en el eje de abscisas y la probabilidad se representa en el eje de ordenadas. Por lo tanto, las entradas son binarias.

 

Así es como lo descubrí. Para ver esta fórmula con mis ojos la pongo en el gráfico como un indicador. Puse todo esto en la entrada de la cuadrícula, pero no puedo averiguar cómo ver los resultados.

Es decir, no puedo hacerlo con un probador. Sólo puedes imprimir los pesos y ver cómo está... vivo o no.

No, no es así. No dividí la PA resultante en segmentos del mismo incremento, sino que tomé incrementos consecutivos de PA en cuentas D.

 
paralocus писал(а) >>

Así es como lo descubrí. Para ver esta fórmula con mis ojos la pongo en el gráfico como un indicador. Puse todo esto en la entrada de la cuadrícula, pero no puedo averiguar cómo ver los resultados.

Es decir, no puedo hacerlo con un probador. Sólo puedes imprimir los pesos y ver cómo está... vivo o no.

No, no es así. No dividí la PA resultante en segmentos de incrementos iguales, sino que tomé incrementos consecutivos de PA en cuentas D.

¿Qué tal si se muestran los pesos a través de Comment()?

 
FION >> :

¿Se pueden mostrar los pesos a través de Comment()?

Se puede, pero no es conveniente, porque cada llamada posterior de Comment() "atascará" los resultados de la salida anterior, ya que se realizará utilizando las mismas coordenadas gráficas que la anterior. Por lo tanto, Print() es mejor;

Razón de la queja: