Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 3334
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Всё верно - это способ выделить примеры, ухудшающие обучение - это в теории.
Идея в том, что бы обучить моделей 100 и посмотреть, какие примеры в среднем "мешают" достоверной классификации, а потом попробовать их детектировать другой моделью.
Делите основной трейн на 5-10 сабтрейнов, каждый из которых делите на трейн и вал. На каждом обучаетесь по типу cv, потом предсказываете на всем мэйн трейне. Сравниваете исходные метки для всех моделей с предсказанными. Те, которые не угадались, заносите в блэк лист. Потом удаляете все плохие примеры при обучении финальной модели, посчитав среднюю стремность для каждого семпла. Опционально, можно научить вторую модель отделять вайт семплы от блэк семплов, либо через 3-й класс.
Метки (учитель, целевая переменная) НЕ могут быть мусорными по определению. Котировка размечается из неких внешних по отношению к предикторам соображениям. После того, как определились с метками, возникает проблема предикторов, которые имеют отношение к найденному набору меток. Запросто возникает проблема, что набор меток - красавцы, а вот предикторы к ним подобрать не удается и приходится искать другой набор меток. Например, метки - это развороты ЗЗ. Красавцы метки. А как подобрать предикторы к таким меткам?
Как только начинаем фильтровать метки по предикторам - это сверх подгонка, что и показывает все, что Вы тут показываете, включая маркет - не работает на внешнем, новом файле в естественном пошаговом режиме.
Да, интересно..
Сообщаю, что на отдельной выборке test - 7467, а на exam - 7177, но там есть не малое число листьев без активаций вообще - сразу не посчитал.
Так выглядит распределение сменивших класс листьев по их значению для выборки test
а это exam.
А это разбивка на классы - их три, третий "-1" - отсутствие активации.
Для выборки train
Для выборки test
Для выборки exam
В общем видно, что веса листьев больше не соответствуют логике класса - ниже график с выборки test - уже нет чёткого вектора.
В общем, аппроксимирует данный способ обучения что угодно, но вот за качество предикторов он не ручается.
Вообще, допускаю, что отчётливые "столбики" на графике выше - весьма схожие листья по месту и частоте активации.
Сложно обсуждать то, о чём не знаешь. Поэтому, могу только порадоваться за Ваши успехи. Если бы у меня был такой метод, то я бы использовал его :)
Мой метод, пока, не даёт таких качественных результатов, но он достаточно хорошо паралеллиться.
И какую роль в этом сыграла квантизация? По 10-бальной шкале
Сложно полностью изолировать мыслительные процессы.
Есть проблемы по разным фронтам - поэтому смотрю, что можно улучшить с меньшими затратами сил и с большим результатом. Периодически прыгая от "данных" к "процессу обучения" и экспериментируя.
Изначальная идея - это оценить корреляцию, но готовых методов не нашел, модернизирую свой. Думаю, что если листья похожи, то они искажают оценку.
Любопытно придумали. В эту игру, может, поиграю когда нибудь потом Я к играм отношусь как к творчеству, сейчас игры значительно медленней устаревают по графике.
Я вот запустил God of War (2018) на старой видеокарте HD7950 (скинул её в отдельный компьютер, который чисто для расчетов) под десяткой, поставил графику по минимуму и просто в шоке от картинки. Но главный интерес это проработка взаимоотношений отца и сына - сложно найти аналоги в компьютерной индустрии, где подымается эта тема.
Делите основной трейн на 5-10 сабтрейнов, каждый из которых делите на трейн и вал. На каждом обучаетесь по типу cv, потом предсказываете на всем мэйн трейне. Сравниваете исходные метки для всех моделей с предсказанными. Те, которые не угадались, заносите в блэк лист. Потом удаляете все плохие примеры при обучении финальной модели, посчитав среднюю стремность для каждого семпла. Опционально, можно научить вторую модель отделять вайт семплы от блэк семплов, либо через 3-й класс.
Но тут же так же работа с данными через модели. Или видите в чём то разницу?
Но тут же так же работа с данными через модели. Или видите в чём то разницу?
Ну типа на автомате, не надо ничего придумывать и (что важно) делать :)
Учитывая избыток рандома у CatBoost в самом методе обучения - сложно оценивать именно сам подход. Там же они и строки мешают при построении дерева, и бачами данные подают, ну если это не запретить всё...
Интересно тут оценить, как много вот листов меняют классы на новых данных, по аналогии, как я написал выше в ветке. Это может быть метрикой качества подхода/модели.
Учитывая избыток рандома у CatBoost в самом методе обучения - сложно оценивать именно сам подход. Там же они и строки мешают при построении дерева, и бачами данные подают, ну если это не запретить всё...
Интересно тут оценить, как много вот листов меняют классы на новых данных, по аналогии, как я написал выше в ветке. Это может быть метрикой качества подхода/модели.
По идее, этот рандом не так страшен, как рандом в датасете
Так случайно из рандома можно получить красивую модель - в этом то и беда, вот если бы нельзя было, то не важно.
Обучить модель же не проблема - проблема выбрать ту, у которой больше потенциал корректной работы на новых данных.
Вот и интересен подход, который позволяет увеличивать этот потенциал. А для оценки эффективности модели требуется метрика какая то, не просто стат показатель точности классификации, но и вот нечто, иное, к примеру оценка листьев по отдельности. Понятно, что меняются показатели в предикторах - поэтому и листья так шумят, "меняя" фактические классы. Поэтому это комплексная задача - нужны хорошие метки и устойчивые предикторы, ну и комбинации их должны не создавать листья с редкими значениями в модели.
В продакшене уже требуется отслеживать изменение распределения значений предикторов, используемых в модели, и тормозить модель, если изменения существенны и обширны. Правда, этот подход требует накопления статистики, что для нас равно накоплению убытков, а это не есть хорошо. Нужен более быстрый метод для исключения модели, но обоснованный, а не чисто по просадке.
Проблем много, без решения которых не хочется давать модели в управление деньги.
Да, с бинарными сложней. Но не понял идеи, как нормирование может тут помочь.
Бинарный признак с 0и1 уже нормирован, а остальные нужно тоже нормировать.