Оптимизация
Лагранж и ККТ
Оптимизация с ограничениями, множители как цены, и откуда берётся двойственность
Почему нужно новое условие
Из урока 020: в минимуме градиент равен нулю — но только для внутренней точки. На границе это неверно. Минимум на отрезке достигается в , где : уйти вниз хочется, но нельзя.
Правильная формулировка: в оптимуме градиент не обязан быть нулём, он обязан быть полностью погашен ограничениями.
Равенства: метод Лагранжа
Для задачи при вводим
Геометрический смысл первого условия: , то есть градиенты параллельны. Иначе существовала бы компонента градиента вдоль поверхности ограничения, и по ней можно было бы спуститься, не нарушая условия.
Проверим на примере: при . Условия дают и . Для : точка , значение , множитель .
- f(x, y)
- 1
- градиент
- 1, 1
- норма градиента
- 1.41
Линии уровня — окружности, градиент радиален. Ограничение x + y = 2 — прямая. В точке (1, 1) градиент цели (1, 1) параллелен нормали к прямой (1, 1), и множитель равен 1. Пройдите вдоль прямой в любую сторону: значение растёт.
Второй ландшафт стоит посмотреть: штрафной метод — самый простой способ учесть ограничение, и у него есть цена. При конечном коэффициенте минимум не лежит на ограничении точно, а при большом коэффициенте задача становится плохо обусловленной — ровно та проблема, которой посвящён урок 050.
Неравенства: условия ККТ
Для при добавляются два новых требования.
Два последних условия — вся суть, и оба содержательны.
Знак множителя. Для равенства мог быть любым; для неравенства он обязан быть неотрицательным. Причина: ограничение давит только с одной стороны. Если бы , условие «толкало» бы решение внутрь допустимой области, где оно и так свободно.
Комплементарность означает: в оптимуме либо ограничение активно (), либо его множитель нулевой (). Иначе говоря — неактивные ограничения не влияют ни на что.
Проверим на при :
| решение | активно? | ||
|---|---|---|---|
| нет | |||
| на границе | |||
| да | |||
| да |
При безусловный оптимум уже удовлетворяет ограничению, значит ограничение неактивно и . Произведение равно нулю в каждой строке — в первой потому, что нулевой множитель, в остальных потому, что нулевой зазор.
Множитель — это цена
Самая полезная интерпретация: показывает, насколько изменится оптимальное значение при ослаблении ограничения на единицу.
Проверим по таблице выше: при оптимум равен , при равен . Производная равна , то есть при и при — в точности множители из таблицы.
Отсюда экономическое название «теневая цена»: — сколько вы готовы заплатить за ослабление ограничения. Ноль означает «ограничение бесплатно», большое значение — «оно вам дорого стоит».
Двойственность, коротко
Определим двойственную функцию . Она обладает двумя свойствами:
- всегда даёт нижнюю границу на оптимум прямой задачи (слабая двойственность), потому что минимум по без ограничений не больше минимума при ограничениях;
- всегда вогнута, даже если прямая задача невыпукла — минимум семейства линейных по функций вогнут.
Для выпуклых задач при мягких условиях граница точна (сильная двойственность), и тогда можно решать любую из двух задач. Это не только теория: двойственная формулировка SVM — то, что делает «ядерный трюк» возможным, потому что в ней данные входят только через скалярные произведения.
Где это встречается в машинном обучении
| место | ограничение |
|---|---|
| SVM | отступы ; двойственная задача даёт ядра |
| максимальная энтропия | нормировка и заданные моменты → откуда экспоненциальное семейство |
| trust region, PPO | шаг или KL ограничены (уроки ветки B) |
| проекционные методы | параметры остаются в допустимом множестве |
| L1-регуляризация | эквивалентна ограничению |
Последняя строка — важный частный случай. Задача «минимизировать лосс при » и задача «минимизировать лосс » эквивалентны при подходящем соответствии , и здесь — тот самый множитель Лагранжа. То есть всякая регуляризация с коэффициентом — это ограничение, записанное через свою теневую цену. Ровно так же, как в блоке 3 всякий регуляризатор оказался prior.
Источники
- Boyd, Vandenberghe — Convex Optimization, гл. 5 — Двойственность, ККТ, интерпретация множителей
- Nocedal, Wright — Numerical Optimization, гл. 12 — Условия оптимальности с ограничениями
Проверки
0 из 2Условия ККТ
Отметьте все верные утверждения об оптимизации с ограничениями.
Решить задачу с неравенством по ККТ
Задача: минимизировать при ограничении .
Реализуйте
kkt_solve(c)— верните[x, y, lam, f_star].Рассуждение целиком помещается в два случая:
- безусловный оптимум — точка , где . Если он уже допустим (то есть ), ограничение неактивно: решение , а множитель по комплементарности равен нулю;
- иначе ограничение активно, то есть . По симметрии задачи , и из условия стационарности следует .
f_star— оптимальное значение цели.Три условия ККТ, которые ваш ответ обязан удовлетворять при любом
c: допустимость (), знак () и комплементарность (). Последнее — лучшая проверка: произведение обязано быть нулевым, причём в разных случаях по разным причинам.Загрузка редактора…
Ctrl/⌘ + Enter