- •«Градієнтні методи оптимізації»
- •Методи оптимізації. Пошук екстремумів функції
- •2. Градієнтні методи оптимізації
- •2.1 Градієнтний метод з постійним кроком
- •2.2 Градієнтний метод із дробленням кроку
- •2.3 Метод найшвидшого спуску
- •2.4 Модифікований метод найшвидшого спуску
- •3. Приклади розв’язку задач методами градієнтного спуску
- •Використана література:
2.2 Градієнтний метод із дробленням кроку
В цьому варіанті градієнтного методу величина кроку на кожній ітерації вибирається із умови виконання нерівності:
f(xn+1) = f(xn nf (xn)) f(xn) n||f (xn)||2, (3)
де (0, 1) – деяка вибрана константа. Процедуру знаходження n зазвичай здійснюють наступним чином: обирається число (0, 1) і деякий початковий крок 0. Тепер для кожного n покладають n = 0 і здійснюють крок градієнтного методу. Якщо з таким n умова (3) виконується, то множать n на («дроблять крок») і повторюють цю процедуру до тих пір, поки нерівність (3) не буде виконуватися. В умовах теореми про умовну збіжність градієнтного методу з постійним кроком, ця процедура для кожного n за скінченну кількість кроків приведе до потрібного n.
2.3 Метод найшвидшого спуску
В методі найшвидшого спуску кроковий множник обчислюється із умови мінімуму функції в напрямку антиградієнта – , тобто:
.
Алгоритм 1
Початок. І. Вибрати довільну початкову точку і покласти
Основний цикл.
ІІ. Обчислити .
ІІІ. Якщо , то покласти і зупинити обчислення; інакше перейти на крок IV.
IV. Обчислити кроковий множник із умови
.
V. Обчислити наступне наближення
.
VI. Покласти і перейти на крок ІІ.
Алгоритм 1 на практиці використовують рідко. Це пов’язано із неможливістю реалізувати крок IV в більшості практичних випадків. Тому на практиці частіше використовують модифіковані методи найшвидшого спуску.
2.4 Модифікований метод найшвидшого спуску
Алгоритм 2
Кроки І–ІІІ такі, як в алгоритмі 1.
ІV. Визначити число , яке задовольняє рівності
.
V. Обчислити параметр , , який задовольняє нерівностям , де довільна константа з напівінтервалу .
VI. Обчислити кроковий множник із умови
. (3.1)
VII. Обчислити наступне наближення
.
VIIІ. Покласти і перейти на крок ІІ.
Покажемо графічну інтерпретацію методу найшвидшого спуску:
3. Приклади розв’язку задач методами градієнтного спуску
Приклад 1. Знайти методом найшвидшого спуску мінімум функції. Беручи в значенні початкової точки точку , визначити координати наступної точки:
.
Розв’язання.
За початкову точку беремо точку . Обчислюємо градієнт в цій точці за формулами:
Отже:
Оскільки , то є точкою мінімуму.
Приклад 2. Визначити градієнтним методом максимум функції , почавши ітераційний процес з точки Х=(4, 5).
Розв’язання.
Ітерація 1.
Обчислюємо градієнт функції в заданій початкові точці:
Тоді:
Обчислюємо градієнт в даній точці:
Використовуючи необхідну умову екстремуму, знаходимо похідну:
Звідси:
Так як , то знайдене значення є точкою максимуму. За допомогою отримуємо нову точку:
Ітерація 2. Початкова точка , значення градієнта функції в цій точці:
Отже, є стаціонарною точкою і подальше переміщення вздовж градієнта неможливе. Так як функція z опукла, то в знайденій точці досягається глобальний максимум:
Приклад 3. Визначити методом найшвидшого спуску мінімум функції , почавши ітераційний процес з точки Х=(0, 0).
Розв’язання.
Ітерація 1.
Обчислюємо градієнт функції в заданій початкові точці:
Тоді:
Обчислюємо градієнт в даній точці:
Використовуючи необхідну умову екстремуму, знаходимо похідну:
Звідси:
Так як , то знайдене значення є точкою мінімуму. За допомогою отримуємо нову точку:
Ітерація 2. Початкова точка , значення градієнта функції в цій точці:
Тоді:
Обчислюємо градієнт в даній точці:
Використовуючи необхідну умову екстремуму, знаходимо похідну:
Звідси:
Так як , то знайдене значення є точкою мінімуму. За допомогою отримуємо нову точку:
Ітерація 3. Початкова точка , значення градієнта функції в цій точці:
Тоді:
Обчислюємо градієнт в даній точці:
Використовуючи необхідну умову екстремуму, знаходимо похідну:
Звідси:
Так як , то знайдене значення є точкою мінімуму. За допомогою отримуємо нову точку:
Ітерація 4. Початкова точка , значення градієнта функції в цій точці:
Тоді:
Обчислюємо градієнт в даній точці:
Використовуючи необхідну умову екстремуму, знаходимо похідну:
Звідси:
Так як , то знайдене значення є точкою мінімуму. За допомогою отримуємо нову точку:
і так далі до закінчення ітераційного процесу.
Можна помітити, що послідовність сходиться за геометричною прогресією, знаменник якої
Відзначимо також, що , тому точка мінімуму відома зразу.