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

[Удален]  
Aleksey Vyazmikin #:

Как понять, что уже не работает - извечный вопрос.

Понять очень просто - перестает работать :)

Идею подхода уже описывал по ссылкам. Датасет группируется на похожие кластеры (паттерны, если угодно) по признакам. И метки для заданного (subset_size) кол-во кластеров исправляются, то есть все метки становятся 1 или 0, в зависимости от того, чего больше в кластере. Это убирает неоднозначность для финальной модели, она перестает переобучаться на шум и делать лишние сплиты.

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

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

Работа функции прозрачна в том смысле, что дает проверенно ожидаемый результат: чем больше кластеров исправляется, тем модель более устойчива, но менее "красива" и наоборот. Поэтому добавлена доп. настройка, для регулировки.

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

Начинает работать статистика, зависящая от кол-ва данных. Чем больше трейн/тест, тем больше доверия. Без этой ф-ии такой критерий бесмысленный, потому что деревья растут при увеличении длины выборки (всегда переобучаются).
 
Maxim Dmitrievsky #:

Мой код исправляет метки, ваш код что делает? 

Ваш код убирает строки из выборки, которые относятся к кластерам, имеющих среднее значение (как Вы пишите 0,5) единиц.

Мой код делает то ж самое, если кратко:

1. Открываем выборку train

2. Делаем кластеризацию по принципу дерева, т.е. последовательно углубляясь в каждый кластер.

3. Оцениваем метрики каждого кластера на всех выборках.

4. Отбираем кластеры по выборке train, где есть смещение вероятности встретить целевую "1" больше 5%.

5. Формируем новую выборку по отобранным кластерам.

Но, я не пробовал так много кластеров использовать...

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

 
Maxim Dmitrievsky #:
И метки для заданного (subset_size) кол-во кластеров исправляются, то есть все метки становятся 1 или 0, в зависимости от того, чего больше в кластере. Это убирает неоднозначность для финальной модели, она перестает переобучаться на шум и делать лишние сплиты.

Вот этого я не делал. Но, по сути это бинаризация уже получается. Опять же, если вероятности сохраняться на новых данных - эффект будет, а если нет, то трындец.

Схожий эффект я получаю через квантование по сути.
[Удален]  
Aleksey Vyazmikin #:

Ваш код убирает строки из выборки, которые относятся к кластерам, имеющих среднее значение (как Вы пишите 0,5) единиц.

Мой код этого не делает и это видно в коде. Понеслось принятие желаемого за действительное.
[Удален]  
Aleksey Vyazmikin #:

Вот этого я не делал. Но, по сути это бинаризация уже получается. Опять же, если вероятности сохраняться на новых данных - эффект будет, а если нет, то трындец.

Схожий эффект я получаю через квантование по сути.
Опять додумки. Чувствую себя предсказателем.
 
Maxim Dmitrievsky #:
Мой код этого не делает и это видно в коде. Понеслось принятие желаемого за действительное.

Да, я не верно понял - во втором сообщении это отражено.

Maxim Dmitrievsky #:
Опять додумки. Чувствую себя предсказателем.

Не понял.

[Удален]  
Aleksey Vyazmikin #:

Да, я не верно понял - во втором сообщении это отражено.

Не понял.

Совместить с удалением плохих кластеров можно, но это уже история не про корректировку лэйблов
 
Maxim Dmitrievsky #:
Совместить с удалением плохих кластеров можно, но это уже история не про корректировку лэйблов

Важно другое, что даёт возможность полагать, что на новых данных в этом кластере или квантовом отрезке будет такое же смещение вероятности, или хотя бы с тем же знаком от среднего значения?

[Удален]  
Aleksey Vyazmikin #:

Важно другое, что даёт возможность полагать, что на новых данных в этом кластере или квантовом отрезке будет такое же смещение вероятности, или хотя бы с тем же знаком от среднего значения?

Вы не читаете?

#36001

каждое сообщение не воспринимается почему-то
Машинное обучение в трейдинге: теория, модели, практика и алготорговля
Машинное обучение в трейдинге: теория, модели, практика и алготорговля
  • 2024.08.22
  • Maxim Dmitrievsky
  • www.mql5.com
Добрый день всем, Знаю, что есть на форуме энтузиасты machine learning и статистики...
 
Maxim Dmitrievsky #:

Вы не читаете?

#36001

каждое сообщение не воспринимается почему-то

Ну, для меня не содержательна формулировка " Понять очень просто - перестает работать :) " - по каким критериям понять? Выше же показал, что работать может, а может не работать на длительном участке времени такое смещение вероятности...

Всё я читаю. Просто уже много раз писал, что этого всего недостаточно - нужны какие то дополнительные критерии, чем просто проверка на истории.