Метод центра тяжести
Эта статья в значительной степени или полностью опирается на один источник . ( ноябрь 2023 г. ) |
Метод центра тяжести — это теоретический алгоритм выпуклой оптимизации . Его можно рассматривать как обобщение метода деления пополам с одномерных функций на многомерные функции. [1] : Раздел 8.2.2 Это теоретически важно, поскольку достигается оптимальная скорость сходимости. Однако это не имеет практической ценности, поскольку каждый шаг требует очень больших вычислительных затрат.
Вход
[ редактировать ]Наша цель — решить задачу выпуклой оптимизации вида:
минимизировать f ( x ) st x в G ,
где f — выпуклая функция , а G — выпуклое подмножество евклидова пространства R н .
у нас есть «субградиентный оракул»: программа, которая может вычислить субградиент f f в любой заданной точке (если Мы предполагаем, что дифференцируема, то единственным субградиентом является градиент ; но мы не предполагаем, что f дифференцируемо).
Метод
[ редактировать ]Метод является итеративным . На каждой итерации t мы сохраняем выпуклую область Gt , которая заведомо содержит искомый минимум. Изначально имеем G 0 = G . Затем каждая итерация t выполняется следующим образом.
- Пусть xt будет тяжести Gt . центром
- Вычислите субградиент в точке x t , обозначенный f '( x t ).
- По определению субградиента график f находится выше субградиента, поэтому для всех x в G t : f ( x ) − f ( x t ) ≥ ( x − x t ) Т f'( х т ).
- Если f '( x t )=0, то из вышеизложенного следует, что x t является точной точкой минимума, поэтому мы завершаем операцию и возвращаем x t.
- В противном случае пусть G t +1 := {x в G t : ( x − x t ) Т е'( х т ) ≤ 0}.
Обратите внимание, что согласно приведенному выше неравенству каждая точка минимума f должна находиться в G t +1. [1] : Раздел 8.2.2
Конвергенция
[ редактировать ]Можно доказать, что
.
Поэтому,
.
Другими словами, метод имеет линейную сходимость остаточного целевого значения со скоростью сходимости . Для получения ε-аппроксимации целевого значения количество необходимых шагов не превышает . [1] : Раздел 8.2.2
Вычислительная сложность
[ редактировать ]Основная проблема метода заключается в том, что на каждом этапе нам приходится вычислять центр тяжести многогранника. Все известные до сих пор методы решения этой задачи требуют ряда арифметических операций, экспоненциальных по размерности n. [1] : Раздел 8.2.2 Следовательно, метод бесполезен на практике, когда имеется 5 и более измерений.
См. также
[ редактировать ]Метод эллипсоида можно рассматривать как удобное приближение к методу центра тяжести. Вместо сохранения допустимого многогранника G t он поддерживает эллипсоид, который его содержит. Вычислить центр тяжести эллипсоида намного проще, чем для обычного многогранника, и, следовательно, метод эллипсоида обычно можно вычислить за полиномиальное время.
Ссылки
[ редактировать ]- ^ Jump up to: а б с д Немировский и Бен-Тал (2023). «Оптимизация III: Выпуклая оптимизация» (PDF) .