Discusión sobre el artículo "Gradient boosting (CatBoost) en las tareas de construcción de sistemas comerciales. Un enfoque ingenuo" - página 2
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
Es mejor preguntar a los desarrolladores
No me gustan los videos, porque para obtener una respuesta a una pregunta específica que tiene que escuchar un montón de tonterías, y no es seguro que la respuesta se encuentra en realidad. Por supuesto, he leído la documentación introductoria de texto de los desarrolladores, pero este mismo matiz sobre la elección de desglose basado en el histograma que elegantemente "saltó", aunque todo lo demás es bastante completa.
Los árboles se construyen independientemente unos de otros, y luego el recuento se realiza en las hojas (enumerando sobre los predictores detrendidos) de forma que se reduzca el error de gradiente.
Cuando se seleccionan los predictores para la construcción del árbol y las divisiones del árbol, se utilizan coeficientes aleatorios, lo que permite, en teoría, aumentar la exhaustividad (Recall) y evitar el sobreentrenamiento.
Nada de esto responde en modo alguno a la pregunta.
Por ejemplo, hay una página - https://catboost.ai/news/catboost-enables-fast-gradient-boosting-on-decision-trees-using-gpus
En ella está la frase
La búsqueda de la mejor división ahora es sólo un cálculo de histogramas, que se muestra en la figura 6.
Aquí es donde surge la pregunta: el cálculo de histogramas está claro, pero ¿cómo llegar a la "mejor división" después de ella? En términos generales, pseudocódigo o fórmula.
Nada de esto responde en modo alguno a la pregunta.
Por ejemplo, hay una página - https://catboost.ai/news/catboost-enables-fast-gradient-boosting-on-decision-trees-using-gpus
Dice:
Aquí es donde surge la pregunta: el cálculo del histograma está claro, pero ¿cómo llegar a la "mejor división" después de ella? En cualquier términos: en palabras generales, pseudocódigo, fórmula.
Al dividir los datos por columnas, calculamos cuánto se ha limpiado el bloque de la derecha y de la izquierda de impurezas de otra clase.
De todas las divisiones en todas las columnas, se elige la que da la mejor pureza. (A veces se denomina reducción de impurezas.)
Existen diferentes fórmulas de limpieza/impureza, hay una que mejora la limpieza en ambos bloques a la vez, hay otra que busca 1 bloque lo más limpio posible.
La división más limpia es cuando sólo quedan ejemplos de una clase a la izquierda y de la otra a la derecha.
¿Por qué el muestreo aleatorio es mejor que una constante?
Puedes obtener diferentes números de operaciones, diferentes combinaciones de operaciones a lo largo del tiempo.
Originalmente lo hice por fuerza bruta.
Es curioso, pensé que si la expectativa es tan baja, es un grial tester. Lo corrí en Saber, en un símbolo personalizado, casi el mismo resultado.
Comprobado 17, tendencia alcista similar, está drenando.
¿Es un pedazo de suerte de la historia o se puede obtener una imagen de este tipo para los últimos años también? Sé que está perdiendo en la prueba, pero era un mercado completamente diferente allí.
Aquí es donde surge la pregunta: el cálculo del histograma está claro, pero ¿cómo llegar a la "mejor división" después de él? En cualquier términos: en palabras generales, pseudocódigo, fórmula.
Supongo que tenemos un cálculo para cada división, y luego resumir los rangos, y obtener una matriz de la que se selecciona el valor más grande - la precisión de división.
¡En general, su código es abierto, si usted entiende bien C ++, puede decir los detalles a todos los interesados!
Maxim, ¡gracias por el artículo!
¿Tiene algún efecto la validación cruzada?
¿Has probado a tomar rendimientos diferentes de cien mezclas de periodos diferentes?