Discusión sobre el artículo "Random Decision Forest en el aprendizaje reforzado" - página 6

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
Buenas tardes,
Os pongo los resultados de algunos experimentos (obtenidos sobre árboles puros sin lógica difusa, pensaba adjuntarlos a un nuevo artículo, pero como la discusión sobre las funciones de recompensa continúa, los pongo como información para la reflexión y discusión).
1.No me pareció del todo correcto que digamos que en la VENTA el valor aleatorio se fije en todo el intervalo 0..1, porque ya sabemos que las ventas no son rentables
Limitando los rangos a valores opuestos e inciertos, la velocidad de aprendizaje aumenta muchas veces. Con 2-3 ejecuciones (creo que con un pase en los datos aleatorios) la calidad de la formación como con 4-6 de edad (la dispersión es amplia, porque una gran cantidad de factores adicionales, pero la eficiencia ha aumentado ni siquiera en decenas de por ciento).
2. En la implementación inicial, me pareció extraño que el valor obtenido al azar es un factor de refuerzo. Esto crea fácilmente una situación en la que una fuerte tendencia tiene una menor recompensa.
El primer intento de evitar esto
Idea: a partir de 100 pips taken profit- 1, si es menor - uniformemente creciente (en este caso de 0,61). Priper pdl para la venta, para la compra de manera similar con otros niveles. Teóricamente para una tendencia más fuerte - mayor recompensa. Los resultados han mejorado, pero un poco más que el error estadístico. Al mismo tiempo, el archivo con el árbol para las mismas condiciones ha disminuido significativamente en tamaño. Al parecer, una ordenación tan peculiar de los resultados permitió describir las reglas de forma más sencilla.
Para probar el conjunto de árboles, decidí cargar la estimación de un árbol
y, por costumbre, ejecuté el entrenamiento. Cuál fue mi sorpresa, en un entrenamiento similar con una función de recompensa más gruesa mostró una mejora significativa - en el gráfico entrenado, en igualdad de condiciones, el beneficio durante 4 meses superó el beneficio durante 6 meses de la variante antigua (estoy operando con comparaciones, porque las cifras específicas varían mucho de las condiciones de entrenamiento, par, curvatura de las asas del codificador) y lo que es más interesante, los resultados en el intervalo de control mejoraron. ¡Cargar la función de evaluación mejoró la predicción! Probablemente para un pro-estadístico no hay nada nuevo aquí y puede demostrar con fórmulas que debería ser así, pero para mí es un shock, como dicen es necesario acostumbrarse. Esto plantea la cuestión de una mayor selección y evaluación de las funciones de predicción.
Espero que el tiempo que pasé en las pruebas ayudará a alguien a reducir el tiempo de su búsqueda por lo menos (o dar la oportunidad de cometer nuevos errores, que será compartida con nosotros).
Interesantes resultados, gracias. El 1er punto sí, la velocidad de aprendizaje aumenta. De hecho la clase en la que estoy trabajando ahora está aprendiendo efectivamente en 1 iteración ya. Es decir, es un algoritmo super eficiente en cuanto a velocidad de aprendizaje, pero aún así merece la pena organizar el preprocesamiento interno para que el modelo no sobreentrene demasiado.
No entiendo de la parte resaltada, ¿qué significa cargar la estimación de un solo árbol? ¿Quiere decir que sólo da 0 y 1 como etiquetas de clase? En ese caso podemos suponer que la varianza de los valores dentro del modelo ha disminuido y la calidad ha aumentado como consecuencia. Porque el algoritmo se diseñó originalmente para un gran número de iteraciones, pero en la práctica resulta que no es necesario y esa carga puede ser correcta.
y ¿hasta qué punto es realista enseñar este código, amablemente facilitado por el autor del artículo, a los patrones más sencillos de 3-5 compases?
SZY: hmm, incluso bajo el alcohol que estoy escribiendo como en Aliexpress a un vendedor chino ))))
Todo es real, se introducen patrones de 3-5 compases.
Todo es real, usted alimenta patrones de 3-5 barras a la entrada
Seré breve..... ¿Cómo?
Seré breve..... ¿Cómo?
a mano )
¿No entiendo lo que significa cargar la evaluación de un solo árbol? ¿Quiere decir que sólo da 0 y 1 como etiquetas de clase?
Sí, la prueba se llevó a cabo con un árbol y las etiquetas 0 y 1. (En un conjunto de árboles similares el resultado es aún mayor).
Perdón, naturalmente con un bosque de árboles (quiero decir siempre un bosque, y a nivel doméstico diciendo árbol, me quitaré esta costumbre)
Sí, lo tengo. Pero el bosque también se puede establecer en 1 árbol o sacar su función de construcción. No sé por qué es necesario.
Al principio intenté aumentar el número de árboles a 500 y 1000. Pero me di cuenta de que más y más árboles no mejoró los resultados. Pero lo interno que veo superando los 500 árboles, la optimización sigue fallando y no creando archivos de texto Mtrees.
Además, hice pruebas aumentando el número de 50 a 100 y noté que los mejores resultados están en iteraciones entre 20 y 25 iteraciones y todo lo que sea más que eso no tiene sentido.
Pero tengo que estar de acuerdo en que el período RSI resultados con diferentes combinaciones.
hnd1 = iRSI (_Símbolo, 0,8, PRECIO_CIERRE);
hnd2 = iRSI (_Símbolo, 0,16, PRECIO_CIERRE);
hnd3 = iRSI (_Símbolo, 0,24, PRECIO_CIERRE);
Así que pensé en añadir otro a MTrees para uso futuro. Pero después me di cuenta que EA almacena los valores de la última iteración. Si es así de todos modos, si podemos cambiar el período. Quiero decir EA debe ser capaz de cambiar inmediatamente a otro período de RSI si hay una pérdida.
Además, no estoy bien versado en la lógica difusa. Así que me preguntaba si alguien puede publicar el código fuente completo sin lógica difusa, entonces le agradecería si no puede encontrar el código correcto para RDF sin lógica difusa y un indicador de ejemplo.
Sólo tengo curiosidad por ver los resultados de lo que sucede a los resultados si alimentamos 20 a 30 valores de indicador como entrada al agente y hacer que el agente automáticamente entrenar.
Al principio intenté aumentar el número de árboles a 500 y 1000. Pero me di cuenta de que más y más árboles no mejoró los resultados. Pero lo interno que veo superando los 500 árboles, la optimización sigue fallando y no creando archivos de texto Mtrees.
Además, hice pruebas aumentando el número de 50 a 100 y noté que los mejores resultados están en iteraciones entre 20 y 25 iteraciones y nada más que eso tiene sentido.
Tengo curiosidad por ver qué ocurre con los resultados si introducimos de 20 a 30 valores indicadores como entrada al agente y hacemos que el agente se entrene automáticamente.
Hay resultados experimentales en la web, 100 árboles es el mejor reconocimiento, 20-50 si se necesita predicción, probé a 100, la predicción empeora.
Probé con 15-19 indicadores en la entrada con la expectativa de que cuando la situación cambie, el bosque seleccionará los mejores durante el entrenamiento. A partir de 10 los resultados dejan de crecer. Tenga en cuenta que al construir el bosque para cada árbol sólo la mitad de las entradas se utilizan (en esta implementación del bosque). Parece que teóricamente la raíz del número de entradas (no la mitad) es mejor para tareas de clasificación (como dicen), pero no lo he probado yo mismo.
La red tiene los resultados de los experimentos, 100 árboles - el mejor reconocimiento, 20-50 - si la predicción es necesario, he intentado en 100, la previsibilidad es cada vez peor.
Traté de 15-19 indicadores en la entrada en el cálculo de que si la situación cambia el bosque elegirá el mejor cuando la formación. Ya en 10 y por encima de los resultados de dejar de crecer. Tenga en cuenta que cuando se construye un bosque, sólo la mitad de las entradas se utilizan para cada árbol. Parece que teóricamente para problemas de clasificación (como dicen) es la raíz del número de entradas (en lugar de la mitad) es mejor, pero no lo intentó.
Gracias por su respuesta.
Sin embargo, quiero saber qué pasa si podemos saber todos (15 a 20 indicadores) a la vez y NO utilizar sólo los pocos indicadores para el agente, pero debemos utilizar todos los indicadores. Y luego, entrenar al agente durante el último 1 año para que el agente pueda desarrollar la mejor política utilizando todos los indicadores. Quiero decir que deberíamos determinar el estado actual del agente en cada cierre de vela con más valores de indicadores.
Hasta ahora lo que he notado es que una pérdida está acabando con la serie de pequeños beneficios debido a la falta de condiciones de salida adecuadas. Así que tanto las condiciones de entrada como las de salida necesitan ser afinadas.
¿Podría proporcionarme un código de ejemplo de un indicador sin lógica difusa y dónde colocar el indicador en la implementación actual del código?
Intenté agregar los indicadores dentro de la función OnTick (), pero no sirvió de mucho. Estoy buscando un código de ejemplo completo de la versión actual de la EA sin lógica difusa.