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

 
Farkhat Guzairov:

А что на счет переобученной системы, к чему это приведет по вашему мнению?

Чем больше выборка, тем сложней подогнать под неё модель, в плане больше требуется листьев\деревьев.

 
Yuriy Asaulenko:

По х - номер сделки, по у - сумм профит в пп.


Это 4-знак, или 5 - знак?

 
sibirqk:


Это 4-знак, или 5 - знак?

Это вообще не знак.))
 
Yuriy Asaulenko:
Это вообще не знак.))
А что тогда значит - сумм профит в пп.?
 
sibirqk:
А что тогда значит - сумм профит в пп.?
Это биржевой инструмент. Показана возможность прибыли на простейшей системе. Остальное пока не важно.
 
Vladimir Perervenko:

Немного не так. У вас есть например train[2000, ] и test[500, ]. Обучаете на train с начальными весами примеров = 1.0 , делаете предикт test[] обученной моделью. На основании качества предикта каждого примера test выставляете ему вес. Далее объединяете train и  test и формируете новую обучающую выборку, обучаете модель, тестируете и т.д. пока вся обучающаяся выборка будет иметь веса полученные таким образом. Можно к ним применить понижающий коэффициент для более старых баров, но я это не проверял. Все это для классификации конечно.

Проверял с ELM, дает хорошие результаты.

Удачи

Не совсем понимаю как это может улучшить результативность модели на новых данных.

Например если класс не верно определен, ставим понижающий вес, как крайний вариант 0. Т.о. при последующем обучении это будет равносильно выкидыванию этих строк из выборки и на трейне все будет прекрасно с точностью 100%, на тестах, которые так же по кругу отмаркировали - тоже будет все отлично. Но на совсем новых данных мы строки не сможем отбросить и там будет уже то, - на что модель реально способна.

Или вы наоборот повышали вес для неправильных примеров?

 
elibrarius:

Не совсем понимаю как это может улучшить результативность модели на новых данных.

Например если класс не верно определен, ставим понижающий вес, как крайний вариант 0. Т.о. при последующем обучении это будет равносильно выкидыванию этих строк из выборки и на трейне все будет прекрасно с точностью 100%, на тестах, которые так же по кругу отмаркировали - тоже будет все отлично. Но на совсем новых данных мы строки не сможем отбросить и там будет уже то, - на что модель реально способна.

Или вы наоборот повышали вес для неправильных примеров?

Конечно понижение для "плохих" примеров. Если повышать - это классический бустинг.

Просто проведите эксперимент и проверьте.

Сейчас я так не делаю. Я удаляю или выделяю шумовые примеры при препроцессинге до обучения.

Удачи

 
Yuriy Asaulenko:

А зачем больше 5 тыс? На них не обучится, то и на большей не обучится.

Это в аналы глупых высказываний.

Aleksey Vyazmikin:

Чем больше выборка, тем сложней подогнать под неё модель, в плане больше требуется листьев\деревьев.

Совершенно верно, чем больше тем лучше(меньше 100к это вообще шум), однако нужно учитывать что свойства рынка меняются, а как это учесть при обучении, это большой секрет. 

 
Грааль:

Совершенно верно, чем больше тем лучше(меньше 100к это вообще шум), однако нужно учитывать что свойства рынка меняются, а как это учесть при обучении, это большой секрет. 

Вот я попробовал равномерно снижать вес строк, но улучшений не заметил. Какие еще варианты?

 
elibrarius:

Вот я попробовал равномерно снижать вес строк, но улучшений не заметил. Какие еще варианты?

Чото ни то делали наверно, должно быть лучше, хотя придётся переконфигурировать классификатор, оптимум без временного взвешивания другой.

Можно ещё пытаться разбить лёрн на к примеру 10 фрагментов обучить на более менее оптимальном в среднем для всех на 10% тесте(близком к концу(настоящему)) и потом качество классификации смодулированное (1-.1) использовать как веса для фрегментов. Можно и скользящим окном конечно с неким шагом, чтобы получить более равномерные веса. Кстати сама по себе динамика этих весов очень важная фича, имеющая отношения к смене режимов рынка.

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