Aprendizaje automático en el trading: teoría, práctica, operaciones y más - página 3015
![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
En los nuevos datos, sí. Es que se ha dado con un patrón estable, y el resto del árbol sólo deja ruido de viento. El ruido está ahí por forzar al árbol a dar respuestas a todas las preguntas, es decir, a clasificar toda la muestra.
Lo hago (selección de hojas) en automático - cambiando el nivel de activación de la hoja. Clásicamente, se utiliza 0,5 para la clasificación. Todas las hojas con una probabilidad superior a 0,5 se activan, el resto permanecen en silencio (lo que equivale a su eliminación del árbol). Este método ha sido descrito en más de un artículo en este sitio y foro.
Y puede fijar el nivel en 0,9 o 0,95, entonces sólo funcionarán las hojas superlimpias con un 95% de ejemplos de la clase correcta. Para la regresión de manera similar, sólo el nivel no es de 0 a 1, pero en valores abs. Las imágenes de arriba muestran el mismo modelo, pero con diferentes niveles de activación. El primero a través de 0.00020, el segundo a través de 0.00040pts. El segundo se saltó los intervalos de negociación no rentables, y trabajó sólo en los más rentables y mostró beneficios, aunque trabajó con pausas de 1-2 años. La activación se produjo en 70000 casos de 400000, es decir, alrededor del 17% de las mejores hojas funcionaron.
El resultado es similar, se consigue con un solo comando en el código if(valor_hoja>0.00040){...}. , sin todo el toqueteo que se hace con la selección de hojas, y ahora también de clusters.
Pero todo eso ya lo sabes....
En los nuevos datos, sí. Es que se ha dado con un patrón consistente, y el resto del árbol sólo deja ruido de viento. El ruido está ahí por forzar al árbol a dar respuestas a todas las preguntas, es decir, a clasificar toda la muestra.
El problema es que el árbol se construye no por la condición de maximización de beneficios, sino por una función de pérdida conveniente para programar el paquete.
Así que hay que tomar una decisión desagradable: o intentar reconfigurar un paquete complejo y trucado o construir una bicicleta estrecha. También es posible combinar "con éxito" ambas opciones).
En mi humilde opinión, si decides trastear con un paquete existente en los árboles, deberías intentar utilizar la poda (poda), con la condición de maximizar el beneficio en el avance, por ejemplo. De este modo, podría evitarse tener que manipular manualmente las reglas.
No tengo muchas esperanzas, solo me asomo de vez en cuando. Después de todo gpt auguro estancamiento y paralización en este tema. No se ven avances. Es puramente un hype flash, como con las criptomonedas. Ahora ganarán dinero y se calmarán.
El ejemplo que puse es justo de la sección de entropía cruzada categórica (y probablemente no prestaste atención al hecho de que la suma de valores allí es 1 en cada instancia). El hecho de que no funciona como en Keras es un indicador para mí, lo que significa que o bien la implementación o la descripción de CCE en MQL5 no coincide con lo esperado. Entonces se requiere una descripción detallada. Por cierto, en pytorch CrossEntropyLoss incluye un softmax preliminar en su interior. Pero en general, dado que la documentación sobre matrices en MQL5 contiene la idea de que la interfaz es similar a la de python, la coincidencia de comportamiento está implícita. Y si no hay coincidencia, causa problemas y perplejidad.
Tener muchas clases implica trabajar con matrices (cuando tenemos un montón de muestras/filas, cada una de las cuales tiene clases), por lo que tu ejemplo con un vector sigue sin responder a la pregunta.
Lo entiendo. Las funciones de pérdida funcionan con matrices igual que con vectores. En este sitio no terminamos (no añadimos el parámetro axis)
Es decir, en tu ejemplo tenemos que resolverlo línea por línea.
Gracias por tu atención
En los nuevos datos, sí. Es que se ha dado con un patrón consistente, y el resto del árbol sólo deja ruido de viento. El ruido está ahí por forzar al árbol a dar respuestas a todas las preguntas, es decir, a clasificar toda la muestra.
y si lo sacas del bosque, allí habrá una media de las reglas de todos los árboles, por el número de árboles
Lo hago (selección de hojas) automáticamente cambiando el nivel de activación de las hojas. Clásicamente, se utiliza 0,5 para la clasificación. Todas las hojas con una probabilidad superior a 0,5 se activan, el resto se silencian (lo que equivale a eliminarlas del árbol). Este método se ha descrito en más de un artículo en este sitio y en el foro.
Y puede fijar el nivel en 0,9 o 0,95, entonces sólo funcionarán las hojas superlimpias con un 95% de ejemplos de la clase correcta. Para la regresión de manera similar, sólo el nivel no es de 0 a 1, pero en valores abs. Las imágenes de arriba muestran el mismo modelo, pero con diferentes niveles de activación. El primero a través de 0.00020, el segundo a través de 0.00040pts. El segundo se saltó los intervalos de negociación no rentables, y trabajó sólo en los más rentables y mostró beneficios, aunque trabajó con pausas de 1-2 años. La activación se produjo en 70000 casos de 400000, es decir, alrededor del 17% de las mejores hojas funcionaron.
El resultado es similar, se consigue con un solo comando en el código if(valor_hoja>0.00040){...}. sin todo el toqueteo que se hace seleccionando hojas y ahora clusters.
Pero todo eso ya lo sabes....
Tienes un bosque, ¿no vuelves a ponderar el modelo después de construirlo? ¿O simplemente tomas la media de las hojas activadas?
Esa es la cuestión, al seleccionar una hoja tengo en cuenta la estabilidad y la uniformidad de la distribución de la respuesta a lo largo de la historia. Hago indicadores bidimensionales y los evalúo en conjunto. Por lo tanto, las hojas sin respuestas son extremadamente raras para mí.
Me parece que se podrían guardar fácilmente las hojas, creando miles de árboles, y trabajar sólo con ellas.
El problema es que el árbol no se construye según una condición de maximización del beneficio, sino según una función de pérdida conveniente para la programación de paquetes.
Así que tienes una desagradable elección: o intentas reconfigurar un paquete complejo y complicado, o construyes una bicicleta estrecha. También es posible combinar "con éxito" ambas opciones)
En mi humilde opinión, si decides trastear con un paquete existente en los árboles, deberías intentar utilizar la poda (poda) - con la condición de maximizar el beneficio en el avance, por ejemplo. De este modo, podría evitarse tener que manipular manualmente las reglas.
La variante que he utilizado para construir el árbol no construye árboles profundos - la poda puede ser innecesaria allí.
Sí, casi todas las manipulaciones están automatizadas, y las que no lo están se basan más bien en mi ignorancia de R.
Estoy hablando de ruido, porque el predictor raíz puede contener probabilidad de predisposición a clases específicas en la región del 10% o menos, y el resto de la probabilidad se distribuye uniformemente, y el resto de los residuos se utiliza para cortar las hojas restantes.
y si lo sacas del bosque, habrá una media de todos los árboles, por el número de árboles
Los árboles se construyen independientemente, y luego se ponderan por las respuestas en las hojas. No trabajé con un bosque, sino con un solo árbol. Nunca he oído hablar de un bosque en la genética.
Los árboles, en cambio, se construyen de forma independiente, y luego las respuestas se pesan en las hojas. No he trabajado con un bosque, sino con un solo árbol. Nunca he oído hablar de un bosque en la genética.
Ah, claro, entonces no tiene sentido usar Bosque.
y ¿cuál es la diferencia entre un árbol genético y un árbol normal, cuáles son las ventajas?
Tienes un bosque, ¿reponderas el modelo después de construirlo? ¿O simplemente se toma el valor medio de las hojas activadas?
Esa es la cuestión, cuando selecciono una hoja, tengo en cuenta la estabilidad y la uniformidad de la distribución de la respuesta a lo largo de la historia. Elaboro indicadores bidimensionales y los evalúo en conjunto. Así, las hojas sin respuestas son un evento extremadamente raro para mí.
Me parece que se podrían guardar fácilmente las hojas, creando miles de árboles, y trabajar sólo con ellas.
Si la media de todos los árboles es > la requerida, la uso para los cálculos de equilibrio.
.
¿Cómo se mide la uniformidad? ¿Desviación de una línea recta entre el primer y el último punto de equilibrio? ¿Y probablemente el total debería multiplicarse por el equilibrio?