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

 
Maxim Dmitrievsky:

чем выше вероятность события, тем точнее сигнал, это как бы исходит даже из определения :) 2 горба не будет на зашумленных данных, но модель хотя бы в должной степени должна захватывать крайние значения, иначе она вообще никогда не уверена насчет входов

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

Пока факты говорят мне, что размазанная модель как раз не уверенная, а с провалом по центру не встречалась пока...

Maxim Dmitrievsky:

логлосс вообще смотреть почти бесполезно, это ни о чем не говорящая метрика в плане разбиения на классы

По ней идет градиентный спуск...
 
Aleksey Vyazmikin:

Я думаю, что не так все однозначно, нужно учитывать функцию обучения... так-как вероятность вообще рассчитывается после её показателей.

Пока факты говорят мне, что размазанная модель как раз не уверенная, а с провалом по центру не встречалась пока...

я не понимаю терминологию, что такое функция обучения? там софтмакс на конце или что?

не знаю насчет провала, но неуверенная модель на новых данных работать не будет точно, а размазанная затащит, если поставить порог вероятности

 
Maxim Dmitrievsky:

я не понимаю терминологию, что такое функция обучения? там софтмакс на конце или что?

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

 
Aleksey Vyazmikin:

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

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

 
Maxim Dmitrievsky:

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

Тут про эти коэффициенты, что выдает модель https://en.wikipedia.org/wiki/Logit - там не линейное распределение.

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

Logit - Wikipedia
Logit - Wikipedia
  • en.wikipedia.org
In deep learning, the term logits layer is popularly used for the last neuron layer of neural network for classification task which produces raw prediction values as real numbers ranging from [3]. If p is a probability, then is the corresponding odds; the logit of the probability is the logarithm of the odds, i.e. logit ⁡ ( p ) = log ⁡...
 
Aleksey Vyazmikin:

Тут про эти коэффициенты, что выдает модель https://en.wikipedia.org/wiki/Logit - там не линейное распределение.

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

короче.. еще раз грю: учить надо нормально что бы не было впуклости (оверфит) и обрезанных хвостов (недофит)

красная кривулька выглядит более-менее нормально, по моему мнению

а недообучение это вообще ничто... в районе 0.5

смещение можно вырванивать Байесом, условными вероятностями, в процессе работы модели. Как конкретно - пока не придумал, но ощущается в этом какая-то неведомая мощч, интуитивно

байесовские модели способны дообучаться.. что если просто надеть на модель байесовский наконечник, что бы не переобучать часто.. пока не придумал

 
Maxim Dmitrievsky:

короче.. еще раз грю: учить надо нормально что бы не было впуклости (оверфит) и обрезанных хвостов (недофит)

красная кривулька выглядит более-менее нормально, по моему мнению

а недообучение это вообще ничто... в районе 0.5

смещение можно вырванивать Байесом, условными вероятностями, в процессе работы модели. Как конкретно - пока не придумал, но ощущается в этом какая-то неведомая мощь, интуитивно

байесовские модели способны дообучаться.. что если просто надеть на модель байесовский наконечник, что бы не переобучать часто.. пока не придумал

Да мне тоже красная больше нравится - типа нормальное распределение и все такое, но пока на 512 моделях это распределение проигрывает на глаз... скоро будет много моделей порядка 100000 - вот посмотрю, что они показывают... теория и практика порой не сходятся - надо адаптироваться, а то зубы на полку так можно положить...

Кэтбуст как раз байесовский и поддерживает дообучение, но не знаю - бесконечно добавлять деревья - смахивает на подгонку...

 
Maxim Dmitrievsky:

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

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

 
Maxim Dmitrievsky:

допустим, уже есть кривулька как у тебя - априорное распределение вероятностей

по байесовской формуле можно апдейтить ее после каждой сделки, поэтому центр будет смещаться, и получать новое апостериорное распределение, т.е. грубо некий коэффициент смещения, который будет апдейтится после каждого трейда. Это будет немного подстраивать модель под новые реалии, хотя сама модель будет оставаться прежней.

как это сделать правильно пока не вкуплю, по сути легко должно быть, но никогда не делал :)

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

 
Maxim Dmitrievsky:

А если исходить из предположения что из-за нестационарности меняются не сами закономерности, а модель просто смещается и не дает правильных сигналов

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


Всё равно придется лезть под капот, так-как конечный ответ - это сумма значений листьев и они не все используются всегда, а лишь тогда, когда есть для этого соответствующие показатели. Поэтому на один вход может быть задействован 1 лист, а может и 100! Поэтому мы не можем менять интерпретацию модели смещая вероятность для всех ситуаций, точней можем, но это не логично, так-как часть листьев может продолжить правильно классифицировать. Поэтому либо показатели менять листьев, либо делать отдельную дополнительную интерпретацию каждого листа и её как бы сдвигать в зависимости от комбинаций с другими листьями, но не уверен, что это продуктивно.... Я вот как раз по этому предпочитаю маленькие модели - если их комбинировать, то легче потом выявить ту, что врет и избавится от неё.

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