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

 
Maxim Dmitrievsky:

да

Ущербная логика.
 
Valeriy Yastremskiy:
Ущербная логика.

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

 
Maxim Dmitrievsky:

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

Ущербность и возникает по не явным признакам часто. И выявить их ещё та проблема в вроде правильной логике.
 
С одной стороны веса с другой бинарность. От чего ушли к тому и пришли.
 

Интересный подход НС для Collaborative Filtering 

Можно вместо ID людей и фильмов взять торговые инструменты и стратегии, вместо оценок какую нибудь метрику (матожидание и т.п.). Затем вычислить скрытые переменные для инструмента и стратегии. А дальше все, что душе угодно. Подбирать систему под инструмент или генерить на ходу с нужными характеристиками, строить синтетики под систему....

 
Maxim Dmitrievsky:
Скинул автору сетки резы и свое негодование по почте

Интересно что он отписал.

 
mytarmailS:

Интересно что он отписал.

Пока ничего. Там должна быть некоторая регулярность в сэмплах, в этом весь смысл. Это другой подход. Думаю, на обычных сетах и на должна обучаться. Т.е. чем в ряду ниже энтропии тем лучше рез, а в том датасете сэмплы рандомно перемешаны. Если по оабочнеонстьянски - важен не столько паттерн, сколько их последовательность
 
elibrarius:
Самый чистый сплит смешаем с менее чистыми. Т.е. ухудшим результат на трейне, в принципе он нам не важен. Но и не факт, что это улучшит результат на тесте, т.е. обобщающую способность. Надо кому-то попробовать... лично я не думаю, что обобщение будет лучше случ. лесов.

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

Ранее я, наверное, не пояснил, что в листе должно оставаться минимум 1% показателей на малых выборках и 100 на больших, поэтому конечно разбиение будет не до отсутствия ошибки в листе по какому либо классу.

Кажется, что Вы не совсем верно понимаете последний этап - я вижу это как статистическую оценку оставшейся выборки в 1% - в этой выборке мы наблюдаем, что результат улучшается при сплитах разными предикторами, у нас получается информация о подпространстве, к примеру:

Если A>x1, то целевой 1 будет верно определено 40% что составит 60% подвыборки

Если B>x2, то целевой 1 будет верно определено 55% что составит 45% подвыборки

Если A<=x1, то целевой 1 будет верно определено 70% что составит 50% подвыборки

У каждого такого разбиения есть коэффициент значимости (пока не решил, как его считать), он есть и у последнего сплита.

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


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

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

 
Aleksey Vyazmikin:

Ранее я, наверное, не пояснил, что в листе должно оставаться минимум 1% показателей на малых выборках и 100 на больших, поэтому конечно разбиение будет не до отсутствия ошибки в листе по какому либо классу.

Кажется, что Вы не совсем верно понимаете последний этап - я вижу это как статистическую оценку оставшейся выборки в 1% - в этой выборке мы наблюдаем, что результат улучшается при сплитах разными предикторами, у нас получается информация о подпространстве, к примеру:

Если A>x1, то целевой 1 будет верно определено 40% что составит 60% подвыборки

Если B>x2, то целевой 1 будет верно определено 55% что составит 45% подвыборки

Если A<=x1, то целевой 1 будет верно определено 70% что составит 50% подвыборки

У каждого такого разбиения есть коэффициент значимости (пока не решил, как его считать), он есть и у последнего сплита.

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


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

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

Все равно результат обучения будет чем то между деревом обученным до N и N+1 глубины, например 6 и 7. Если на уровне 6 ошибка равна 20% а на уровне 7 - 18%, ваш метод даст ошибку между ними, например 19%. Вы думаете выигрыш в 1% стоит того, чтобы тратить на это время?
Ранее описал простой способ - часть деревьев обучить до 6, а часть до 7 уровня глубины. Это потребует переписывать код.
Сейчас придумал более простой способ, т.к. ничего не надо переписывать. Просто строите случайный лес любым пакетом до 6 уровня и еще один лес до 7 уровня, потом усредняете.


Обучающая выборка не должна нас волновать, - она всегда прекрасна.

 
elibrarius:
Все равно результат обучения будет чем то между деревом обученным до N и N+1 глубины, например 6 и 7. Если на уровне 6 ошибка равна 20% а на уровне 7 - 18%, ваш метод даст ошибку между ними, например 19%. Вы думаете выигрыш в 1% стоит того, чтобы тратить на это время?
Ранее описал простой способ - часть деревьев обучить до 6, а часть до 7 уровня глубины. Это потребует переписывать код.
Сейчас придумал более простой способ, т.к. ничего не надо переписывать. Просто строите случайный лес любым пакетом до 6 уровня и еще один лес до 7 уровня, потом усредняете.


Обучающая выборка не должна нас волновать, - она всегда прекрасна.

Прирост обычно получается больше, чем 1%.

Конечно можно случайные леса, но как их заставить быть одинаковыми до предпоследнего сплита? Допустим обучили 10 деревьев до 6 сплита, а остальные ещё 10 учим так же, но до 7го.