Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 3601
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Как понять, что уже не работает - извечный вопрос.
Понять очень просто - перестает работать :)
Идею подхода уже описывал по ссылкам. Датасет группируется на похожие кластеры (паттерны, если угодно) по признакам. И метки для заданного (subset_size) кол-во кластеров исправляются, то есть все метки становятся 1 или 0, в зависимости от того, чего больше в кластере. Это убирает неоднозначность для финальной модели, она перестает переобучаться на шум и делать лишние сплиты.
В сортированном списке кластеров, по "смещению вероятности", в самом начале стоят самые смещенные. Они исправляются в первую очередь, чтобы стать полностью однозначными для последующего обучения модели. Остальные, которые в хвосте и вероятность в которых близка к 0.5, никак не трогаются и продолжают вносить шум в модель.
Варьируя кол-во кластеров и subset_size, ищется баланс между хорошими кластерами и плохими, который удовлетворяет юзера.
Работа функции прозрачна в том смысле, что дает проверенно ожидаемый результат: чем больше кластеров исправляется, тем модель более устойчива, но менее "красива" и наоборот. Поэтому добавлена доп. настройка, для регулировки.
В итоге, такая маленькая ф-я делает практически всю работу по поиску устойчивых паттернов в данных и улучшению модели. Если устойчивых паттернов нет, всегда будет предсказуемый (плохой) результат даже на трейне, тогда как без этой функции модель бы переобучилась и показала грааль на трейне.