Функція Розенброка

Матеріал з testwiki
Версія від 18:10, 8 грудня 2022, створена imported>Vlasenko D (Посилання: уточнення)
(різн.) ← Попередня версія | Поточна версія (різн.) | Новіша версія → (різн.)
Перейти до навігації Перейти до пошуку
Графік функції Розенброка для двох змінних. В даному прикладіі a=1,b=100, а мінімальне значення функції дорівнює нулю і досягається в координатах (1,1).

Функція Розенброка у математичній оптимізації — неопукла функція, яка використовується для тестування продуктивності алгоритмів оптимізації. Була представлена Шаблон:Нп у 1960 році.[1]

Глобальний мінімум функції знаходиться всередині довгої вузької плоскої фігури параболічної форми. Що робить складним пошук шлях до глобального мінімуму для алгоритмів оптимізації.

Функція визначається як:

f(x,y)=(ax)2+b(yx2)2

Функція має глобальний мінімум при (x,y)=(a,a2), де f(x,y)=0. Зазвичай ці параметри встановлюються так, що a=1 і b=100. Але тільки в тривіальному випадку, де a=0, функція симетрична, а мінімум знаходиться в початку координат.

Багатовимірні узагальнення

Зазвичай зустрічаються два варіанти.

Анімація функції Розенброка трьох змінних[2]

Ця багатовимірна функція є сумою N/2 незв'язаних 2D функцій Розенброка, і визначається лише для парних N:

f(𝐱)=f(x1,x2,,xN)=i=1N/2[100(x2i12x2i)2+(x2i11)2].[3]

Цей варіант має передбачувано прості рішення.

Другий, більш складний варіант:

f(𝐱)=i=1N1[100(xi+1xi2)2+(1xi)2],де𝐱=(x1,,xN)N.[4]

має рівно один мінімум для N=3 (при (1,1,1)) і рівно два мінімуми для 4N7 — глобальний мінімум при (1,1,...,1) і локальний мінімум поблизу 𝐱^=(1,1,,1). Цей результат отримано шляхом встановлення градієнта функції рівним нулю, зауваживши, що отримане рівняння є раціональною функцією x. Для маленьких N поліноми можна визначити точно, а теорему Штурма можна використати для визначення кількості справжніх коренів, тоді як корені можуть бути обмежені в області |xi|<2.4.[5] Для більшого N цей метод не працює через велике значення задіяних коефіцієнтів.

Стаціонарні точки

Багато стаціонарних точок функції демонструють правильну закономірність під час побудови.[5] Цю структуру можна використати, щоб знайти їх.

Графіки розв'язання цієї функції мають горбисті структури

Приклади оптимізації

Rosenbrock function Nelder-Mead
Метод Нелдера-Міда, застосований до функції Розенброка

Функцію Розенброка можна ефективно оптимізувати шляхом адаптації відповідної системи координат без використання будь-якої інформації про градієнт і без побудови локальних апроксимаційних моделей (на відміну від багатьох оптимізаторів без похідних). Наступний малюнок ілюструє приклад двовимірної оптимізації функції Розенброка за допомогою адаптивного спуску координат від початкової точки x0=(3,4). Розв'язок зі значенням функції 1010 можна знайти після 325 оцінок функцій.

Використання методу Нелдера–Міда з початкової точки x0=(1,1) з регулярним початковим симплексом. Мінімум знайдено зі значенням функції 1.361010 після 185 оцінок функцій. Шаблон:Clear

Див. також

Список літератури

Шаблон:Reflist

Посилання