Discusión sobre el artículo "Gradient boosting (CatBoost) en las tareas de construcción de sistemas comerciales. Un enfoque ingenuo" - página 2

 
Maxim Dmitrievsky:

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.

 
Buen artículo .... ciertamente
 
Aleksey Vyazmikin:

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.

CatBoost Enables Fast Gradient Boosting on Decision Trees Using GPUs
CatBoost Enables Fast Gradient Boosting on Decision Trees Using GPUs
  • catboost.ai
Machine Learning techniques are widely used today for many different tasks. Different types of data require different methods. Yandex relies on Gradient Boosting to power many of our market-leading products and services including search, music streaming, ride-hailing, self-driving cars, weather prediction, machine translation, and our...
 
No tengo nada en contra de otros autores de artículos sobre MdD, pero, en mi opinión, el autor de este artículo presenta el material como en un buen libro de texto, que hay que leer y tener ganas de leer..... Respeto y respeto.
 
Stanislav Korotky:

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?
 
Rorschach:
¿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í.

 
Stanislav Korotky:

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?