Aprendizaje automático en el trading: teoría, práctica, operaciones y más - página 1075

 
Maxim Dmitrievsky:


Sí, lo entiendo... ¿Copiaste el código?

Entonces, discutiremos...

 
Maxim Dmitrievsky:

sip, se puede borrar

Por favor, lea las primeras líneas en la sección de comentarios del código y luego vaya a la sección de código ... Espero que entiendas...

A continuación, lo que tenemos que cambiar es añadir un array dinámico más donde se aprende el RDF y pasar eso a la función "CalculateNeuron (double a, int b)" como:

CalculateNeuron ( double a, int b, double & best_features [])

Algo así:

A continuación, copie la matriz best_features[] a la matriz inputs [] mediante ArrayCopy()...

El resto debería ser sencillo:)))

Así, basándose en el valor dinámico de los componentes de la función base, la función devolverá las características transformadas y volverá a entrenar el RDF y volverá a llamar a la función y así sucesivamente.....

 
Vizard_:
No RDF, RF.

no, RDF http://www.alglib.net/dataanalysis/decisionforest.php

El algoritmo RDF es una modificación del algoritmo original Random Forest diseñado por Leo Breiman y Adele Cutler. En este algoritmo se combinan dos ideas: el uso de un comité de árbol de decisión que obtiene el resultado por votación, y la idea de la aleatorización del proceso de entrenamiento.
Decision forest - ALGLIB, C++ and C# library
  • www.alglib.net
This page contains a brief description of the RDF classification and regression algorithm. Prior to reading this page, it is necessary that you look through the paper on the general principles of data analysis methods. It contains important information which, to avoid duplication (as it is of great significance for each algorithm in this...
 
Maxim Dmitrievsky:

sí... pero el código demasiado grande con "caso", creo que puede implementar mucho más corto ... así que pls esperar un poco cuando termine mi código, si va mal así continuar con la suya ^)

Sí, eso es exactamente lo que es GMDH mejor función de base según la wikipedia que se puede comprobar :))) ... después de un montón de investigación también no pude encontrar una mejor manera por ahora todavía trying.................

Pero sólo se ejecutará una condición en cada paso y, por lo tanto, el código restante no se ejecutará después de la sentencia break:

Así que supongo que el entrenamiento puede ser lento... no lo sé... si es así, entonces podemos limitar el valor máximo de los componentes a 3 o 4 utilizando otra variable de entrada para que como máximo rompa las características en 3 o 4 componentes y no más que eso.

Como ya he dicho, el propio GMDH actúa como una red neuronal y, por lo tanto, estamos utilizando una doble red neuronal, una GMDH y una RDF juntas :)))

 
Maxim Dmitrievsky:

Decidió hacer una broma y reducir el aprendizaje de máquinas a aprender a codificar, por lo que se ve... que le vaya bien, y parece que a tu activo amigo también le vendría bien algo de educación...)

 
Maxim Dmitrievsky:

Ni siquiera llegué a tu P-net, por cierto ¿es muy diferente de PNN?

He estado leyendo sobre PNN, es un puto grial.

no recuerdo qué PNN es, pero la búsqueda da PNN-Soft servicios de programación B2B para empresas, pero creo que seguro que nuestra p-net es diferente

en el fondo es una idea muy simple, pero original))

 
Maxim Dmitrievsky:

Correcto, pero no necesitamos 2 NN, sólo necesitamos un buen selector de características, por lo que no debe ser un gmdh completo

así que mi implementación más cercana a ella

Exactamente...no es obligatorio que utilicemos una fórmula exacta o métodos de GMDH o RDF o RF etc...todo lo que buscamos son resultados finales:)))))))))

Lo que estoy buscando es:

1.Entrenamiento rápido con datos anteriores

2.Selección rápida de características durante la negociación en vivo para una rápida ejecución de las operaciones

3.Convergencia del algo hacia una solución a través de un entrenamiento repetido

4.Alta precisión y baja reducción durante la negociación

Ahora, cumplir con todos los puntos es generalmente difícil de lograr en MQL5, pero su implementación actual parece cumplir con la mayoría de los puntos ... pero un equilibrio adecuado de todos los 4 criterios deben hacerse mediante el ajuste fino de la algo ...

Por ejemplo, si aumentamos el número de características a un nivel alto veo cierta mejora en los resultados, pero el tiempo de entrenamiento también aumenta significativamente...

 
Maxim Dmitrievsky:

NN probabilística, construye árboles de características con polinomios de tipo MGUA, y utiliza estos polinomios en lugar de los sigmoides

https://en.wikipedia.org/wiki/Probabilistic_neural_network

y algunas cosas bayesianas también... mucho más rápido que MLP también.

there's also Pulsed neural networks, PNN) https://ru.wikipedia.org/wiki/%D0%98%D0%BC%D0%BF%D1%83%D0%BB%D1%8C%D1%81%D0%BD%D0%B0%D1%8F_%D0%BD%D0%B5%D0%B9%D1%80%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B5%D1%82%D1%8C
 
Maxim Dmitrievsky:

Sí, todavía estoy confundido en el movimiento . Tenía en mente un polinomio NA

Creo que podemos utilizar PNN, RDF y GMDH juntos en su código:))))

La lógica de PNN parece genial!!!...PNN parece actuar como una neurona de un cerebro humano...me refiero a un proceso rápido de toma de decisiones...así que si usas una sentencia break en cada bucle for de mi lógica probablemente funcionará como PNN...

Quiero decir que no vamos al final de cada bucle for...pero se comprobará el tiempo de retardo usando la función TickCount() y si es más de 2 a 5 ms, entonces se rompe el bucle y se continúa con la siguiente decisión RDF...

Acabo de buscar en PNN... así que no me pidas que escriba el código de PNN de nuevo:))))))))))))))))))))))))))))

 
Maxim Dmitrievsky:

También es necesario implementar diferentes funciones de transformación de base: algebraicas, trigonométricas, polinomios ortogonales

Creo que podemos usar PNN en mi lógica actual de GMDH para acelerar el proceso de decisión... No estoy seguro...pero acabo de mirar la lógica y así no me digas que escriba el código de PNN ahora:)))