Чи можна застосовувати спуск градієнта до невипуклих функцій?


18

Я просто дізнаюся про оптимізацію, і у мене виникають проблеми з розумінням різниці між опуклою та неопуклою оптимізацією. З мого розуміння, опукла функція - це така, де «відрізок лінії між будь-якими двома точками на графіку функції лежить вище або на графіку». У цьому випадку може бути використаний алгоритм спуску градієнта, оскільки існує один мінімум, і градієнти завжди приведуть вас до цього мінімуму.

Однак як щодо функції на цій фігурі:

введіть тут опис зображення

Тут сегмент синьої лінії перетинається нижче функції червоного. Однак функція все ще має єдиний мінімум, і тому градієнтне спускання все одно приведе вас до цього мінімуму.

Тому мої запитання:

1) Чи функція на цій фігурі опукла, чи невипукла?

2) Якщо це невипуклий, то чи можна все ж застосовувати методи опуклої оптимізації (градієнтне спускання)?

Відповіді:


21

Функція, яку ви схопили, насправді не опукла. Однак це квазіконвекс .

Спуск градієнта - це загальний метод постійної оптимізації, тому він може бути і дуже часто застосовується до невипуклих функцій. Завдяки плавній функції та розумно вибраному розміру кроку, вона створить послідовність балівх1,х2, зі строго зменшуваними значеннями f(х1)>f(х2)>.

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

Квазіконвекційні функції - цікавий випадок. Будь-який локальний мінімум квазісупуклої функції також є глобальним мінімумом, але квазікупучі функції також можуть мати стаціонарні точки, які не є локальними мінімумами (візьмітьf(х)=х3наприклад). Тож теоретично можливо спуск градієнта застрягнути на такій нерухомій точці і не просуватися до глобальної хвилини. У вашому прикладі, якби плече на лівій стороні графіка було ідеально вирівняно, спуск градієнта може застрягнути там. Однак такі варіанти, як метод важкої кулі, можливо, зможуть "прокататись" і досягти глобальної хв.


5

Павло вже згадував один важливий момент:

  • якщо f опуклий, то немає сідлових точок, а всі локальні мінімуми також є глобальними. Таким чином, GD (з відповідним кроком) гарантовано знайде глобальний мінімізатор.

Важкою є невипукла оптимізація - наявність точок сідла та локальних мінімумів, де градієнт (0, ..., 0) і які мають довільно погане об'єктивне значення.

Пошук глобального мінімізера в таких умовах, як правило, не є складним і натомість вирішує завдання локального мінімізатора.

Однак зауважте, що:

  • Ймовірність GD застрягти на сідлі насправді дорівнює 0 ( див. Тут ).
  • Однак наявність точок сідла може сильно повільно прогресувати ГД вниз, оскільки напрямки низької кривизни експлуатуються занадто повільно ( див. Тут )

Залежно від розмірності вашої проблеми, можливо, доцільно перейти до процедури оптимізації другого порядку.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.