Метод Ньютона у задачах багатовимірної оптимізації належить до важливих методів другого порядку. Однак у практичних обчисленнях не завжди зручно використовувати повний ньютонівський крок. Саме тому розглядають варіант, у якому до схеми додають спеціальний параметр. Такий підхід робить процес пошуку гнучкішим і дає змогу краще керувати переходом до нового наближення. У літературі Метод Ньютона з параметром також часто називають демпфованим методом Ньютона, тобто методом, у якому повний крок Ньютона за потреби зменшують. Далі послідовно розглянемо, як будується цей метод, який вигляд має його ітераційна формула та за якою умовою завершують обчислення.
Метод Ньютона з Параметром: Як Будують Напрям Переходу
Нехай задано функцію кількох змінних
\[
f(\bar{x})=f(x_1,x_2,\dots,x_n),
\]
де \( \bar{x} \) — вектор змінних. Потрібно знайти таку точку, у якій функція набуває локально найменшого значення. Але як визначити, у який бік треба рухатися від поточного наближення? Саме це питання і розв’язує перший крок методу.
Передусім поблизу точки \( \bar{x}_k \) функцію замінюють її квадратичним наближенням. Тобто замість аналізу всієї функції використовують локальну модель, яка точніше описує її поведінку біля поточної точки. Це важливо, адже в задачах мінімізації потрібно враховувати не лише напрям зміни функції, а й форму її поверхні.
Таке наближення записують так:
\[
f(\bar{x}) \approx f(\bar{x}_k)
+ \nabla f(\bar{x}_k)^T \cdot (\bar{x}-\bar{x}_k)
+ \frac{1}{2} \cdot (\bar{x}-\bar{x}_k)^T \cdot H(\bar{x}_k) \cdot (\bar{x}-\bar{x}_k).
\]
Тут використовують дві головні величини. Перша — це градієнт \( \nabla f(\bar{x}_k) \), який показує, як функція змінюється поблизу точки \( \bar{x}_k \). Друга — це матриця Гессе \( H(\bar{x}_k) \), яка описує локальну кривизну поверхні. Саме завдяки другим похідним метод Ньютона належить до методів другого порядку.
Далі з цієї квадратичної моделі визначають вектор \( \Delta \bar{x}_k \), який задає ньютонівський приріст, тобто напрям переходу від поточного наближення. Для цього розв’язують систему
\[
H(\bar{x}_k)\cdot \Delta \bar{x}_k=-\nabla f(\bar{x}_k).
\]
Якщо матриця \( H(\bar{x}_k) \) є оборотною, тоді
\[
\Delta \bar{x}_k=-H(\bar{x}_k)^{-1}\cdot \nabla f(\bar{x}_k).
\]
Отже, на цьому етапі метод визначає не нову точку, а саме напрям і величину ньютонівського приросту, які надалі використовують у формулі переходу.
Демпфований Метод Ньютона: Як Отримують Нове Наближення
Після того як ньютонівський приріст \( \Delta \bar{x}_k \) уже знайдено, постає наступне запитання: чи завжди варто переходити до нової точки на весь цей крок? Саме тут і з’являється параметр.
У класичному методі Ньютона перехід до нового наближення відповідає повному кроку. Це означає, що беруть увесь знайдений ньютонівський приріст. Однак у методі Ньютона з параметром вводять число \( \alpha_k \), яке дозволяє змінювати довжину переходу.
Тоді нове наближення визначають за формулою
\[
\bar{x}_{k+1}=\bar{x}_k+\alpha_k\cdot \Delta \bar{x}_k.
\]
Підставляючи сюди вираз для \( \Delta \bar{x}_k \), одержуємо
\[
\bar{x}_{k+1}=\bar{x}_k-\alpha_k\cdot H(\bar{x}_k)^{-1}\cdot \nabla f(\bar{x}_k).
\]
Саме ця формула є основною для методу Ньютона з параметром у задачах мінімізації функції кількох змінних.
Тут важливо чітко розрізняти дві ролі. Вектор \( \Delta \bar{x}_k \) визначає напрям переходу, а параметр \( \alpha_k \) визначає, яку частину цього кроку виконують.
Якщо \( \alpha_k=1 \), то отримуємо класичний метод Ньютона. Якщо ж \( 0<\alpha_k<1 \), то крок зменшується, і метод набуває демпфованого характеру.
Такий підхід потрібний для того, щоб зробити процес обчислень більш керованим. Повний крок Ньютона часто є дуже ефективним, але в окремих задачах він може виявитися занадто великим. Тому параметр дає змогу обережніше переходити до нового наближення та краще контролювати хід ітераційного процесу.
Метод Ньютона: Коли Завершують Процес і Що Вважають Результатом
Після побудови ітераційної формули потрібно зрозуміти ще одну важливу річ: коли саме слід завершувати обчислення? Адже метод Ньютона з параметром є ітераційним, а це означає, що послідовність наближень
\[
\bar{x}_0,\ \bar{x}_1,\ \bar{x}_2,\ \dots,\ \bar{x}_k,\ \dots
\]
обчислюється крок за кроком.
Аналогічно до класичного методу Ньютона, у методі з параметром однією з найуживаніших умов зупинки є вимога малої норми градієнта:
\[
\|\nabla f(\bar{x}_k)\| \le \varepsilon,
\]
де \( \varepsilon>0 \) — заздалегідь задана точність.
Що означає ця умова? Вона показує, що в точці \( \bar{x}_k \) функція вже практично не змінюється. Отже, поточне наближення можна вважати достатньо близьким до точки локального мінімуму.
У багатьох практичних схемах параметр \( \alpha_k \) добирають так, щоб нове наближення забезпечувало зменшення значення функції. Інакше кажучи, прагнуть, щоб під час переходу виконувалась умова
\[
f(\bar{x}_{k+1})<f(\bar{x}_k).
\]
Це не єдина можлива ідея вибору параметра, проте саме вона добре показує його призначення: параметр допомагає зробити перехід таким, що дійсно покращує результат.
Після виконання умови зупинки останню знайдену точку \( \bar{x}_k \) приймають за наближене значення точки локального мінімуму, а значення \( f(\bar{x}_k) \) — за наближене мінімальне значення функції.
Отже, метод Ньютона з параметром, або демпфований метод Ньютона, поєднує три послідовні ідеї. Спочатку він будує ньютонівський приріст за допомогою градієнта і матриці Гессе. Далі формує нове наближення з урахуванням параметра кроку. Після цього перевіряє умову зупинки й визначає наближений результат. Саме така побудова робить цей метод важливим інструментом у чисельних методах мінімізації функції кількох змінних.
Метод Ньютона з Параметром: Практичний Приклад Для Функції Двох Змінних
Тепер перейдемо до практичної частини. Після теоретичного розгляду природно побачити, як метод Ньютона з параметром працює в конкретній задачі. Саме на прикладі найкраще видно, як обчислюють нові наближення і чому в окремих випадках схема з параметром є зручнішою за класичний варіант.
Приклад 1. Знайти мінімальне значення функції \( f(x_1,x_2)=x_1^4-3\cdot x_1^2+x_2^2 \) з точністю \( \varepsilon=0.1 \), використовуючи метод Ньютона з параметром

