Чому алгоритми оптимізації визначаються з точки зору інших проблем оптимізації?


23

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

Наприклад https://arxiv.org/pdf/1511.05133v1.pdf

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

Все виглядає красиво і добре , але тоді ця в г K + 1 оновлення .... так що алгоритм , який вирішує для argmin ? Ми не знаємо, і це не говорить. Настільки магічно ми повинні вирішити ще одну проблему оптимізації - знайти мінімізуючий вектор, щоб внутрішній продукт був мінімальним - як це зробити?аргмінхzк+1аргмін

Візьміть ще один приклад: https://arxiv.org/pdf/1609.05713v1.pdf

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

Все виглядає приємно і добре, поки ви не потрапите на цього проксимального оператора посеред алгоритму, і яке визначення цього оператора?

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

аргмінхf

Може хтось, будь ласка, просвітить мене щодо:

  1. Чому так багато алгоритмів оптимізації визначено з точки зору інших проблем оптимізації?

(Чи не це буде якась проблема з куркою та яйцями: щоб вирішити задачу 1, потрібно вирішити задачу 2, використовуючи метод вирішення задачі 3, який спирається на вирішення проблеми ....)

  1. хк+1=аргмінхдійсно складна функція втрат

  2. аргмінх

(Баунті: чи може хтось посилатися на документ, для якого автори чітко пояснюють алгоритм субпроблеми, вкладеної в алгоритм оптимізації високого рівня?)


Це може бути актуально.
GeoMatt22

1
Я думаю, що ваше питання було б набагато кращим, якби ви наголосили на тому, що підпроблеми є потенційно твердістю NP, а не тільки про існуючі.
Мехрдад

На жаль ... "NP-твердість" повинна була сказати "NP-hard" в моєму останньому коментарі.
Мехрдад

Див. Редагування 2 до моєї відповіді, в якій надається посилання \, як вимагається у запиті щедрості.
Марк Л. Стоун

Відповіді:


27

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

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

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

Якщо проблема оптимізації є стохастичною або динамічною, можливі ще додаткові ієрархічні рівні оптимізації.

Ось приклад. Послідовне квадратичне програмування (SQP). Початкова проблема оптимізації трактується шляхом ітеративного вирішення умов оптимальності Каруша-Куна-Таккера, починаючи з початкової точки з метою, що є квадратичним наближенням лагранґана задачі, і лінеаризацією обмежень. Отримана квадратична програма (QP) вирішена. QP, який було вирішено, або має обмеження в області довіри, або пошук рядків ведеться від поточного ітерату до рішення QP, що є самою проблемою оптимізації, щоб знайти наступну ітерацію. Якщо використовується метод Квазі-Ньютона, необхідно вирішити проблему оптимізації, щоб визначити оновлення Квазі-Ньютона до гессея Лагранжана - зазвичай це оптимізація закритої форми за допомогою формул закритих форм, таких як BFGS або SR1, але це може бути чисельна оптимізація. Тоді новий QP вирішується і т. Д. Якщо QP колись нездійсненний, у тому числі для початку, вирішується проблема оптимізації, щоб знайти можливу точку. Між тим, всередині QP вирішувача можуть бути викликані один або два рівні внутрішніх проблем оптимізації. В кінці кожної ітерації може бути вирішена негативна проблема лінійних найменших квадратів для визначення показника оптимальності. І т.д.

Якщо це змішана ціла задача, то весь цей шебанг може виконуватися на кожному вузлі розгалуження, як частина алгоритму вищого рівня. Аналогічно глобальному оптимізатору - локальна проблема оптимізації використовується для створення верхньої межі глобально оптимального рішення, тоді послаблення деяких обмежень робиться для створення задачі оптимізації нижньої межі. Тисячі або навіть мільйони проблем «легкої» оптимізації з галузей і зв'язаних можуть бути вирішені для вирішення однієї змішаної цілочислової або глобальної оптимізації.

Це має почати, щоб дати вам уявлення.

Редагувати : У відповідь на запитання з куркою та яйцем, яке було додане до запитання після моєї відповіді: Якщо є проблема з куркою та яйцями, то це не дуже чітко визначений практичний алгоритм. У наведених нами прикладах немає курки та яєць. Алгоритм вищого рівня викликає рішення оптимізації, які або визначені, або вже існують. SQP ітеративно викликає вирішувач QP для вирішення субпроблем, але вирішувач QP вирішує більш просту задачу, QP, ніж вихідну проблему. Якщо існує алгоритм глобальної оптимізації ще більш високого рівня, він може викликати вирішувач SQP для вирішення локальних підпроблем нелінійної оптимізації, а вирішувач SQP в свою чергу викликає вирішувач QP для вирішення підпрограм QP. Ніяких чікен і яєць.

