Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 3601
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Как понять, что уже не работает - извечный вопрос.
Понять очень просто - перестает работать :)
Идею подхода уже описывал по ссылкам. Датасет группируется на похожие кластеры (паттерны, если угодно) по признакам. И метки для заданного (subset_size) кол-во кластеров исправляются, то есть все метки становятся 1 или 0, в зависимости от того, чего больше в кластере. Это убирает неоднозначность для финальной модели, она перестает переобучаться на шум и делать лишние сплиты.
В сортированном списке кластеров, по "смещению вероятности", в самом начале стоят самые смещенные. Они исправляются в первую очередь, чтобы стать полностью однозначными для последующего обучения модели. Остальные, которые в хвосте и вероятность в которых близка к 0.5, никак не трогаются и продолжают вносить шум в модель.
Варьируя кол-во кластеров и subset_size, ищется баланс между хорошими кластерами и плохими, который удовлетворяет юзера.
Работа функции прозрачна в том смысле, что дает проверенно ожидаемый результат: чем больше кластеров исправляется, тем модель более устойчива, но менее "красива" и наоборот. Поэтому добавлена доп. настройка, для регулировки.
В итоге, такая маленькая ф-я делает практически всю работу по поиску устойчивых паттернов в данных и улучшению модели. Если устойчивых паттернов нет, всегда будет предсказуемый (плохой) результат даже на трейне, тогда как без этой функции модель бы переобучилась и показала грааль на трейне.
Мой код исправляет метки, ваш код что делает?
Ваш код убирает строки из выборки, которые относятся к кластерам, имеющих среднее значение (как Вы пишите 0,5) единиц.
Мой код делает то ж самое, если кратко:
1. Открываем выборку train
2. Делаем кластеризацию по принципу дерева, т.е. последовательно углубляясь в каждый кластер.
3. Оцениваем метрики каждого кластера на всех выборках.
4. Отбираем кластеры по выборке train, где есть смещение вероятности встретить целевую "1" больше 5%.
5. Формируем новую выборку по отобранным кластерам.
Но, я не пробовал так много кластеров использовать...
Особой стабильности после этого нет, улучшения есть, если хорошо разметка прошла рандомной кластеризацией, но без подглядывания в новые данные это не гарантированно.
И метки для заданного (subset_size) кол-во кластеров исправляются, то есть все метки становятся 1 или 0, в зависимости от того, чего больше в кластере. Это убирает неоднозначность для финальной модели, она перестает переобучаться на шум и делать лишние сплиты.
Вот этого я не делал. Но, по сути это бинаризация уже получается. Опять же, если вероятности сохраняться на новых данных - эффект будет, а если нет, то трындец.
Схожий эффект я получаю через квантование по сути.Ваш код убирает строки из выборки, которые относятся к кластерам, имеющих среднее значение (как Вы пишите 0,5) единиц.
Вот этого я не делал. Но, по сути это бинаризация уже получается. Опять же, если вероятности сохраняться на новых данных - эффект будет, а если нет, то трындец.
Схожий эффект я получаю через квантование по сути.Мой код этого не делает и это видно в коде. Понеслось принятие желаемого за действительное.
Да, я не верно понял - во втором сообщении это отражено.
Опять додумки. Чувствую себя предсказателем.
Не понял.
Да, я не верно понял - во втором сообщении это отражено.
Не понял.
Совместить с удалением плохих кластеров можно, но это уже история не про корректировку лэйблов
Важно другое, что даёт возможность полагать, что на новых данных в этом кластере или квантовом отрезке будет такое же смещение вероятности, или хотя бы с тем же знаком от среднего значения?
Важно другое, что даёт возможность полагать, что на новых данных в этом кластере или квантовом отрезке будет такое же смещение вероятности, или хотя бы с тем же знаком от среднего значения?
Вы не читаете?
#36001
каждое сообщение не воспринимается почему-тоВы не читаете?
#36001
каждое сообщение не воспринимается почему-тоНу, для меня не содержательна формулировка " Понять очень просто - перестает работать :) " - по каким критериям понять? Выше же показал, что работать может, а может не работать на длительном участке времени такое смещение вероятности...
Всё я читаю. Просто уже много раз писал, что этого всего недостаточно - нужны какие то дополнительные критерии, чем просто проверка на истории.