Содержание
Обзор основных методов математической оптимизации для задач с ограничениями / Хабр
Я долго готовился и собирал материал, надеюсь в этот раз получилось лучше. Эту статью посвящаю основным методам решения задач математической оптимизации с ограничениями, так что если вы слышали, что симплекс-метод — это какой-то очень важный метод, но до сих пор не знаете, что он делает, то возможно эта статья вам поможет.
P. S. Статья содержит математические формулы, добавленные макросами хабраредактора. Говорят, что они иногда не отображаются. Также есть много анимаций в формате gif.
Преамбула
Задача математической оптимизации — это задача вида «Найти в множестве элемент такой, что для всех из выполняется », что в научной литературе скорее будет записано как-то так
Исторически так сложилось, что популярные методы такие как градиентный спуск или метод Ньютона работают только в линейных пространствах (причем желательно простых, например ). На практике же часто встречаются задачи, где нужно найти минимум не в линейном пространстве. Например нужно найти минимум некоторой функции на таких векторах , для которых , это может быть обусловлено тем, что обозначают длины каких-либо объектов. Или же например, если представляют координаты точки, которая должна быть на расстоянии не больше от , т. е. . Для таких задач градиентный спуск или метод Ньютона уже напрямую не применить. Оказалось, что очень большой класс задач оптимизации удобно покрывается «ограничениям», подобными тем, что я описал выше. Иначе говоря, удобно представлять множество в виде системы равенств и неравенств
Задачи минимизации над пространством вида таким образом стали условно называть «задачами без ограничений» (unconstrained problem), а задачи над множествами, заданными наборами равенств и неравенств — «задачами с ограничениями» (constrained problem).
Технически, совершенно любое множество можно представить в виде одного равенства или неравенство с помощью индикатор-функции, которая определяется как
однако такая функция не обладает разными полезными свойствами (выпуклость, дифференцируемость и т. п.). Тем не менее, часто можно представить в виде нескольких равенств и неравенств, каждое из которых такими свойствами обладает. Основная теория подведена под случай
где — выпуклые (но не обязательно дифференцируемые) функции, — матрица. Для демонстрации работы методов я буду использовать два примера:
- Задача линейного программирования
По сути эта задача состоит в том, чтобы найти самую дальнюю точку многоугольника в направлении (2, 1), решение задачи — точка (4.7, 3.5) — самая «правая» в многоугольнике). А вот собственно и сам многоугольник - Минимизация квадратичной функции с одним квадратичным ограничением
Симплекс-метод
Из всех методов, которые я покрываю этим обзором, симплекс-метод наверно является самым известным. Метод был разработан специально для линейного программирования и единственный из представленных достигает точного решения за конечное число шагов (при условии, что для вычислений используется точная арифметика, на практике это обычно не так, но в теории возможно). Идея симплекс-метода состоит из двух частей:
- Системы линейных неравенств и равенств задают многомерные выпуклые многогранники (политопы). В одномерном случае это точка, луч или отрезок, в двумерном — выпуклый многоугольник, в трехмерном — выпуклый многогранник. Минимизация линейной функции — это по сути нахождение самой «дальней» точки в определенном направлении. Думаю, интуиция должна подсказывать, что этой самой дальней точкой должна быть некая вершина, и это действительно так. В общем случае, для системы из неравенств в -мерном пространстве вершина — это точка, удовлетворяющая системе, для которой ровно из этих неравенств обращаются в равенства (при условии, что среди неравенств нет эквивалентных). Таких точек всегда конечное число, хоть их и может быть очень много.
- Теперь у нас есть конечный набор точек, вообще говоря можно их просто взять и перебрать, то есть сделать что-то такое: для каждого подмножества из неравенств решить систему линейных уравнений, составленных на выбранных неравенствах, проверить, что решение подходит в исходную систему неравенств и сравнить с другими такими точками. Это довольно простой неэффективный, но рабочий метод. Симплекс-метод вместо перебора двигается от вершины к вершине по ребрам таким образом, чтобы значений целевой функции улучшалось. Оказывается, если у вершины нет «соседей», в которых значений функции лучше, то она оптимальна.
Симплекс-метод является итеративным, то есть он последовательно по чуть-чуть улучшает решение. Для таких методов нужно с чего-то начинать, в общем случае это делается с помощью решения вспомогательной задачи
Если для решения этой задачи такое, что , то выполняется , иначе исходная задача вообще задана на пустом множестве. Чтобы решить вспомогательную задачу, можно также использовать симплекс-метод, начальной же точкой можно взять с произвольным . Нахождение начальной точки можно условно назвать первой фазой метода, нахождение решение исходной задачи можно условно назвать второй фазой метода.
Траектория двухфазового симплекс-метода
Траектория была сгенерирована с помощью scipy. optimize.linprog.
Проективный градиентный спуск
Про градиентный спуск я недавно писал отдельную статью, в которой в том числе кратко описал и этот метод. Сейчас этот метод вполне себе живой, но изучается как часть более общего проксимального градиентного спуска. Сама идея метода совсем банальна: если мы применяем градиентный спуск к выпуклой функции , то при правильном выборе параметров получаем глобальный минимум . Если же после каждого шага градиентного спуска корректировать полученную точку, взяв вместо нее её проекцию на замкнутое выпуклое множество , то в результате мы получим минимум функции на . Ну или более формально, проективный градиентный спуск — это алгоритм, который последовательно вычисляет
где
Последнее равенство определяет стандартный оператор проекции на множество, по сути это функция, которая по точке вычисляет ближайшую к ней точку множества . Роль расстояния здесь играет , стоит отметить, что здесь можно использовать любую норму, тем не менее проекции с разными нормами могут отличаться!
На практике проективный градиентный спуск используется только в особых случаях. Основная его проблема состоит в том, что вычисление проекции может быть еще более сложной задачей, чем исходная, а её нужно вычислять много раз. Самый распространенный случай, для которого удобно применять проективный градиентный спуск — это «коробочные ограничения», которые имеют вид
В этом случае проекция вычисляется очень просто, по каждой координате получается
Применение проективного градиентного спуска для задач линейного программирования совершенно бессмысленно, тем не менее если это все-таки сделать, то выглядеть будет как-то так
Траектория проективного градиентного спуска для задачи линейного программирования
А вот как выглядит траектория проективного градиентного спуска для второй задачи, если
выбирать большой размер шага
и если
выбирать небольшой размер шага
Метод эллипсоидов
Этот метод примечателен тем, что является первым полиномиальным алгоритмом для задач линейного программирования, его можно считать многомерным обобщением метода бисекции. Я начну с более общего метода разделяющей гиперплоскости:
- На каждом шаге метода есть некоторое множество, которое содержит решение задачи.
- На каждом шаге строится гиперплоскость, после чего из множества удаляются все точки, лежащие по одну сторону выбранной гиперплоскости, и, возможно, к этому множеству добавятся какие-то новые точки
Для задач оптимизации построение «разделяющей гиперплоскости» основано на следующем неравенстве для выпуклых функций
Если зафиксировать , то для выпуклой функции полупространство содержит только точки со значением не меньше, чем в точке , а значит их можно отсечь, так как эти точки не лучше, чем та, что мы уже нашли. Для задач с ограничениями можно аналогичным образом избавиться от точек, которые гарантированно нарушают какое-то из ограничений.
Самый простой вариант метода разделяющей гиперплоскости — это просто отсекать полупространства без добавления каких-либо точек. В результате на каждом шаге у нас будет некий многогранник. Проблема этого метода в том, что количество граней многогранника скорее всего будет возрастать от шага к шагу. Более того, оно может расти экспоненциально.
Метод эллипсоидов собственно на каждом шаге хранит эллипсоид. Точнее, после проведения гиперплоскости строится эллипсоид минимального объема, который содержит одну из частей исходного. Этого получается добиться за счет добавления новых точек. Эллипсоид всегда можно задать положительно определенной матрицей и вектором (центром эллипсоида) следующим образом
Построение минимального по объему эллипсоида, содержащего пересечение полупространства и другого эллипсоида, можно осуществить с помощью в меру громоздких формул. К сожалению на практике этот метод оказался все еще на так хорош, как симплекс-метод или метод внутренней точки.
А вот собственно как он работает для
линейного программирования
и для
квадратичного программирования
Метод внутренней точки
Этот метод имеет долгую историю развития, одни из первых предпосылок появились примерно в то же время, когда был разработан симплекс-метод. Но в то время он был еще недостаточно эффективен, чтобы использоваться на практике. Позднее в 1984 был разработан вариант метода специально для линейного программирования, который был хорош как в теории, так и на практике. Более того, метод внутренней точки не ограничен только линейным программированием в отличие от симплекс-метода, и сейчас он является основным алгоритмом для задач выпуклой оптимизации с ограничениями.
Базовая идея метода — замена ограничений на штраф в виде так называемой барьерной функции. Функция называется барьерной функцией для множества , если
Здесь — внутренность , — граница . Вместо исходной задачи предлагается решать задачу
и заданы только на внутренности (по сути отсюда и название), свойство барьера гарантирует, что у минимум по существует. Более того, чем больше , тем больше влияние . При достаточно разумных условиях можно добиться того, что если устремить к бесконечности, то минимум будет сходиться к решению исходной задачи.
Если множество задано в виде набора неравенств , то стандартным выбором барьерной функции является логарифмический барьер
Точки минимума функции для разных образует кривую, которую обычно называют центральный путь, метод внутренний точки как бы пытается следовать этому пути. Вот так он выглядит для
Примера с линейным программированием
Аналитический центр — это просто
Наконец сам метод внутренней точки имеет следующий вид
- Выбрать начальное приближение ,
- Выбрать новое приближение методом Ньютона
- Увеличить
Использование метода Ньютона здесь очень важно: дело в том, что при правильном выборе барьерной функции шаг метода Ньютона генерирует точку,
которая остается внутри нашего множества
, поэкспериментировали, в таком виде не всегда выдает. Ну и наконец, так выглядит траектория метода внутренней точки
Задача линейного программирования
Прыгающая черная точка — это , т.е. точка, к которой мы пытаемся приблизиться шагом метода Ньютона на текущем шаге.
Задача квадратичного программирования
Добавьте методы оптимизации в свои мультифизические задачи с помощью модуля «Оптимизация»
Область применения модуля «Оптимизация»
Используйте модуль «Оптимизация» вместе с другими модулями расширения COMSOL® для решения задач оптимизации в разных областях физики.
Топологическая оптимизация механических конструкций
Оптимальное распределение материала в конструкции крюка обеспечивает максимальную прочность при заданной полной массе.
Оптимизация катушек
Параметрическая оптимизация и оптимизация формы катушки из десяти витков позволяет добиться максимальной магнитной индукции при минимальных потерях энергии.
Параметрическая оптимизация магнитов
Наилучшее положение и форма постоянных магнитов электродвигателя для достижения заданного крутящего момента найдены с помощью параметрической оптимизации.
Топологическая оптимизация в электродинамике
Топологическая оптимизация магнитной цепи драйвера громкоговорителя уменьшает амплитудный нелинейный отклик.
Оптимизация компонентов громкоговорителя
Оптимизация формы купола и волновода твитера громкоговорителя позволяет добиться более плоской АЧХ и улучшенной формы излучателя.
Оптимизация АЧХ в акустике
Оптимизация формы акустического демультиплексера: акустическая энергия направляется на разные выходные порты в зависимости от частоты сигнала.
Гидродинамическая оптимизация
Оптимизация формы и топологии микроклапана Тесла обеспечивает максимальный перепад давления для двунаправленного потока.
Оптимизация трубопроводных сетей
Топологическая оптимизация теплосети жилого района.
Функциональные возможности модуля «Оптимизация»
COMSOL Multiphysics® предлагает специализированные интерфейсы и решатели для различных типов оптимизации.
Параметрическая оптимизация
Чтобы выполнить параметрическую оптимизацию в COMSOL Multiphysics®, достаточно добавить универсальный узел Optimization в последовательность решателя. В соответствующем окне настройки вы сможете задать целевую функцию, управляющие переменные и параметры, ограничения. Для проведения параметрической оптимизации можно использовать те же параметры, которые задают основные настройки модели, например, геометрические размеры, свойства материалов или граничные условия. Параметрическое исследование с простым перебором значений позволяет получить общие данные о пространстве управляющих параметров, тогда как результаты параметрической оптимизации содержат оптимальные значения параметров и целевой функции.
При проведении параметрической оптимизации геометрических размеров на каждой итерации оптимизационного решателя необходимо перестраивать расчётную сетку. Инструменты модуля «Оптимизация» выполняют эту процедуру автоматически. Найденное решение можно экспортировать в файлы стандартных CAD-форматов. Для этого потребуется модуль «CAD-импорт», «CAD-импорт и CAD-операции» или один из модулей интеграции LiveLink™ для CAD.
Топологическая оптимизация
Топологическая оптимизация даёт ещё более широкие возможности для изменения геометрической модели, чем параметрическая оптимизация или оптимизация формы. Данный подход основан на добавлении и удалении материала в процессе оптимизации, что позволяет создавать в геометрической модели отверстия, которые изначально в ней отсутствовали. Результатом применения этого метода обычно является конструкция, схожая с природными объектами. Основным направлением применения метода является снижение массы конструкции. Для выполнения топологической оптимизации имеются специализированные пользовательский интерфейс и решатель.
Топологическая оптимизация подразумевает чрезвычайно высокую свободу проектирования, но при этом конструкция оптимизированных деталей может оказаться слишком сложной для производства. Функционал топологической оптимизации позволяет задать дополнительные ограничения, которые обеспечат возможность производства детали с помощью обычных технологий.
Как и оптимизация формы, топологическая оптимизация не требует перестроения расчётной сетки. Оптимизированную и сглаженную модель можно сохранить в файл формата STL, 3MF или PLY, чтобы затем использовать её в других программах или выполнить верификацию непосредственно в COMSOL Multiphysics®.
Градиентные методы оптимизации
Градиентные методы оптимизации применяются тогда, когда с помощью метода сопряжённых уравнений можно легко найти производные целевой функции. Для произвольно заданных целевых функций и ограничений это возможно, если эти функции дифференцируемы. Использование градиентных методов стало возможным благодаря реализованной в COMSOL Multiphysics® ключевой технологии символьных вычислений, которая также обеспечивает необходимую гибкость при решении пользовательских мультифизических задач.
Градиентные методы оптимизации можно использовать для решения задач с тысячами или даже миллионами управляющих параметров. Как правило, такое количество характерно для оптимизации формы и топологической оптимизации, когда управляющие параметры являются распределёнными в пространстве полевыми переменными.
В рамках градиентных методов одновременно рассчитываются все аналитические производные, тогда как безградиентные методы требуют приближённого численного вычисления каждой производной, что занимает тем больше времени, чем больше в модели управляющих параметров.
В модуле «Оптимизация» реализованы следующие градиентные методы:
- Метод подвижных асимптот (как MMA, так и GCMMA)
- Метод внутренней точки (IPOPT)
- Разреженный метод нелинейной оптимизации (SNOPT)
- Алгоритм Левенберга — Марквардта
Оптимизация формы
Помимо изменения дискретного набора CAD-параметров вы можете настроить свободное изменение геометрической модели с помощью встроенных инструментов оптимизации формы. Этот подход является более гибким и иногда даёт более качественные результаты, чем параметрическая оптимизация. Для простой настройки допустимых изменений формы внешних границ 2D и 3D моделей имеется набор специализированных пользовательских интерфейсов. Кроме того, доступна функция оптимизации формы для тонкостенных оболочек, а также специальный тип исследования для управления настройками решателей.
Инструменты оптимизации формы твёрдых тел основаны на алгоритмах подвижной сетки, которые не требуют её перестроения. Оптимизированную геометрическую модель можно сохранить в сеточном формате STL, 3MF или PLY. Полученные геометрические модели можно затем повторно использовать для дальнейшего анализа в COMSOL Multiphysics® или в другом программном обеспечении.
Аппроксимация и оценка параметров
Точность расчётной модели, среди прочего, определяется точностью входных параметров, и иногда бывает довольно сложно получить от поставщиков точные данные о свойствах используемых материалов. Чтобы учесть нелинейные свойства, возможно, потребуется провести ряд экспериментов. Однако построить эксперимент, который бы позволил получить нужные параметры с помощью аналитических методов, крайне сложно.
Решить эту проблему помогут инструменты модуля «Оптимизация» для аппроксимации данных и оценки параметров. С их помощью можно найти набор параметров модели из условия минимального отклонения результатов моделирования от экспериментальных данных. Помимо универсального интерфейса для оценки параметров доступен также специальный пользовательский интерфейс для аппроксимации на основе имеющихся результатов нестационарных экспериментальных измерений.
Метод оценки параметров основан на методе наименьших квадратов. Его можно использовать, когда аппроксимируемые данные зависят от времени или от какого-то одного параметра. Чаще всего вы получите оценку вариации и доверительный интервал для рассчитанных параметров.
Для решения задач аппроксимации данных доступно специальное приложение, содержащее учебные примеры, функцию импорта данных измерений, а также дающее возможность использовать произвольные аппроксимирующие соотношения.
Безградиентные методы оптимизации
Безградиентные методы оптимизации используются в тех случаях, когда направления поиска для оптимизационного решателя можно рассчитать только косвенно. Чаще всего это относится к задачам параметрической оптимизации, когда в качестве управляющих параметров используются геометрические размеры, а на каждой итерации требуется перестроение расчётной сетки.
В модуле «Оптимизация» реализованы следующие методы:
- Методы доверительных областей (Trust-region)
- Граничная оптимизация квадратичной аппроксимирующей функции (BOBYQA)
- Ограниченная оптимизация линейной аппроксимирующей функции (COBYLA)
- Методы прямого поиска
- Метод Нелдера-Мида (симплекс-метод)
- Метод координатного спуска
Оптимизация и приложения
Среда разработки приложений и модуль «Оптимизация» вместе открывают ещё более широкие возможности для самостоятельного решения пользователями задач оптимизации, без обращения за помощью к специалистам по численному моделированию.
Например, оптимизационные модели можно настроить для выполнения оценки параметров на основе экспериментальных данных; приложение, созданное специально для этой задачи, позволит пользователям вводить различные массивы экспериментальных данных, не заботясь о деталях реализации самой оптимизационной модели.
Использование приложений — это ещё и более эффективный рабочий процесс оптимального управления. С помощью модуля «Оптимизация» можно определить, какой набор нестационарных входных данных позволяет получить нужные выходные данные. В этой ситуации, возможно, потребуется подогнать выходные данные под экспериментальные результаты. С помощью приложения мы можем скрыть комплексный процесс решения этой задачи за простым пользовательским интерфейсом и, таким образом, дать возможность разным пользователям запускать модели оптимального управления, просто загружая требуемые данные.
Каждая компания имеет уникальные требования к моделированию.
Свяжитесь с нами, чтобы точно определить, подойдет ли программный пакет COMSOL Multiphysics® для решения ваших инженерных или научных задач. Обсудив основные аспекты с одним из наших менеджеров, вы получите личные рекомендации и подробные примеры, которые помогут вам сделать верный выбор и подобрать подходящую конфигурацию продуктов и тип лицензии.
Просто нажмите кнопку «Связаться с COMSOL», укажите свои контактные данные, сформулируйте вопросы и отправьте нам эту заявку. Наша цель — ответить вам в течение одного рабочего дня!
Связаться с COMSOL
Методы оптимизации в управлении активами
Об этом курсе
17 017 недавних просмотров
Этот курс посвящен применению методов оптимизации в построении портфеля и управлении рисками. В первом модуле обсуждается построение портфеля с помощью анализа средней дисперсии и модели оценки капитальных активов (CAPM) в условиях без арбитража. Затем он демонстрирует применение линии рынка ценных бумаг и оптимального портфеля в упражнениях. Второй модуль посвящен трудностям реализации методов среднего отклонения в реальных условиях и возможным методам решения этой проблемы. Мы представим стоимость под риском (VaR) и условную стоимость под риском (CVaR) в качестве показателей риска, а также биржевые фонды (ETF), которые играют важную роль в торговле и управлении активами. Также обсуждаются типичные статистические погрешности, подводные камни и лежащие в их основе причины, чтобы добиться лучших результатов при проведении реальной статистической оценки. В последнем модуле рассматривается непосредственно моделирование реальных транзакционных издержек. Он включает в себя основные рыночные микроструктуры, включая книгу заказов, спред между ценами покупки и продажи, измерение ликвидности и их влияние на транзакционные издержки. Затем мы обогащаем портфельные стратегии среднего отклонения, учитывая транзакционные издержки.
Гибкие сроки
Гибкие сроки
Сброс сроков в соответствии с вашим графиком.
Общий сертификат
Общий сертификат
Получите сертификат по завершении
100% онлайн
100% онлайн
Начните сразу и учитесь по собственному графику.
Специализация
Курс 3 из 5 в специализации
Финансовая инженерия и управление рисками
Промежуточный уровень
Промежуточный уровень
Студенты должны пройти курсы среднего и продвинутого уровня бакалавриата по: (i) вероятности и статистике, (ii) линейной алгебре и ( III) исчисление.
Часов на выполнение
Прибл. 14 часов на выполнение
Доступные языки
Английский
Субтитры: английский
Приобретаемые навыки
- Модель ценообразования капитальных активов (CAPM)
- измерения риска
- Стоимость под риском (VaR) Фонды бирж
8
- моделирование транзакционных издержек
Гибкие сроки
Гибкие сроки
Сброс сроков в соответствии с вашим графиком.
Общий сертификат
Общий сертификат
Получите сертификат по завершении
100% онлайн
100% онлайн
Начните сразу и учитесь по собственному графику.
Специализация
Курс 3 из 5 в специализации
Финансовая инженерия и управление рисками
Промежуточный уровень
Промежуточный уровень
Студенты должны пройти курсы среднего и продвинутого уровня бакалавриата по: (i) вероятности и статистике, (ii) линейной алгебре и ( III) исчисление.
часов на выполнение
Прибл. 14 hours to complete
Available languages
English
Subtitles: English
Instructors
Garud Iyengar
Tang Family Professor
Industrial Engineering and Operations Research Department
412,908 Learners
7 Courses
Али Хирса
Профессор профессиональной практики
Департамент промышленной инженерии и исследования операций
20,771 Learners
5 Courses
Martin Haugh
Associate Professor of Practice
Industrial Engineering & Operations Research
412,908 Learners
7 Courses
Offered by
Columbia Университет
На протяжении более 250 лет Колумбия является лидером в области высшего образования в стране и во всем мире. В основе нашего широкого спектра академических исследований лежит стремление привлекать и задействовать лучшие умы в стремлении к лучшему человеческому пониманию, совершению новых открытий и служению обществу.
Reviews
4.3
Filled StarFilled StarFilled StarFilled StarHalf Filled Star
3 reviews
5 stars
66.66%
4 stars
20%
2 stars
6.66%
1 звезда
6,66%
ЛУЧШИЕ ОТЗЫВЫ ОТ МЕТОДОВ ОПТИМИЗАЦИИ В УПРАВЛЕНИИ АКТИВАМИ0004 Курс в целом хороший. Но структура какая-то беспорядочная, и определения, используемые в заданиях, иногда не очень ясны.
Filled StarFilled StarFilled StarFilled StarFilled Star
от YW 5 марта 2022 г.
Было бы неплохо, если бы можно было указать больше материалов для чтения или ссылок, например, на определенные главы книги, конкретную статью или конспекты лекций.
Посмотреть все отзывы
О специализации «Финансовая инженерия и управление рисками»
Эта специализация предназначена для начинающих учащихся и профессионалов, стремящихся отточить свои навыки в области количественных финансов. В рамках серии из 5 курсов мы рассмотрим ценообразование деривативов, распределение активов, оптимизацию портфеля, а также другие приложения финансового инжиниринга, такие как реальные опционы, деривативы на товары и энергию и алгоритмическую торговлю. Эти темы финансового инжиниринга хорошо подготовят вас к решению связанных проблем как в академическом, так и в промышленном мире.
Часто задаваемые вопросы
Еще вопросы? Посетите Справочный центр для учащихся.
Методы оптимизации для SIPML, зима 2022
Курс Инструктор: Проф. Цин К. К.
Ассистент по преподаванию: Сян Ли, Электронная почта: forkobe@umich. edu
. Обработка изображений и машинное обучение (SIPML)
Время курса: Пн/Ср 10:30–12:00 (гибрид), Beyster 1670
Часы работы : Среда 13:00 – 14:30 (Лично/удаленно)
Зачисление на основе системы отмены ECE с приоритетом для студентов SIPML, предыдущий курс, преподаваемый профессором Джеффри Фесслером, может быть нашел здесь.
Предварительные требования: EECS545, EECS 551 или EECS 505 (он же 598 по «Науке о вычислительных данных») является необходимым в науке о данных и приложениях машинного обучения. Мы рассмотрим несколько широко используемых алгоритмов оптимизации для решения выпуклых/невыпуклых и гладких/негладких задач, возникающих в SIPML. Мы изучим эффективность этих методов, которые включают (суб)градиентные методы, проксимальные методы, ускоренные методы Нестерова, ADMM, квазиньютоновские методы, методы доверительной области, методы кубической регуляризации и (некоторые) их стохастические варианты. Если позволит время, мы также введем оптимизацию по ограничениям на римановом многообразии. Тем временем мы покажем, как эти методы можно применять к конкретным задачам, начиная от обратных задач обработки сигналов (например, разреженное восстановление, фазовый поиск, слепая деконволюция, завершение матрицы) и неконтролируемого обучения (например, изучение словаря, анализ независимых компонентов). , неотрицательная матричная факторизация) до обучения с учителем (например, глубокого обучения).
Курс будет включать обширную практическую разработку алгоритмов, реализацию и исследование с использованием MATLAB, Python или Julia. Особое внимание будет уделяться методам разработки, подходящим для крупномасштабных приложений SIPML, и ожидается, что студенты будут изучать и применять эффективные методы кодирования.
Материалы курса: слайдов и видео будут доступны через Canvas (TBA), ниже приведены некоторые предварительные алгоритмы, которые будут рассмотрены в курсе:
- Методы 1-го порядка для плавной оптимизации: градиентный спуск, сопряженный градиент, линия — метод поиска, импульсный (ускоренный) метод Нестерова;
- Методы 1-го порядка негладкой оптимизации: субградиентный метод, проксимальный метод и его ускоренные варианты;
- Крупномасштабная оптимизация 1-го порядка: ADMM, метод Франка-Вульфа и методы стохастического/инкрементного градиента;
- Методы 2-го порядка: метод Ньютона и квазиньютона, метод доверительной области, метод кубической регуляризации и метод криволинейного поиска;
- Риманова оптимизация (если позволяет время): оптимизация над матричными многообразиями, такими как сфера, многообразие Штифеля, многообразие Грассмана и т. д.
Каждый введенный метод оптимизации будет иметь по крайней мере одно приложение SIPML, которое мы представим в качестве мотивации. Учащиеся будут реализовывать и тестировать эти методы в этих приложениях.
Оценивание : (i) домашнее задание (раз в два месяца, 40%), (ii) заключительный (выносимый на дом) экзамен (40%), (iii) курсовой проект (15%) (iv) участие в курсе ( 5%)
Учебник: Мы рекомендуем следующие книги и статьи, хотя и не будем внимательно следить за ними.
- Анализ многомерных данных с помощью низкоразмерных моделей: принципы, вычисления и приложения. Джон Райт, Йи Ма ( основная ссылка )
- Выпуклая оптимизация, Стивен Бойд и Ливен Ванденберге, издательство Кембриджского университета (2004).
- Численная оптимизация, Хорхе Нокедаль и Стивен Райт, Springer (2006).
- Распределенная оптимизация и статистическое обучение с помощью метода переменного направления множителей, Стивен Бойд, Нил Парих, Эрик Чу, Основы и тенденции в машинном обучении, 2011.
- Методы оптимизации для крупномасштабного машинного обучения, Леон Ботту, Фрэнк Кертис и Хорхе Нокедал (2016).
- Проксимальные алгоритмы, Нил Парих и Стивен Бойд, Основы и тенденции оптимизации (2014).
- . Невыпуклая оптимизация встречается с факторизацией матриц низкого ранга: обзор, Yuejie Chi, Yue M. Lu, Yuxin Chen (2019).
- От симметрии к геометрии: разрешимые невыпуклые проблемы, Юцянь Чжан, Цин Цюй, Джон Райт (2020).
- Введение в оптимизацию гладких многообразий, Николя Бумаль (2020).
Связанные курсы :
- EECS 600 (Методы функционального пространства для теории систем) гораздо более теоретический, чем этот курс, потому что он имеет дело с бесконечномерными пространствами, тогда как EECS 559 будет полностью сосредоточен на конечномерных задачах. EECS 600 гораздо больше ориентирован на доказательства, чем этот курс, но некоторые доказательства также будут представлены и ожидаются в EECS 559.
- IOE 410 (Расширенные методы оптимизации) фокусируется на дискретных методах и, похоже, предназначен для студентов.
- IOE 511/Math562 (Методы непрерывной оптимизации) частично совпадают с точки зрения методов оптимизации. IOE 511 использует Matlab. EECS 559 фокусируется на приложениях SIPML.
- IOE 611/Math663 (нелинейное программирование) охватывает важные принципы выпуклой оптимизации. Он использует пакет CVX в Matlab, который не масштабируется до больших задач. EECS 559 уделяет особое внимание крупномасштабным приложениям SIPML.
- STAT 608 (Методы оптимизации в статистике) охватывает многие из тех же методов, что и EECS 559..
- EECS 556 (обработка изображений) представляет некоторые приложения (например, удаление размытия изображения), которые рассматриваются в качестве примеров в EECS 559. Таким образом, есть некоторое совпадение с EECS 556, а также с другими курсами, перечисленными выше, но учащиеся могут пройти этот курс, а также любой или все курсы EECS 556, EECS 600 и IOE 611.
Программа курса:
Неделя | Время | Тема 0300 | Содержание | Домашняя задания, проект и финал | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|
неделя-1-1 | 1/02 | NO Class | NO Class | . Введение (дистанционное) | Логистика курса и обзор | ||||||
Неделя-2-1 | 1/9 | Основы оптимизации | Основы оптимизации | 30 | Введение в математическую оптимизацию | 0292 | Week-2-2 | 1/11 | Optimization Basics | Sample examples & applications, mathematical background | HW1 Release |
Week-3-1 | 1/16 | Martin Luther King Day , No Class | |||||||||
Week-3-2 | 1/18 | Convex Smooth | Gradient descent method, Line search | ||||||||
Week-4-1 | 1/23 | Convex Smooth | Метод градиентного происхождения, поиск линии | ||||||||
Неделя 4-2 | 1/25 | CONPEX SMOUT | NESTEROV’S ACCELERATION, Newton’s Method | Nesterov’s Acceleration, Newton’s Method | Nesterov’s Acceleration, Newton’s Method | HAW. |