Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 3482

 
Forester #:
Самое простое для понимания: вы же блоки/кванты из столбцов перемещаете в другое место (на другие строки), но столбец учителя не меняете. В новом месте эти перемещенные кванты не соответствуют строкам учителя (они остались в старом месте). Т.е. ответы учителя в новом месте становятся случайным для перемещенных квантов/строк.

Не, не так. Представьте, что у нас есть диапазоны у предиктора:

1. От 0 до 10 - вероятность 55%

2. От 10 до 15  - вероятность 45%

3. От 15 до 25  - вероятность 50%

Вот я взял и просто поменял номера после упорядочения по вероятности, теперь новая нумерация относительно старой 1=2, 2=3, 3=1. По сути я поменял только их обозначение.

Соответственно алгоритм построения дерева получил более гладкий переход вероятности задетектить "1" по своему диапазону.

Я конечно, может чего упускаю из виду и не прав.

 
Aleksey Vyazmikin #:

Не, не так. Представьте, что у нас есть диапазоны у предиктора:

1. От 0 до 10 - вероятность 55%

2. От 10 до 15  - вероятность 45%

3. От 15 до 25  - вероятность 50%

Вот я взял и просто поменял номера после упорядочения по вероятности, теперь новая нумерация относительно старой 1=2, 2=3, 3=1. По сути я поменял только их обозначение.

Соответственно алгоритм построения дерева получил более гладкий переход вероятности задетектить "1" по своему диапазону.

Я конечно, может чего упускаю из виду и не прав.

Насколько я понял, странно, что вообще что-то поменялось. Возможно модель банально неустойчива и разные реализации дают разные результаты.

 
Yuriy Asaulenko #:

Насколько я понял, странно, что вообще что-то поменялось. Возможно модель банально неустойчива и разные реализации дают разные результаты.

Математика дерева работает так - перебирая сплит от большего к меньшему, после упорядочения становится проще это делать, что приводит к более быстрому обучению. Ну, а оно не верно, так как вероятности потом изменятся на новых данных более чем в 50% случаев.

 
Aleksey Vyazmikin #:
Такой вопрос давно меня тревожил, а что будет, если в предикторах поменять их цифровое значение, ну, допустим поменять местами 1 и 10, изменится ли результат обучения на том же CatBoost?

Должен измениться конечно, АКФ признаков же изменится.

 
Maxim Dmitrievsky #:

Должен измениться конечно, АКФ признаков же изменится.

Это разве используется в алгоритме обучения? Не могу понять, где.

 
Aleksey Vyazmikin #:

Это разве используется в алгоритме обучения? Не могу понять, где.

Нет, зачем

чем больше рандомных перестановок, тем хуже трейн будет

 

Уж, ладно, пока здесь сижу. За это время (2-3 часа) удалось уменьшить ошибку обучения НС примерно в 2 раза и добиться стабильных результатов обучения на разных рандомных выборках.


Ошибка 0.035 вообще ни о чем. Уже можно готовить тест прибыли.

Все равно использовать не буду, интерес чисто академический.)

 

Запускаем Мега-ИИ Проект на TensorFlow! Давайте запускать?

 
Итак, обучил рандом и спешу сообщить, что на выборках train, test, exam вышли нули по балансу, т.е. закономерности не найдено на всех выборках, как я понимаю, поэтому не было превышение порога активации.
 
Aleksey Vyazmikin #:

Не, не так. Представьте, что у нас есть диапазоны у предиктора:

1. От 0 до 10 - вероятность 55%

2. От 10 до 15  - вероятность 45%

3. От 15 до 25  - вероятность 50%

Вот я взял и просто поменял номера после упорядочения по вероятности, теперь новая нумерация относительно старой 1=2, 2=3, 3=1. По сути я поменял только их обозначение.

Обозначения - это только для категориальных предикторов. Сплиты там только по одной категории/кванту оцениваются, и как их назвать - не важно. Например цвета: красный, зеленый и белый.

В числовых предикторах кванты изначально отсортированы и потом при оценке сплитов идет сортировка по номерам квантов. Перестановка их номеров перекинет местами строки например 0 квант (0-100 строки) и 9 квант (900-1000 строки) только в предикторе, а строки учителя останутся старыми. Итого в строках 0-100 и 900-1000 вы будете обучать модель не тем значениям учителя, которые были изначально. Т.е. 900-1000 строки предиктора будете обучать 0-100 строкам учителя, потому-что 900-1000 перекинуты в 0-100.

Причина обращения: