Jump to content

Сложность Oracle (оптимизация)

В математической оптимизации сложность оракула — это стандартная теоретическая основа для изучения вычислительных требований для решения классов задач оптимизации. Он подходит для анализа итерационных алгоритмов , которые вычисляют локальную информацию о целевой функции в различных точках (например, значение функции, градиент , гессиан и т. д.). Эта структура использовалась для обеспечения жестких гарантий количества необходимых итераций в наихудшем случае для нескольких важных классов задач оптимизации.

Формальное описание

[ редактировать ]

Рассмотрим задачу минимизации некоторой целевой функции (по некоторому домену ), где известно, что он принадлежит некоторому семейству функций . Вместо прямого доступа к , предполагается, что алгоритм может получить информацию о через оракула , что дает точку в , возвращает некоторую локальную информацию о в окрестностях . Алгоритм начинается в некоторой точке инициализации , использует информацию, предоставленную оракулом, для выбора следующей точки , использует дополнительную информацию для выбора следующей точки , и так далее.

В качестве конкретного примера предположим, что ( -мерное евклидово пространство ) и рассмотрим алгоритм градиентного спуска , который инициализируется в некоторой точке и происходит через рекурсивное уравнение

,

где это некоторый параметр размера шага. Этот алгоритм можно смоделировать в рамках вышеприведенной схемы, где заданы любые оракул возвращает градиент , который затем используется для выбора следующей точки .

В этой структуре для каждого выбора семейства функций и оракул , можно изучить, сколько вызовов/итераций оракула требуется, чтобы гарантировать некоторый критерий оптимизации (например, гарантировать, что алгоритм выдает точку такой, что для некоторых ). Это известно как сложность оракула этого класса задач оптимизации: а именно, такое количество итераций, при котором, с одной стороны, существует алгоритм, который, как доказуемо, требует для успеха только этого количества итераций (для любой функции из ), а с другой стороны, есть доказательство того, что ни один алгоритм не может добиться успеха с меньшим количеством итераций равномерно для всех функций в .

Подход сложности оракула по своей сути отличается от теории сложности вычислений , которая опирается на машину Тьюринга для моделирования алгоритмов и требует входных данных алгоритма (в данном случае функция ), чтобы быть представленным в виде небольшого количества строк в памяти. Вместо этого алгоритм не ограничен вычислительно, но его доступ к функции предполагается ограниченным. Это означает, что, с одной стороны, результаты оракула по сложности применимы только к конкретным семействам алгоритмов, которые обращаются к функции определенным образом, а не к любому алгоритму, как в теории сложности вычислений. С другой стороны, результаты применимы к большинству, если не ко всем итеративным алгоритмам, используемым на практике, не полагаются на какие-либо недоказанные предположения и приводят к тонкому пониманию того, как геометрия функции и тип информации, используемой алгоритмом, влияют на практическую производительность.

Общие настройки

[ редактировать ]

Сложность Oracle применялась к довольно большому количеству различных настроек, в зависимости от критерия оптимизации, класса функции. и тип оракула .

С точки зрения критерия оптимизации, наиболее распространенным из них является поиск точки, близкой к оптимальной, а именно создание для некоторых маленьких . Некоторые другие критерии включают в себя поиск приблизительно стационарной точки ( ), или нахождение приближенного локального минимума.

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

С точки зрения оракула , принято считать, что для данной точки , он возвращает значение функции в , а также производные до некоторого порядка (скажем, только значение, значение и градиент, значение и градиент и гессиан и т. д.). Иногда изучают более сложные оракулы. Например, стохастический оракул возвращает значения и производные, искаженные случайным шумом, и полезен для изучения стохастической оптимизации . методов [1] Другой пример — проксимальный оракул , который по заданной точке и параметр , возвращает точку минимизация .

Примеры результатов сложности оракула

[ редактировать ]

Ниже приведены несколько известных результатов сложности оракула (вплоть до числовых констант) для получения ошибки оптимизации. для некоторых достаточно маленьких и по домену где не фиксировано и может быть сколь угодно большим (если не указано иное). Мы также предполагаем, что точка инициализации удовлетворяет по какому-то параметру , где — некоторый глобальный минимизатор целевой функции.

Класс функции Оракул Сложность Oracle
Выпуклый, -Липшицевый, фиксированный размер Значение + градиент [2]
Выпуклый, -Липшиц Значение + градиент [2]
Выпуклый, -Липшицев градиент Значение + градиент [2]
- Сильно выпуклый, -Липшицев градиент Значение + градиент [2]
Выпуклый, -Липшиц Гессен Значение + градиент + гессиан [3]
- Сильно выпуклый, -Липшиц Гессен Значение + градиент + гессиан [3]
  1. ^ Агарвал, Алех; Бартлетт, Питер; Равикумар, Прадип; Уэйнрайт, Мартин (май 2012 г.). «Теоретико-информационные нижние границы сложности оракула стохастической выпуклой оптимизации». Транзакции IEEE по теории информации . 58 (5): 3235–3249. arXiv : 1009.0571 . дои : 10.1109/TIT.2011.2182178 . S2CID   728066 .
  2. ^ Перейти обратно: а б с д Nesterov, Yurii (2018). Lectures on Convex Optimization . Springer. ISBN  978-3-319-91578-4 .
  3. ^ Перейти обратно: а б Арджевани, Йоси; Шамир, Охад; Шифф, Рон (28 мая 2018 г.). «Сложность Oracle методов второго порядка для гладкой выпуклой оптимизации». Математическое программирование . 178 (1–2): 327–360. arXiv : 1705.07260 . дои : 10.1007/s10107-018-1293-1 . S2CID   28260226 .

Дальнейшее чтение

[ редактировать ]
  • Немировский, Аркадий; Юдин, Дэвид (1983). Сложность задач и эффективность методов оптимизации . Джон Уайли и сыновья.
  • Бубек, Себастьян (2015). «Выпуклая оптимизация: алгоритмы и сложность». Основы и тенденции в машинном обучении . 8 (3–4): 231–357. arXiv : 1405.4980 . дои : 10.1561/2200000050 .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: d09515310e3af562110f3d0794c4fe77__1719396780
URL1:https://arc.ask3.ru/arc/aa/d0/77/d09515310e3af562110f3d0794c4fe77.html
Заголовок, (Title) документа по адресу, URL1:
Oracle complexity (optimization) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)