Модуль 2
Безумовна нелінійна оптимізація
Другий модуль переходить від функцій однієї змінної до багатовимірної оптимізації. Ви послідовно проходите похідні, градієнт, вибір кроку, матрицю Гессе та Newton/BFGS.
Що ви опануєте
Як проходити модуль
Рухайтеся за блоками зверху вниз. Спочатку прочитайте лекцію або кілька пов’язаних лекцій, потім пройдіть усі збережені тести відповідних тематичних частин. Після цього виконайте лабораторну, яка закріплює саме щойно вивчену теорію.
Детальний маршрут
Блок 1. Функція однієї змінної та її екстремуми
Після блоку. Після блоку ви маєте вміти читати поведінку функції однієї змінної, використовувати похідну для пошуку кандидатів на екстремум і не забувати перевіряти межі допустимого інтервалу.
Блок 2. Чисельний пошук мінімуму на відрізку
Після блоку. Ви маєте розуміти, як працюють bounded-пошук, золотий переріз і Brent, навіщо потрібні інтервал і критерій зупинки та як порівнювати чисельні результати.
Блок 3. Кілька змінних і напрям зміни функції
Після блоку. Після блоку ви маєте вміти обчислювати часткові похідні, збирати градієнт і використовувати його для прогнозу зміни функції в обраному напрямі.
Блок 4. Градієнтний спуск
Після блоку. Ви маєте вміти виконати ітерації градієнтного спуску, відстежувати значення цілі та пояснювати, чому занадто малий або занадто великий крок погіршує роботу алгоритму.
Блок 5. Вибір довжини кроку
Після блоку. Після блоку ви маєте розуміти line search і правило Armijo, перевіряти прийнятність пробного кроку та будувати журнал прийнятих і відхилених спроб.
Блок 6. Кривизна і матриця Гессе
Після блоку. Ви маєте вміти побудувати Гессіан у стаціонарній точці, прочитати його власні значення та відрізнити локальний мінімум, максимум і сідлову точку.
Блок 7. Newton і квазіньютонівські методи
Після блоку. Після блоку ви маєте розуміти Newton-крок, роль локальної квадратичної моделі, ідею BFGS і практично порівнювати поведінку двох методів на одній задачі.
Практика в браузері
Для лабораторних використовується JupyterLite. Відкрийте notebook потрібної лабораторної, задайте свій STUDENT_X,
виконайте роботу та запустіть точну самоперевірку.