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

 
СанСаныч Фоменко #:

Еще раз: никакой ценности экстремумы не представляют: неустойчивая точка, которая к тому же не существует, так как имеем дело со случайными процессами, причем нестационарными. 

Искать нужно плато даже такое, которое на рисунке, лишь бы прибыльное, пусть выше локального и глобального минимума. Такое плато теоретически покажет верхнюю границу прибыльности ТС. А найденные экстремумы вообще ни о чем - их точно нет в будущем, а вот плато есть надежда

оптимизация не про поиск чего-то не знамо чего, а про улучшение доходности ТС, например

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

Или у вас вся поверхность потонула и остались только экстремумы и плато, торчащие над водой, которые надо отыскать? Тогда это уже изначально подгонка.

это все равно что собраться и сказать "давайте что-нибудь оптимизировать и искать плато", если найдем плато - то там лежит клад. Так вы себе это представляете? 

Надежда на спасение конечно есть, но она ничтожно мала

 

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

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

 

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

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

будем считать правильные и неправильные ответы. 0 - неправильно, 1 - правильно.

0 1 0 0 0 1 0 0 1 1 : 4 правильных

 1 1 1 0 0 0 0 0 0 1 : 4 правильных

0 1 0 1 0 0 1 1 0 0 : 4 правильных

0 0 0 0 1 0 0 1 1 1 : 4 правильных

0 1 1 1 1 0 0 0 0 0 : 4 правильных

.......................................

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

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

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

 

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

Еще раз: нет экстремумов! Нет, мы их видим, даже упорядочены по прибыли или по другому, но их нет. Точно так как нет орла на упавшей орлом вверх монете, потому как это не орел, а вероятность орла. Все Ваши экстремумы - это вероятность экстремума. Можно было бы говорить о значении экстремума в смысле математического ожидания и доверительного интервала, так и об этом говорить невозможно, потому как нет этого самого математического ожидания из-за нестационарности значения экстремума!


Вы же видел это миллион раз, когда оптимизируешь советник на одном интервале - получаешь набор параметров с набором оптимальных результатов. Берешь другой интервал, часто просто наращиваешь - получаешь другой набор параметров с другими результатами, причем можно получить вообще убыток. Что? Этого никто из вас не видел? И к алгоритму оптимизации это не имеет никакого отношения. Можно генетику, можно полный перебор, который возможно улучшить генетику, но вне выборки оптимизации результат будет одним, скорее всего печальным. 

 
СанСаныч Фоменко #:

Вы же видел это миллион раз, когда оптимизируешь советник на одном интервале - получаешь набор параметров с набором оптимальных результатов. Берешь другой интервал, часто просто наращиваешь - получаешь другой набор параметров с другими результатами, причем можно получить вообще убыток. Что? Этого никто из вас не видел? И к алгоритму оптимизации это не имеет никакого отношения. Можно генетику, можно полный перебор, который возможно улучшить генетику, но вне выборки оптимизации результат будет одним, скорее всего печальным. 

вот это пример того, как делать ненужно)) поэтому неправильное представление о каких экстремумах речь

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

 
Andrey Dik #:

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

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

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

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

 

 

https://habr.com/ru/post/318970/

специфичные алгоритмы для обучения сетей отличаются от алгоритмов общего назначения, тем более интересно будет провести сравнительные тесты и тех и других
Методы оптимизации нейронных сетей
Методы оптимизации нейронных сетей
  • 2017.01.04
  • habr.com
В подавляющем большинстве источников информации о нейронных сетях под «а теперь давайте обучим нашу сеть» понимается «скормим целевую функцию оптимизатору» лишь с минимальной настройкой скорости обучения. Иногда говорится, что обновлять веса сети можно не только стохастическим градиентным спуском, но безо всякого объяснения, чем же...
 
Комплексный критерий зачем-то убрали в последних релизах :)
 
СанСаныч Фоменко #:

Еще раз: никакой ценности экстремумы не представляют: неустойчивая точка, которая к тому же не существует, так как имеем дело со случайными процессами, причем нестационарными. 

Искать нужно плато даже такое, которое на рисунке, лишь бы прибыльное, пусть выше локального и глобального минимума. Такое плато теоретически покажет верхнюю границу прибыльности ТС. А найденные экстремумы вообще ни о чем - их точно нет в будущем, а вот плато есть надежда

Именно это я и пытаюсь реализовать, только на более техничном уровне...

Вместо плато  у меня это реальный сигнал, вместо екстремума у меня шум..

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

 
Maxim Dmitrievsky #:
Комплексный критерий зачем-то убрали в последних релизах :)

вроде есть))


Причина обращения: