![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
...............
Мои реальные задачи - обучение нейронных сетей и комитетов сетей, где возможны не только недифференцируемые точки, но и разрывы в экстремумах оптимизируемой функции.
Часто эксперименты с NN заканчиваются неудачей именно по этой причине - неспособность алгоритма оптимизации (читаем алгоритма обучения) справится со сложным "ландшафтом" оптимизируемой функции. Методы и алгоритмы оптимизации.
Моя цель же была совершенно в другом - найти тестовую функцию содержащую иголку (типа в стоге сена) и содержащую разнообразный, так сказать, ландшафт. Чем быстрее алгоритм её найдет (за наименьшее количество запусков тестовой ф-ии), тем лучше алгоритм будет справляться с реальными задачами. Мои реальные задачи - обучение нейронных сетей и комитетов сетей, где возможны не только недифференцируемые точки, но и разрывы в экстремумах оптимизируемой функции.
В вашем ответе и кроеться разгадка,
под каждый ланшафт будет оптимально применим свой алгоритм а универсальным может быть только полный перебор,
как только вы применяете методы ухищрения (для более быстрого нахождения) вы тут же отступаете от гарантированности нахождения главного экстремума.
А значит любое ускорение применимо лишь в свете исследованности конкретной функции,
если она исследованна и сделан вывод что данный алгоритм оправдан, тогда да.
Что же в результате получаем ?,
вы найдёте эталонную функцию,
натаскаете на ней алгоритм а потом этот алгоритм попытаетесь применять на неисследованной функцие цены,
ну и как следствие потерпите фиаско,
так не лучше ли сразу натаскивать алгоритм на функцие к которой его будут применять?
.......... .
вы найдёте эталонную функцию,
натаскаете на ней алгоритм а потом этот алгоритм попытаетесь применять на неисследованной функцие цены,
ну и как следствие потерпите фиаско,
так не лучше ли сразу натаскивать алгоритм на функцие к которой его будут применять?
Да что за день сегодня такой?.... На работе та же фигня...
Я не ищу эталонную функцию. Я искал способ создания функции с неограниченным количеством переменных максимально быстро, и что бы проверить результат можно было бы.
У меня целый набор таких тестовых функций, у всех разный характер. На данный момент мой алгоритм проходит все эти тесты, а значит, я уверен, что он не застрянет в каком нибудь локальном экстремуме. Всё. Цель достигнута. Я спокоен за то, что сети обучатся максимально эффективно. Всякие бакпропы и градиентные спуски большинство этих тестов не пройдут. Можете проверить, если есть желание. Поэтому они часто и "застревают" в локальных экстремумах.
Позже выложу остальные тестовые функции.
(-2..2)
MAX(0;0)=1.5 одна точка
MIN(+/- 1.772454;+/- 1.772454)=-4.0 4-е точки
Особенности:
Сложный симметричный рельеф, "приплюснутая" вершина
(-200..200)
MAX(+/- 162.7395/37.119965;+/- 162.7395/37.119965)=2 8 точек
MIN(+/- 61.272536;+/- 61.272536)=-1.995848 4-е точки
Особенности:
Сложный симметричный рельеф, наличие "острых" локальных экстремумов, несколько глобальных Max и Min
(вариация Josephine)
(-4..4)
MAX()=0.25 множество точек
MIN()=0.0 множество точек
Особенности:
Наличие "острых" локальных экстремумов, но в отличии от Josephine имеет множество точек глобальных экстремумов.
(-10..10)
MAX(0.0;0.0)=1.987766 одна точка
MIN(-7.97248;-7.97248)=-1.298474 одна точка
Особенности:
Много "острых" локальных Мах и "гладких" Min, имеет только по одному глобальному Max и Min.
(-5..5)
MAX(-3.315699;-3.072485)= 14.0606 одна точка
MIN(3.07021;3.315935)= -4.3182 одна точка
Особенности:
Хотя и не имеет недифференцируемых экстремумов это одна из самых сложных для алгоритмов оптимизации функция, в частности, представляет серьезную проблему для классического ГА из за многих локальных "пологих" экстремумов, окрестности которых слабо изменяются в месте со значительным изменением значений переменных. Моё ИМХО: часто похожие функции встречаются в задачах оптимизации ТС и представляют проблему ручного отбора из множества решений оптимальных параметров.
Много "гладких" локальных Мах и Min, имеет только по одному глобальному Max и Min.
(-5..5)
MAX(1.0;-2.0)=0.0 одна точка!!!
MIN()= -0.917317 множество точек
Особенности:
Самая сложная тестовая функция из-за наличия изолированных (или лучше сказать сосредоточенных?) на небольших участках недифференцируемых экстремумов.
Множество глобальных Min, несколько локальных "острых" Max и один глобальный Max.