Тестовая многопеременная многоэкстремальная функция. - страница 2

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

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

 
joo >>:

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

В вашем ответе и кроеться разгадка,

под каждый ланшафт будет оптимально применим свой алгоритм а универсальным может быть только полный перебор,

как только вы применяете методы ухищрения (для более быстрого нахождения) вы тут же отступаете от гарантированности нахождения главного экстремума.

А значит любое ускорение применимо лишь в свете исследованности конкретной функции,

если она исследованна и сделан вывод что данный алгоритм оправдан, тогда да.

Что же в результате получаем ?,

вы найдёте эталонную функцию,

натаскаете на ней алгоритм а потом этот алгоритм попытаетесь применять на неисследованной функцие цены,

ну и как следствие потерпите фиаско,

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

 
Urain >>:
.......... .

вы найдёте эталонную функцию,

натаскаете на ней алгоритм а потом этот алгоритм попытаетесь применять на неисследованной функцие цены,

ну и как следствие потерпите фиаско,

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

Да что за день сегодня такой?.... На работе та же фигня...

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

У меня целый набор таких тестовых функций, у всех разный характер. На данный момент мой алгоритм проходит все эти тесты, а значит, я уверен, что он не застрянет в каком нибудь локальном экстремуме. Всё. Цель достигнута. Я спокоен за то, что сети обучатся максимально эффективно. Всякие бакпропы и градиентные спуски большинство этих тестов не пройдут. Можете проверить, если есть желание. Поэтому они часто и "застревают" в локальных экстремумах.

Позже выложу остальные тестовые функции.

 
Chomolungma

(-2..2)
MAX(0;0)=1.5 одна точка
MIN(+/- 1.772454;+/- 1.772454)=-4.0 4-е точки



Особенности:
Сложный симметричный рельеф, "приплюснутая" вершина
 
Josephine

(-200..200)
MAX(+/- 162.7395/37.119965;+/- 162.7395/37.119965)=2 8 точек
MIN(+/- 61.272536;+/- 61.272536)=-1.995848 4-е точки



Особенности:
Сложный симметричный рельеф, наличие "острых" локальных экстремумов, несколько глобальных Max и Min
 
Granite
(вариация Josephine)

(-4..4)
MAX()=0.25 множество точек
MIN()=0.0 множество точек


Особенности:
Наличие "острых" локальных экстремумов, но в отличии от Josephine имеет множество точек глобальных экстремумов.
 
Hedgehog

(-10..10)
MAX(0.0;0.0)=1.987766 одна точка
MIN(-7.97248;-7.97248)=-1.298474 одна точка



Особенности:
Много "острых" локальных Мах и "гладких" Min, имеет только по одному глобальному Max и Min.
 
Skin

(-5..5)
MAX(-3.315699;-3.072485)= 14.0606 одна точка
MIN(3.07021;3.315935)= -4.3182 одна точка



Особенности:
Хотя и не имеет недифференцируемых экстремумов это одна из самых сложных для алгоритмов оптимизации функция, в частности, представляет серьезную проблему для классического ГА из за многих локальных "пологих" экстремумов, окрестности которых слабо изменяются в месте со значительным изменением значений переменных. Моё ИМХО: часто похожие функции встречаются в задачах оптимизации ТС и представляют проблему ручного отбора из множества решений оптимальных параметров.
Много "гладких" локальных Мах и Min, имеет только по одному глобальному Max и Min.
 
Trapfall

(-5..5)
MAX(1.0;-2.0)=0.0 одна точка!!!
MIN()= -0.917317 множество точек



Особенности:
Самая сложная тестовая функция из-за наличия изолированных (или лучше сказать сосредоточенных?) на небольших участках недифференцируемых экстремумов.
Множество глобальных Min, несколько локальных "острых" Max и один глобальный Max.
 
Функции, с глобальным экстремумом в центре координат, не годятся для тестирования алгоритмов, инициализируемых нулём, есть и другие минусы у таких функций. 
Причина обращения: