Лекція 12. Похідна як інструмент одновимірної оптимізації
Коротко про лекцію
Лекція показує, як похідна описує напрям і швидкість зміни функції. Ви навчитеся знаходити стаціонарні точки, аналізувати знак похідної та не забувати про межі інтервалу під час пошуку мінімуму.
Практичний сенс. Коли функція описує витрати, час або втрати, важливо знати її значення та напрям локальної зміни. Похідна дає таку інформацію одним числом. Вона допомагає знаходити кандидати на внутрішні екстремуми та пояснює, чому функція спадає або зростає.
Постановка та базові поняття
1. Навіщо оптимізації потрібна локальна зміна
У попередній лекції мінімум простої параболи вдалося знайти через квадрат. Для складнішої функції така форма може бути непомітною.
Розглянемо знову:
Ми вже знаємо, що мінімум знаходиться при \(x=3\). Тепер потрібно зрозуміти інший факт: як поведінка функції змінюється під час руху вздовж осі \(x\).
Ліворуч від 3 значення функції спадають, якщо рухатися вправо. Праворуч від 3 вони зростають. У точці 3 локальний нахил стає нульовим.
Похідна формалізує цей локальний нахил.
1.1. Звідки береться похідна і навіщо вона оптимізації
Похідна вимірює локальну швидкість зміни функції. Якщо аргумент збільшити на мале \(h\), різниця \(f(x+h)-f(x)\) показує зміну значення. Ділення на \(h\) переводить цю зміну в «зміну функції на одиницю зміни аргументу».
Граничний перехід при \(h\to0\) дає точну локальну характеристику. Геометрично це нахил дотичної. Для мінімізації знак похідної підказує напрям: від’ємна похідна означає, що рух вправо локально зменшує функцію, додатна — збільшує.
Тому рівність \(f'(x)=0\) виникає не як правило для запам’ятовування. У внутрішньому гладкому мінімумі функція вже не має першопорядкового нахилу ні вліво, ні вправо.
2. Середня швидкість зміни
Почнемо без границь.
Візьмемо дві точки \(x\) та \(x+h\). Зміна аргументу дорівнює \(h\).
Зміна функції:
Середня зміна функції на одиницю аргументу:
для \(h\ne0\).
Цей вираз є нахилом січної прямої між двома точками графіка.
Наприклад, при \(x=1\) та \(h=1\):
Тому середній нахил:
Від’ємний результат означає спадання на цьому кроці.
3. Від січної до дотичної
Корисно побачити цей перехід на числах.
У точці \(x=1\) точна похідна нашої функції дорівнює \(-4\).
Візьмемо різні значення \(h\):
| \(h\) | Середній нахил |
|---|---|
| 1 | \(-3\) |
| 0.5 | \(-3.5\) |
| 0.1 | \(-3.9\) |
| 0.01 | \(-3.99\) |
Коли \(h\) зменшується, середній нахил наближається до \(-4\).
Границя в означенні похідної формалізує саме цю стабілізацію.
Символ \(h\to0\) не означає, що в знаменник підставляють нуль. Він означає, що розглядають значення все ближчі до нуля з обох боків.
Це важливо, бо вираз із \(h=0\) мав би ділення на нуль і був би невизначеним.
Якщо зменшувати \(h\), друга точка наближається до першої.
Для \(x=1\) та \(h=0.5\):
і:
Для ще меншого кроку результат наближається до певного числа.
Похідна визначає границю такого відношення при \(h\to0\).
Формально:
Символ \(f'(x)\) читається «похідна функції \(f\) у точці \(x\)».
4. Геометричний зміст похідної
Похідну можна також читати як коефіцієнт локальної лінійної моделі.
Для малого приросту \(\Delta x\):
У точці \(x=1\) маємо:
та:
Для малого кроку \(\Delta x=0.01\) прогноз:
Точне значення відрізняється дуже мало.
Ця формула пояснює практичний сенс похідної: вона прогнозує першу локальну зміну функції.
Якщо похідна має одиниці «гривні на градус», то множення на зміну температури в градусах дає приблизну зміну витрат у гривнях.
Тому знак і масштаб похідної мають предметне значення.
Похідна дорівнює нахилу дотичної до графіка в конкретній точці.
Додатна похідна означає локальне зростання функції при русі вправо.
Від’ємна похідна означає локальне спадання.
Нульова похідна означає горизонтальну дотичну. Така точка є кандидатом на екстремум, але потребує додаткової перевірки.
Для оптимізації знак похідної важливіший за сам геометричний рисунок. Він показує, у якому напрямку локально поліпшується ціль.
Математична логіка
5. Виведення похідної для наскрізної функції
Похідну цієї функції можна також отримати прямо з означення.
Маємо:
Розкриємо квадрат:
Тоді різниця:
Ділимо на \(h\):
Переходимо до границі при \(h\to0\):
Отже, правило диференціювання квадрата узгоджується з базовим означенням.
Такий ручний вивід корисний один раз, щоб побачити походження формули. У подальших задачах використовуються стандартні правила диференціювання.
Маємо:
Розкриємо квадрат:
Похідна суми дорівнює сумі похідних. Для базових членів:
Тому:
або еквівалентно:
Ця форма відразу показує зміну знака біля 3.
6. Як читати знак похідної
Знак похідної можна оформити як таблицю монотонності.
| Область | Знак \(f'(x)\) | Поведінка \(f(x)\) |
|---|---|---|
| \(x<3\) | \(-\) | спадає |
| \(x=3\) | \(0\) | стаціонарна точка |
| \(x>3\) | \(+\) | зростає |
Така таблиця стискає весь локальний аналіз.
Якщо функція спадає до точки, а після неї зростає, ця точка є локальним мінімумом.
Якщо порядок протилежний, маємо локальний максимум.
Для складнішої похідної потрібно знайти всі точки, де її знак може змінитися, а потім дослідити проміжки між ними.
У ручній роботі достатньо вибрати по одній тестовій точці з кожного проміжку та визначити знак.
Якщо \(x<3\), тоді:
тому:
Функція спадає при русі вправо.
Якщо \(x>3\), тоді:
тому:
Функція зростає.
У точці:
маємо:

Зміна знака з «мінус» на «плюс» відповідає локальному мінімуму.
7. Стаціонарна точка
Точку, де похідна дорівнює нулю, називають стаціонарною.
Умова:
дає кандидатів на внутрішні екстремуми.
Для нашої функції:
звідси:
Однак рівність похідної нулю сама по собі не доводить мінімум.
8. Чому нульова похідна ще не доводить екстремум
Розглянемо:
Похідна:
У точці \(x=0\):
Проте функція продовжує зростати через нуль. Ліворуч значення від’ємні, а праворуч додатні.

Тому стаціонарна точка є кандидатом, а тип точки визначається додатковим аналізом.
9. Перша перевірка через зміну знака
Для мінімуму потрібний перехід похідної:
Це означає: функція спочатку спадає, а потім зростає.
Для максимуму типовий перехід:
Для \(g(x)=x^3\) маємо:
з обох боків від нуля.
Тому зміни знака немає, а локальний екстремум відсутній.
10. Друга похідна
Друга похідна також має практичний зміст.
Якщо \(f''(x)\) велика й додатна, графік поблизу точки має виразну кривизну вгору.
Якщо \(f''(x)\) близька до нуля, дно функції може бути пласким.
Плаский мінімум чисельно складніший, бо багато сусідніх точок мають майже однакові значення функції.
Наприклад, функція \(x^4\) біля нуля змінюється повільніше, ніж \(x^2\).
Тому друга похідна впливає на класифікацію стаціонарної точки та поведінку чисельних алгоритмів.
У багатовимірному випадку роль другої похідної перейде до матриці Гессе.
Друга похідна — похідна від першої похідної.
Позначення:
Вона описує зміну нахилу та локальну кривизну.
Для нашої функції:
тому:
Якщо в стаціонарній точці друга похідна додатна, графік локально вигинається вгору. Це підтримує висновок про мінімум.
Якщо друга похідна від’ємна, графік локально вигинається вниз, що відповідає максимуму.
11. Перевірка другого порядку
Для стаціонарної точки \(x^*\) простий тест має вигляд:
і:
Тоді \(x^*\) є строгим локальним мінімізатором.
У нашому прикладі:
і:
Отже, \(x=3\) є локальним мінімізатором.
Глобальність для цієї функції додатково підтверджує квадратна форма.
12. Коли друга похідна дорівнює нулю
Існує ще один корисний шлях перевірки — безпосередньо порівняти значення функції навколо кандидата.
Наприклад, для \(g(x)=x^4\):
Тому точка нуль має менше значення за сусідні.
Такий локальний числовий тест не замінює загального доказу, але допомагає діагностувати ситуацію, коли тест другої похідної невизначений.
Для простих навчальних функцій корисно комбінувати кілька незалежних аргументів: знак похідної, другу похідну, алгебраїчну форму та пряме порівняння.
Тест другого порядку може бути невизначеним.
Для:
маємо:
і:
У точці нуль:
Проте \(x=0\) є глобальним мінімізатором, бо \(x^4\ge0\).
Отже, нульова друга похідна означає, що цей конкретний тест не дав відповіді. Потрібен інший аргумент.
Алгоритм і покроковий розбір
13. Пошук кандидатів на закритому відрізку
Закритий відрізок важливий ще й через існування екстремумів.
Для неперервної функції на закритому обмеженому відрізку мінімум і максимум досягаються.
Для практики це означає: якщо функція неперервна і область має вигляд \([a,b]\), то оптимальна точка існує.
Далі потрібно знайти, де саме вона розташована.
Внутрішні кандидати дає похідна, а межі додаються вручну.
Якщо область відкрита, наприклад \((a,b)\), оптимальне значення може не досягатися.
Тому тип дужок у математичному записі області має реальний зміст.
Нехай потрібно мінімізувати \(f(x)\) на:
Кандидати виникають із трьох джерел:
- внутрішні стаціонарні точки;
- точки недиференційовності;
- межі \(a\) та \(b\).
Це важливе правило. Похідна працює з внутрішніми гладкими точками, але оптимум може лежати на межі.
14. Ручний приклад на відрізку
Розглянемо:
Похідна:
Стаціонарна точка:
Вона належить відрізку.
Перевіряємо три кандидати:
Найменше значення отримано при:
15. Приклад, де оптимум лежить на межі
Нехай область:
Стаціонарна точка \(x=3\) не є допустимою.
Тому перевіряємо межі:
Отже:
Похідна на всьому інтервалі додатна:
тому функція зростає від лівої межі до правої.
16. Точки недиференційовності
Кути — лише один тип проблеми.
Похідна також може не існувати через розрив функції, вертикальну дотичну або складну кусочно-задану структуру.
Наприклад, для кусочної функції потрібно перевіряти точки, де змінюється формула.
У прикладній оптимізації такі точки часто виникають через штрафи, тарифи, пороги або умови «якщо».
Тому алгоритм аналізу не повинен механічно обмежуватися рівнянням \(f'(x)=0\).
Спочатку потрібно знати структуру функції та її область визначення.
Функція може мати мінімум у точці, де звичайної похідної немає.
Класичний приклад:
У точці \(x=0\) графік має кут.
Ліва похідна дорівнює \(-1\), а права — \(1\). Звичайна похідна в нулі не існує.
Проте:
і:
Тому \(x=0\) є глобальним мінімізатором.
Алгоритм пошуку кандидатів повинен враховувати такі точки окремо.
17. Систематичний алгоритм аналізу
Під час оформлення ручного розв’язку бажано показати не тільки фінальну точку.
Повний мінімальний запис містить:
- похідну;
- рівняння стаціонарності;
- список кандидатів;
- значення функції в кандидатах;
- критерій класифікації;
- фінальний висновок.
Наприклад:
Далі:
і:
Такий запис дозволяє іншій людині відтворити причинний шлях і перевірити кожний крок.
Для гладкої функції на закритому відрізку корисний такий порядок.
- Записати функцію та допустимий відрізок.
- Обчислити першу похідну.
- Розв’язати рівняння \(f'(x)=0\).
- Залишити тільки стаціонарні точки всередині області.
- Додати точки недиференційовності.
- Додати обидві межі.
- Обчислити функцію в усіх кандидатах.
- Порівняти значення.
- За потреби використати знак похідної або другу похідну.
- Записати мінімізатор і мінімальне значення окремо.
Цей алгоритм є теоретичним фундаментом для одновимірної оптимізації.
Програмна реалізація та перевірка
18. Символьна похідна як перевірка
SymPy корисний як незалежний контроль, але студент повинен розуміти математичну операцію до запуску коду.
Якщо програмний результат відрізняється від ручної формули, потрібно знайти причину.
Типові причини:
- неправильно записана сама функція;
- переплутана змінна диференціювання;
- втрачений коефіцієнт;
- помилка в дужках;
- використано іншу формулу, ніж у математичній постановці.
Перевірка має сенс тільки тоді, коли ручний і програмний записи описують ту саму функцію.
Для навчального прикладу похідну легко обчислити вручну.
У Python можна використати SymPy для незалежної символічної перевірки.
# Імпортуємо SymPy для обчислень, розв’язання моделі та її перевірки.
import sympy as sp
# Обчислюємо або перевіряємо похідну функції.
x = sp.symbols("x")
objective = (x - 3) ** 2 + 2
# Обчислюємо або перевіряємо похідну функції.
first_derivative = sp.diff(
objective,
x,
)
# Обчислюємо або перевіряємо похідну функції.
second_derivative = sp.diff(
first_derivative,
x,
)
# Виводимо результат і діагностичні величини, щоб зіставити їх з очікуваними числами.
print(first_derivative)
print(second_derivative)
Очікувано:
2*x - 6
2
SymPy підтверджує ручне диференціювання.
19. Чисельна похідна
Якщо аналітична похідна недоступна, її можна наближено оцінити.
Центральна різниця:
де \(h\) — малий додатний крок.
Для \(x=1\) візьмемо:
Точна похідна:
Чисельна оцінка повинна бути дуже близькою до цього значення.
20. Python-перевірка чисельної похідної
Корисно порівнювати аналітичне й чисельне значення через нев’язка.
Нехай:
а:
— чисельна оцінка.
Тоді:
Якщо нев’язка малий, дві реалізації узгоджуються.
Наприклад, при числовий допуск:
можна перевірити:
Такий підхід кращий за візуальне порівняння довгих десяткових чисел.
# Описуємо цільову функцію тією самою формулою, що й у математичній постановці.
def objective(x: float) -> float:
return (x - 3.0) ** 2 + 2.0
# Описуємо похідну або її чисельне наближення для незалежної перевірки формули.
def numerical_derivative(
function,
x: float,
step: float = 1e-5,
) -> float:
return (
function(x + step)
- function(x - step)
) / (2.0 * step)
# Обчислюємо або перевіряємо похідну функції.
point = 1.0
# Виводимо результат і діагностичні величини, щоб зіставити їх з очікуваними числами.
print(
numerical_derivative(
objective,
point,
)
)
Очікуване значення близьке до:
-4.0
Мале відхилення можливе через з рухомою комою арифметику.
21. Чому надто малий крок теж небезпечний
Здається природним робити \(h\) якомога меншим.
Проте обчислення:
віднімає близькі числа.
При надто малому \(h\) округлення з рухомою комою може погіршити результат.
Тому чисельне диференціювання має компроміс: крок повинен бути малим для точності апроксимації, але не настільки малим, щоб домінувала похибка округлення.
Для навчальної перевірки часто достатньо порівняти кілька значень \(h\).
22. Верифікація стаціонарної точки
Для точки на межі похідна нев’язка може бути великим і водночас розв’язок може бути правильним.
Наприклад, у задачі на \([4,6]\) оптимум \(x^*=4\) має:
Тому:
Це не помилка, бо рух ліворуч заборонений областю.
Отже, критерій \(|f'(x^*)|\le\varepsilon\) застосовується тільки до внутрішніх гладких точок без активної межі.
Цей нюанс дуже важливий для майбутніх задач з обмеженнями. У них нульовий градієнт замінюється складнішими умовами оптимальності.
Після чисельного пошуку кандидата \(x^*\) можна обчислити градієнтний нев’язка в одновимірному випадку:
Для нашого точного мінімізатора:
У чисельній задачі перевіряють:
де \(\varepsilon\) — числовий допуск.
Наприклад:
Однак ця перевірка має сенс тільки для внутрішньої гладкої точки. На межі або в точці кута потрібен інший критерій.
Інтерпретація, межі та підсумок
23. Типові помилки
Ще одна типова помилка — плутати похідну функції з похідною її числового значення.
Після підстановки конкретного \(x\) отримуємо число. Диференціювати його за \(x\) вже немає сенсу.
Тому спочатку знаходять загальну формулу \(f'(x)\), а потім підставляють точку.
Також потрібно уважно працювати зі знаком мінус.
Для функції:
друга похідна від’ємна, тому стаціонарна точка є максимумом.
Механічне правило «квадрат означає мінімум» тут вже не працює через знак перед квадратом.
Типова помилка. Рівність \(f'(x)=0\) автоматично оголошують доказом мінімуму. Вона дає тільки кандидата на стаціонарну точку.
Друга помилка — ігнорування меж допустимого відрізка.
Третя — використання другої похідної як універсального тесту. Якщо вона дорівнює нулю, потрібен додатковий аналіз.
Четверта — механічне чисельне диференціювання з надто малим кроком.
П’ята — перевірка похідної без перевірки допустимості точки.
24. Що похідна говорить про рух
Похідна також підказує, коли локальна модель може бути ненадійною.
Якщо крок великий, формула:
може давати помітну похибку.
Причина — кривизна функції.
Тому алгоритм, який рухається за похідною, повинен окремо вибирати розмір кроку.
Надто малий крок дає повільний прогрес. Надто великий може перескочити через область зменшення.
У багатовимірному випадку ця проблема стане центральною для градієнтний спуск і пошук довжини кроку.
Похідна є локальною інформацією.
Якщо:
то малий рух вправо зазвичай зменшує функцію.
Якщо:
малий рух вліво може зменшити функцію.
Ця логіка стане основою градієнтних методів у багатовимірному випадку.
В одновимірній задачі похідна вже підказує напрям, але ще не визначає довжину кроку.
25. Зв’язок із чисельними методами
Похідна також може бути частиною критерію зупинки.
Якщо алгоритм знайшов внутрішню точку, де:
це означає, що локальний нахил малий.
Проте малий нахил не гарантує глобального мінімуму.
Функція може мати кілька локальних мінімумів, максимум або пласку ділянку.
Тому похідна нев’язка потрібно читати разом із постановкою задачі, допустимою областю та іншими перевірками.
У багатовимірній оптимізації аналогом стане норма градієнта.
Методи золотого перетину або метод Брента можуть працювати без похідної. Це корисно, коли похідну важко отримати або вона ненадійна.
Методи на основі похідних використовують додаткову локальну інформацію. Вона може прискорити пошук, але потребує коректних похідних.
Тому похідна є інструментом, а не обов’язковою умовою будь-якої оптимізації.
25.1. Похідна та масштаб аргументу
Похідна залежить від одиниць вимірювання.
Нехай \(x\) — час у годинах, а \(f(x)\) — витрати у гривнях.
Тоді \(f'(x)\) має одиниці «гривні на годину».
Якщо перейти від годин до хвилин, числове значення похідної зміниться.
Тому великий модуль похідної не завжди означає «дуже круту» задачу без урахування масштабу аргументу.
Цей факт важливий для вибору кроку в чисельному алгоритмі.
У майбутніх багатовимірних задачах різні координати можуть мати різні одиниці, тому масштабування стане окремою практичною темою.
25.2. Мінімальний формат верифікації
Для внутрішньої гладкої точки звіт може містити:
та, за можливості:
Для точки на межі замість нульової похідної перевіряють допустимість і напрям зміни всередину області.
Наприклад, для \(x^*=4\) на \([4,6]\) похідна додатна. Це означає, що рух праворуч збільшує функцію, а рух ліворуч заборонений.
Тому межова точка є коректним мінімізатором.
Такий звіт пояснює, чому один і той самий похідна нев’язка не можна застосовувати механічно до всіх задач.
25.3. Практична діагностика чисельної похідної
Під час перевірки корисно обчислити похідну з кількома кроками.
Наприклад:
Якщо всі три оцінки близькі до \(-4\) у точці \(x=1\), чисельна перевірка стабільна.
Якщо значення сильно змінюються, варто перевірити функцію та масштаб кроку.
Також потрібно уникати точок, де функція не визначена або має розрив.
Чисельна похідна є діагностичним інструментом, тому її результат читається разом з аналітичною структурою задачі.
У студентській роботі достатньо одного основного кроку й одного додаткового значення для контролю стабільності.
25.4. Підсумкова перевірка похідної
Перед переходом до чисельної оптимізації переконайтеся, що похідна узгоджується з трьома рівнями опису.
Перший рівень — формула функції.
Другий — знак похідної та поведінка графіка.
Третій — чисельна центральна різниця.
Якщо всі три рівні дають однаковий висновок, похідна підготовлена до використання в алгоритмі.
Такий підхід зменшує ризик, що чисельний розв’язувач отримає неправильну похідна інформація і стабільно рухатиметься в хибному напрямку.
25.5. Практичний висновок для обчислювальної задачі
Похідна корисна тільки разом із правильною постановкою.
Якщо область пошуку, одиниці або сама функція записані неправильно, точна похідна не виправить модель.
Тому порядок роботи залишається таким: спочатку модель, потім похідна, далі кандидат, після цього перевірка.
У програмному коді бажано зберігати окремі функції для цілі та похідної. Це спрощує незалежний перевірка і полегшує пошук помилки.
Для навчального прикладу формула похідної проста, але методика перевірки вже така сама, як у складних чисельних задачах.
Інтерактивна самоперевірка лекції
Пройдіть 10 коротких питань. Після кожної відповіді ви побачите пояснення, а за потреби — підказку й повний розбір.
26. Підсумок
Похідна описує локальну швидкість зміни функції. Її знак показує, чи функція зростає або спадає поблизу точки, а рівняння \(f'(x)=0\) дає кандидатів на стаціонарні точки. Кандидат ще потребує класифікації за зміною знака похідної, другою похідною або структурою функції.
Для квадратичної функції \(f(x)=(x-3)^2+2\) маємо \(f'(x)=2(x-3)\) і \(f''(x)=2\). Нуль першої похідної дає \(x=3\), а додатна друга похідна підтверджує локальний мінімум. Опукла структура цієї функції дозволяє зробити сильніший глобальний висновок.
Аналітичну похідну корисно перевіряти центральною скінченною різницею в кількох тестових точках. Після такої перевірки похідна стає надійним інструментом для чисельної оптимізації, де точний мінімізатор часто шукають без явного розв’язання рівняння \(f'(x)=0\).