Примітка. Можливості оптимізації є "скрізь". Експерти з оптимізації, як-от ті, хто розробляє алгоритми оптимізації, швидше бачать ці можливості оптимізації та розглядають їх як такі, ніж середні Джо чи Джейн. Будучи алгоритмічно схильними, цілком природно вони бачать можливості для створення алгоритмів оптимізації з алгоритмів оптимізації нижчого рівня. Формулювання та рішення задач оптимізації служать складовими блоків для інших (більш високого рівня) алгоритмів оптимізації.

Редагування 2 : У відповідь на запит на винагороду, який щойно додав ОП. У статті, що описує нелінійний оптимізатор SQP SNOPT https://web.stanford.edu/group/SOL/reports/snopt.pdf, конкретно згадується вирішувач QQ SQOPT, який окремо задокументовано, як використовується для вирішення підпроблем QP у SNOPT.


2

Мені подобається відповідь Марка, але я хоч би зазначив "Імітований відпал", який в основному може працювати над будь-яким алгоритмом оптимізації. На високому рівні це працює так:

Він має параметр "температура", який починає нагріватися. Хоча він гарячий, він часто відходить і (і далі) від місця, де вказується підпорядкований алгоритм оптимізації. Коли він охолоджується, слід більш уважно слідувати порадам підпорядкованого алгоритму, а в нулі - до будь-якого локального оптимуму.

Інтуїція полягає в тому, що вона спочатку буде широко шукати простір, шукаючи «кращі місця», щоб шукати оптимум.

Ми знаємо, що немає реального загального рішення локальної / глобальної проблеми оптимуму. Кожен алгоритм матиме свої сліпі плями, але подібні гібриди дають кращі результати у багатьох випадках.


Цю категорію «мета-алгоритм» іноді називають метагевристикою .
GeoMatt22

@ GeoMatt22 Ось визначення евристичного доказу чи евристичного аргументу я сформулював як недооцінку: "Будь-який аргумент чи його відсутність, який не суперечить жорсткому тому, що слід було довести". Аналогічно, евристичний алгоритм - це будь-який алгоритм або його відсутність, який не гарантує неправильного вирішення проблеми, яку потрібно вирішити.
Марк Л. Стоун

Як евристичний " зупинений годинник "? (2004) Neumaier таксономії описано тут , здається розумним.
GeoMatt22

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

@forecaster існує різноманітний підхід, залежно від проблеми. Я б дуже обережно знижував "оптимізатори на основі похідних" занадто сильно, оскільки в багатьох реальних програмах, таких як глибоке навчання та оптимізація на основі PDE, вони можуть бути досить успішними. (Деякі дискусії тут , включаючи альтернативи, що не містять похідних матеріалів.)
GeoMatt22,

2

Я думаю , що посилання , що мої задовольнити ваші бажання це тут . Перейдіть до розділу 4 - Оптимізація в сучасних байесівських обчисленнях.

TL; DR - вони обговорюють проксимальні методи. Однією з переваг таких методів є розщеплення - ви можете знайти рішення, оптимізуючи простіші підпрограми. Дуже багато разів (або, принаймні, іноді) ви можете знайти в літературі спеціалізований алгоритм для оцінки конкретної проксимальної функції. У їх прикладі вони роблять позначення зображення. Одним із кроків є дуже вдалий і високо цитований алгоритм Chambolle.


2

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

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

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

Нарешті, як приклад візьмемо оригінальний папір класичного алгоритму FISTA. Вони виводять алгоритм для двох дуже специфічних функцій, втрат у квадраті та l1-норми. Однак вони зазначають, що не можна застосовувати жодних функцій, якщо вони відповідають деяким необхідним умовам, один з яких полягає в тому, що проксимальність регульованого може бути обчислена ефективно. Це не теоретична вимога, а практична.

Ця компартіменталізація не тільки робить алгоритм загальним, але й простіше аналізувати: доки існують алгоритми для підпроблем, які мають ці властивості, тоді запропонований алгоритм матиме цей коефіцієнт конвергенції чи будь-який інший.

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