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

 
Alexander_K2:


Щас тренд легко и нежно отбрасывается в унитаз при помощи вожделенного ключа, найденного мной буквально "на коленке".


Интересно, что же там придумал.

 
Aleksey Vyazmikin:

Отличные тесты, спасибо

есть какая-нибудь инфа по дифференциалу ошибок трейн\тест? достаточно взять какой-нибудь один Accuracy или logloss там, самые ходовые

например, что-то типа такого

2018.11.27 02:26:37.780 Core 2  2018.11.23 23:59:59   RlMonteCarlo TRAIN LOSS
2018.11.27 02:26:37.780 Core 2  2018.11.23 23:59:59   0.19023
2018.11.27 02:26:37.780 Core 2  2018.11.23 23:59:59   RlMonteCarlo TEST LOSS
2018.11.27 02:26:37.780 Core 2  2018.11.23 23:59:59   0.43959

справа трейн слева тест:

интересует именно чпособность модели обобщать, и какие там фихи для борьбы с оверфитом. Гляжу, быстро освоили приблуду. Наконец-то предметные беседы :))

 
Maxim Dmitrievsky:

Отличные тесты, спасибо

есть какая-нибудь инфа по дифференциалу ошибок трейн\тест? достаточно взять какой-нибудь один Accuracy или logloss там, самые ходовые

например, что-то типа такого

справа трейн слева тест:

интересует именно чпособность модели обобщать, и какие там фихи для борьбы с оверфитом. Гляжу, быстро освоили приблуду. Наконец-то предметные беседы :))

У кэтбуста три выборки используется - одна тест, на которой он обучается, вторая для проверки обучения каждой модели и отбора лучшей модели, что была получена в процессе обучения и оказалось устойчивой на тестовых данных, и третья это экзаменационная выборка, которая размечается уже по факту окончания обучения выбранной моделью. Так-как обучиться он может фактически очень хорошо на выборке для обучения, то сравнивать результаты на выборке для теста с выборкой для обучения нет смысла, а вот тест с экзаменационной выборкой - да смысл есть. Но, так-как я все это обрабатывал руками в экселе, то моих сил не хватило ещё и на проверку результатов тестовой выборки. Данные подобные конечно нужны для оценки модели, и стоит их учитывать и анализировать, но пока процесс не автоматизирован (только начал писать скрипт для подготовки сетапа для обработки - до анализа пока далеко) и я не могу говорить о каких либо цифрах.

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

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

 
Aleksey Vyazmikin:

У кэтбуста три выборки используется - одна тест, на которой он обучается, вторая для проверки обучения каждой модели и отбора лучшей модели, что была получена в процессе обучения и оказалось устойчивой на тестовых данных, и третья это экзаменационная выборка, которая размечается уже по факту окончания обучения выбранной моделью. Так-как обучиться он может фактически очень хорошо на выборке для обучения, то сравнивать результаты на выборке для теста с выборкой для обучения нет смысла, а вот тест с экзаменационной выборкой - да смысл есть. Но, так-как я все это обрабатывал руками в экселе, то моих сил не хватило ещё и на проверку результатов тестовой выборки. Данные подобные конечно нужны для оценки модели, и стоит их учитывать и анализировать, но пока процесс не автоматизирован (только начал писать скрипт для подготовки сетапа для обработки - до анализа пока далеко) и я не могу говорить о каких либо цифрах.

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

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

да это как раз и бесит, вечные интеграции, которые отнимают больше времени чем разработка ТС. Тоже бы на питоне поковырять, но пока некогда

 
Maxim Dmitrievsky:

да это как раз и бесит, вечные интеграции, которые отнимают больше времени чем разработка ТС. Тоже бы на питоне поковырять, но пока некогда

Да я не с питоном, мне очень понравилось, что у кэтбуста есть консольный вариант, вот хочу этот вариант подружить с MT5.

 
Aleksey Vyazmikin:

Да я не с питоном, мне очень понравилось, что у кэтбуста есть консольный вариант, вот хочу этот вариант подружить с MT5.

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

 
Maxim Dmitrievsky:

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

Я не знал, а у кого конкретно ещё есть?

Почему не удобно - будет скрипт на MT5, где можно будет реализовать настройки и перебор параметров - всяко лучше чем с чистым кодом на питоне или R.

Кэтбуст умеет работать с грфическими фермами, что так же привлекло моё внимание.

 
Aleksey Vyazmikin:

Я не знал, а у кого конкретно ещё есть?

Почему не удобно - будет скрипт на MT5, где можно будет реализовать настройки и перебор параметров - всяко лучше чем с чистым кодом на питоне или R.

Кэтбуст умеет работать с грфическими фермами, что так же привлекло моё внимание.

у всех библиотек МО развитых, т.к. этот просто либы на плюсах

не удобно и долго с МО работать на низкоуровневых языках, особенно исследования
 
Maxim Dmitrievsky:

да это как раз и бесит, вечные интеграции, которые отнимают больше времени чем разработка ТС. Тоже бы на питоне поковырять, но пока некогда

увы, эта задача не имеет решения:

1. или пишите на стороннем языке(платформе) ТС, но получаете проблемы:

а) нет исторических данных

б) нет тестера

в) нет тестирования на демо-счете

-) возможны проблемы с поддержкой платформы, как пример - я гуглил по Alglib, очень скудно в сети по ней информации, все только на сайте разработчика, поддержки толком нет

все это лечите  .dll, интеграциями и прочими костылями

2. или пишите все на MQL, у Вас не будет проблем а.б,в... но будете или искать в кодобазе и в статьях готовые решения и мат.аппарат  или будете писать всю логику (мат.аппарата) с нуля пользуясь возможностями MQL

3. универсальный вариант это готовые .dll которые подключаются в MQL коде, если код пишете для себя, то это наиболее практичное решение, для Маркета .dll нельзя

многие системы разработки и анализа позволяют создавать .dll как пример -  Матлаб


ЗЫ: MQL меня устраивает на 90%, единственное визуализацию результатов всегда приходится делать почти с нуля, в том же Матлабе вывод информации всегда под рукой, одна строка кода и получай готовый график, все переменные на виду, можно переменные изменять.. одним словом Матлаб это готовая среда разработки мат.аппарата, возможно есть и круче чем Матлаб, но я привык как то к нему

 
Igor Makanu:

я про исследнования в плане МО, это довольно специфический процесс где основная работа с матрицами, на низкоуровневых языках работать с ними это кошмар. Остальное еще как-то можно пережить :)

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