Обсуждение статьи "Градиентный бустинг (CatBoost) в задачах построения торговых систем. Наивный подход" - страница 2
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Лучше у разрабов спрашивать
Не люблю видео, потому что чтобы получить ответ на конкретный вопрос нужно кучу лабуды выслушать, и не факт, что ответ действительно найдется. Разумеется, я читал текстовую вводную документацию разрабов, но именно этот нюанс по выбору разбивки на основании гистограммы они элегантно "перепрыгнули", хотя всё остальное довольно досконально.
Деревья строятся независимо друг от друга, а потом происходит подсчет в листьях (перебор по отквантованным предикторам) таким образом, что бы уменьшалась ошибка по градиенту.
При выборе предикторов для построения дерева и сплитов дерева используются рандомные коэффициенты, что дает возможность, в теории, увеличивать полноту (Recall) и препятствовать переобучению.
Это всё никоим образом не отвечает на вопрос.
Например, есть страница - https://catboost.ai/news/catboost-enables-fast-gradient-boosting-on-decision-trees-using-gpus
На ней фраза:
The search for the best split now is just a computation of histograms, shown in figure 6.
Вот тут и возникает вопрос: расчет гистограммы понятен, но как после него перейти к "best split"? В любых терминах: общими словами, псевдокодом, формулой.
Это всё никоим образом не отвечает на вопрос.
Например, есть страница - https://catboost.ai/news/catboost-enables-fast-gradient-boosting-on-decision-trees-using-gpus
На ней фраза:
Вот тут и возникает вопрос: расчет гистограммы понятен, но как после него перейти к "best split"? В любых терминах: общими словами, псевдокодом, формулой.
Разделив данные по столбцу, вычисляется насколько блок справа и слева стали чище от примесей другого класса.
Из всех разделений по всем столбцам выбирается тот вариант, который дает лучшую чистоту. (Иногда называют как уменьшение нечистоты.)
Формулы чистоты/нечстоты есть разные, есть которая сразу в обоих блоках улучшает чистоту, есть которая ищет 1 блок максимально чистый.
Самое чистое разделение, это когда слева остались только примеры одного класса, а справа другого.
Чем случайный семплинг лучше константы?
Можно получать разное кол-во сделок, разные их комбинации во времени
изначально делал для брутфорса
Прикольно, думал раз такое низкое матожидание, то тестерный грааль. Прогнал по Саберу, на кастомном символе, почти такой же результат.
Проверил 17 год, там похожий аптренд, сливает.
Это такой удачный кусок истории попался или за прошлые года тоже можно получить такую картинку? Знаю, на тесте сливает, но там совсем другой рынок был.
Вот тут и возникает вопрос: расчет гистограммы понятен, но как после него перейти к "best split"? В любых терминах: общими словами, псевдокодом, формулой.
Предположу, что у нас по каждому сплиту расчет, а дальше идет суммирование диапазонов, и получается матрица из которой выбирается наибольшее значение - точности разбиения.
Вообще, у них код открытый, если хорошо понимаете C++, то сможете всем интересующимся рассказать детали!
Максим,спасибо за статью!
Дает ли эффект кроссвалидация?
Непробывал ли взять разных ретурнов от сотни разнопериодных машек?