Метод Ньютона з Параметром: Що Варто Знати Про Цей Підхід

Метод Ньютона у задачах багатовимірної оптимізації належить до важливих методів другого порядку. Однак у практичних обчисленнях не завжди зручно використовувати повний ньютонівський крок. Саме тому розглядають варіант, у якому до схеми додають спеціальний параметр. Такий підхід робить процес пошуку гнучкішим і дає змогу краще керувати переходом до нового наближення. У літературі Метод Ньютона з параметром також часто називають демпфованим методом Ньютона, тобто методом, у якому повний крок Ньютона за потреби зменшують. Далі послідовно розглянемо, як будується цей метод, який вигляд має його ітераційна формула та за якою умовою завершують обчислення.

Метод Ньютона з Параметром: Як Будують Напрям Переходу

Нехай задано функцію кількох змінних

\[ 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 \)

Розглянемо функцію

\[ 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. \]

Оскільки в знайденій точці обидва діагональні елементи матриці Гессе є додатними, матриця Гессе тут є додатно визначеною. Отже, знайдена стаціонарна точка відповідає локальному мінімуму. Для цієї функції вона є одним із двох симетричних мінімумів.

Таким чином, у цьому прикладі послідовно видно головну ідею методу Ньютона з параметром. Спочатку знаходять ньютонівський приріст, далі коригують довжину кроку за допомогою параметра, а потім перевіряють умову зупинки. Саме цей приклад наочно показує, що схема з параметром може бути доречнішою за класичний метод Ньютона тоді, коли повний крок виявляється занадто великим і не дає бажаного зменшення функції.

Що Варто Розглянути Далі: Корисні Напрями Для Продовження

Тему методу Ньютона з параметром ми вже розглянули послідовно: від основної ідеї до практичного прикладу. Однак на цьому знайомство з методами мінімізації не завершується. Що ще варто прочитати далі, щоб краще бачити різницю між підходами та їх можливостями?

  1. Покоординатний спуск: Як працює покрокова мінімізація — У цій статті йтиметься про мінімізацію функції багатьох змінних шляхом послідовної зміни однієї координати за раз.
  2. Градієнтний спуск: Як шукають мінімум за напрямом спаду — Тут буде показано, як для функції декількох змінних будують ітераційний процес на основі градієнта та вибору напряму зменшення.
  3. Метод Ньютона для однієї змінної: Як працює класична схема — У цьому матеріалі розглядатиметься пошук мінімуму функції однієї змінної методом Ньютона та основні кроки цього процесу.

Метод Ньютона з Параметром у Коді: Ідея Для Власної Реалізації

Готова блок-схема дає чудову можливість перейти від теорії до програмування. На її основі можна написати невелику програму на будь-якій зручній мові, яка обчислюватиме мінімальне значення функції кількох змінних методом Ньютона з параметром. Така робота допомагає краще зрозуміти сам підхід, адже математичні міркування поступово перетворюються на зрозумілий обчислювальний процес. До того ж це хороший спосіб перевірити себе на практиці, уважніше розібратися з роллю параметра та побачити, як метод поводиться на різних прикладах.

Блок-схема алгоритму, що показує процес знаходження мінімального значення функції кількох змінних використовуючи метод Ньютона з параметром