Розглянемо функцію
\[
f(x_1,x_2)=x_1^4-3\cdot x_1^2+x_2^2.
\]
Для цієї функції застосуємо метод Ньютона з параметром. Візьмемо початкове наближення
\[
\bar{x}_0=
\begin{pmatrix}
0.8\\
0
\end{pmatrix},
\]
оскільки така точка є зручною для обчислень і водночас добре показує, чому в цій задачі доцільно використовувати саме схему з параметром.
Спочатку знайдемо градієнт функції:
\[
\nabla f(x_1,x_2)=
\begin{pmatrix}
\frac{\partial f}{\partial x_1}\\
\frac{\partial f}{\partial x_2}
\end{pmatrix}
=
\begin{pmatrix}
4\cdot x_1^3-6\cdot x_1\\
2\cdot x_2
\end{pmatrix}.
\]
Далі знайдемо матрицю Гессе:
\[
H(x_1,x_2)=
\begin{pmatrix}
\frac{\partial^2 f}{\partial x_1^2} & \frac{\partial^2 f}{\partial x_1\partial x_2}
\\[6pt]
\frac{\partial^2 f}{\partial x_2\partial x_1} & \frac{\partial^2 f}{\partial x_2^2}
\end{pmatrix}
=
\begin{pmatrix}
12\cdot x_1^2-6 & 0\\
0 & 2
\end{pmatrix}.
\]
Тепер обчислимо градієнт і матрицю Гессе в початковій точці \( \bar{x}_0=(0.8,0)^T \):
\[
\nabla f(0.8,0)=
\begin{pmatrix}
4\cdot 0.8^3-6\cdot 0.8\\
2\cdot 0
\end{pmatrix}
=
\begin{pmatrix}
-2.752\\
0
\end{pmatrix},
\\[6pt]
H(0.8,0)=
\begin{pmatrix}
12\cdot 0.8^2-6 & 0\\
0 & 2
\end{pmatrix}
=
\begin{pmatrix}
1.68 & 0\\
0 & 2
\end{pmatrix}.
\]
Для знаходження ньютонівського приросту використаємо систему
\[
H(\bar{x}_k)\cdot \Delta \bar{x}_k=-\nabla f(\bar{x}_k).
\]
Отже, для початкової точки маємо
\[
\Delta \bar{x}_0=-H(0.8,0)^{-1}\cdot \nabla f(0.8,0).
\]
Оскільки матриця \( H(0.8,0) \) є діагональною, її обернена матриця має вигляд
\[
H(0.8,0)^{-1}=
\begin{pmatrix}
\frac{1}{1.68} & 0\\
0 & \frac{1}{2}
\end{pmatrix}.
\]
Тоді
\[
\Delta \bar{x}_0=
–
\begin{pmatrix}
\frac{1}{1.68} & 0\\
0 & \frac{1}{2}
\end{pmatrix}
\cdot
\begin{pmatrix}
-2.752\\
0
\end{pmatrix}
=
\begin{pmatrix}
1.638095\\
0
\end{pmatrix}.
\]
Тепер важливо звернути увагу на один момент. Якщо тут використати класичний метод Ньютона, тобто взяти повний крок \( \alpha_0=1 \), то отримали б точку
\[
\tilde{\bar{x}}_1=
\bar{x}_0+\Delta \bar{x}_0=
\begin{pmatrix}
0.8\\
0
\end{pmatrix}
+
\begin{pmatrix}
1.638095\\
0
\end{pmatrix}
=
\begin{pmatrix}
2.438095\\
0
\end{pmatrix}.
\]
Обчислимо значення функції в початковій і цій новій точці:
\[
f(0.8,0)=0.8^4-3\cdot 0.8^2=-1.5104,
\\[6pt]
f(2.438095,0)\approx 2.438095^4-3\cdot 2.438095^2\approx 17.4889.
\]
Отже, повний ньютонівський крок тут різко збільшує значення функції. Саме тому в даному випадку використання методу Ньютона з параметром є доречнішим. Воно дозволяє не робити надто великий перехід, а рухатися до мінімуму обережніше. Візьмемо параметр
\[
\alpha_k=\frac{1}{4}.
\]
Тоді ітераційна формула матиме вигляд
\[
\bar{x}_{k+1}=\bar{x}_k+\frac{1}{4}\cdot \Delta \bar{x}_k.
\]
Для першої ітерації одержуємо
\[
\bar{x}_1=
\bar{x}_0+\frac{1}{4}\cdot \Delta \bar{x}_0
=
\begin{pmatrix}
0.8\\
0
\end{pmatrix}
+
\frac{1}{4}
\cdot
\begin{pmatrix}
1.638095\\
0
\end{pmatrix}
=
\begin{pmatrix}
1.209524\\
0
\end{pmatrix}.
\]
Перевіримо значення функції:
\[
f(1.209524,0)\approx 1.209524^4-3\cdot 1.209524^2\approx -2.248627.
\]
Бачимо, що тепер значення функції зменшилося. Отже, саме схема з параметром дає в цій задачі значно надійніший перший крок.
Продовження ітераційного процесу
Переходимо до другої ітерації. Обчислюємо градієнт у точці \( \bar{x}_1 \):
\[
\nabla f(1.209524,0)=
\begin{pmatrix}
4\cdot 1.209524^3-6\cdot 1.209524\\
0
\end{pmatrix}
\approx
\begin{pmatrix}
-0.179262\\
0
\end{pmatrix}.
\]
Матриця Гессе в цій точці дорівнює
\[
H(1.209524,0)=
\begin{pmatrix}
12\cdot 1.209524^2-6 & 0\\
0 & 2
\end{pmatrix}
\approx
\begin{pmatrix}
11.555374 & 0\\
0 & 2
\end{pmatrix}.
\]
Тоді ньютонівський приріст буде таким:
\[
\Delta \bar{x}_1=
–
H(1.209524,0)^{-1}\cdot \nabla f(1.209524,0)
\approx
\begin{pmatrix}
0.015513\\
0
\end{pmatrix}.
\]
Отже,
\[
\bar{x}_2=
\bar{x}_1+\frac{1}{4}\cdot \Delta \bar{x}_1
=
\begin{pmatrix}
1.209524\\
0
\end{pmatrix}
+
\frac{1}{4}
\cdot
\begin{pmatrix}
0.015513\\
0
\end{pmatrix}
=
\begin{pmatrix}
1.213402\\
0
\end{pmatrix}.
\]
Переходимо до третьої ітерації. Для точки \( \bar{x}_2 \) маємо
\[
\nabla f(1.213402,0)\approx
\begin{pmatrix}
-0.134228\\
0
\end{pmatrix},
\\[6pt]
H(1.213402,0)\approx
\begin{pmatrix}
11.668137 & 0\\
0 & 2
\end{pmatrix}.
\]
Звідси
\[
\Delta \bar{x}_2=
–
H(1.213402,0)^{-1}\cdot \nabla f(1.213402,0)
\approx
\begin{pmatrix}
0.011504\\
0
\end{pmatrix}.
\]
Тоді
\[
\bar{x}_3=
\bar{x}_2+\frac{1}{4}\cdot \Delta \bar{x}_2
=
\begin{pmatrix}
1.213402\\
0
\end{pmatrix}
+
\frac{1}{4}
\cdot
\begin{pmatrix}
0.011504\\
0
\end{pmatrix}
=
\begin{pmatrix}
1.216278\\
0
\end{pmatrix}.
\]
Тепер знайдемо градієнт у точці \( \bar{x}_3 \):
\[
\nabla f(1.216278,0)\approx
\begin{pmatrix}
-0.100550\\
0
\end{pmatrix}.
\]
Матриця Гессе в цій точці дорівнює
\[
H(1.216278,0)\approx
\begin{pmatrix}
11.752030 & 0\\
0 & 2
\end{pmatrix}.
\]
Отже,
\[
\Delta \bar{x}_3=
–
H(1.216278,0)^{-1}\cdot \nabla f(1.216278,0)
\approx
\begin{pmatrix}
0.008556\\
0
\end{pmatrix}.
\]
Тоді одержуємо четверте наближення:
\[
\bar{x}_4=
\bar{x}_3+\frac{1}{4}\cdot \Delta \bar{x}_3
=
\begin{pmatrix}
1.216278\\
0
\end{pmatrix}
+
\frac{1}{4}
\cdot
\begin{pmatrix}
0.008556\\
0
\end{pmatrix}
=
\begin{pmatrix}
1.218417\\
0
\end{pmatrix}.
\]
Тепер перевіримо умову зупинки. Для точки \( \bar{x}_4 \) маємо
\[
\nabla f(1.218417,0)\approx
\begin{pmatrix}
-0.075189\\
0
\end{pmatrix}.
\]
Отже,
\[
\|\nabla f(\bar{x}_4)\|\approx 0.075189.
\]
Оскільки
\[
0.075189<0.1,
\]
ітераційний процес можна завершити.
Таким чином, останню знайдену точку приймаємо за наближене значення точки мінімуму:
\[
\bar{x}^*=
\begin{pmatrix}
1.218417\\
0
\end{pmatrix}.
\]
Обчислимо мінімальне значення функції в цій точці:
\[
f_{\min}\approx f(1.218417,0).
\]
Підставляємо знайдені значення:
\[
f(1.218417,0)=1.218417^4-3\cdot 1.218417^2+0^2\approx -2.249761.
\]
Отже, методом Ньютона з параметром отримуємо
\[
\bar{x}^*=
\begin{pmatrix}
1.218417\\
0
\end{pmatrix},
\qquad
f_{\min}\approx -2.249761.
\]
Оскільки в знайденій точці обидва діагональні елементи матриці Гессе є додатними, матриця Гессе тут є додатно визначеною. Отже, знайдена стаціонарна точка відповідає локальному мінімуму. Для цієї функції вона є одним із двох симетричних мінімумів.
Таким чином, у цьому прикладі послідовно видно головну ідею методу Ньютона з параметром. Спочатку знаходять ньютонівський приріст, далі коригують довжину кроку за допомогою параметра, а потім перевіряють умову зупинки. Саме цей приклад наочно показує, що схема з параметром може бути доречнішою за класичний метод Ньютона тоді, коли повний крок виявляється занадто великим і не дає бажаного зменшення функції.
Що Варто Розглянути Далі: Корисні Напрями Для Продовження
Тему методу Ньютона з параметром ми вже розглянули послідовно: від основної ідеї до практичного прикладу. Однак на цьому знайомство з методами мінімізації не завершується. Що ще варто прочитати далі, щоб краще бачити різницю між підходами та їх можливостями?
- Покоординатний спуск: Як працює покрокова мінімізація — У цій статті йтиметься про мінімізацію функції багатьох змінних шляхом послідовної зміни однієї координати за раз.
- Градієнтний спуск: Як шукають мінімум за напрямом спаду — Тут буде показано, як для функції декількох змінних будують ітераційний процес на основі градієнта та вибору напряму зменшення.
- Метод Ньютона для однієї змінної: Як працює класична схема — У цьому матеріалі розглядатиметься пошук мінімуму функції однієї змінної методом Ньютона та основні кроки цього процесу.
Метод Ньютона з Параметром у Коді: Ідея Для Власної Реалізації
Готова блок-схема дає чудову можливість перейти від теорії до програмування. На її основі можна написати невелику програму на будь-якій зручній мові, яка обчислюватиме мінімальне значення функції кількох змінних методом Ньютона з параметром. Така робота допомагає краще зрозуміти сам підхід, адже математичні міркування поступово перетворюються на зрозумілий обчислювальний процес. До того ж це хороший спосіб перевірити себе на практиці, уважніше розібратися з роллю параметра та побачити, як метод поводиться на різних прикладах.
