Методы оптимизации в машинном обучении (курс лекций)/2016
Материал из MachineLearning.
м   | 
			|||
| Строка 3: | Строка 3: | ||
Курс рассчитан на студентов старших курсов и аспирантов. Знание основ машинного обучения приветствуется, но не является обязательным — все необходимые понятия вводятся в ходе лекций.  | Курс рассчитан на студентов старших курсов и аспирантов. Знание основ машинного обучения приветствуется, но не является обязательным — все необходимые понятия вводятся в ходе лекций.  | ||
| - | Лектор: [[Участник:Kropotov|Д.А. Кропотов]]<br>  | + | '''Лектор''': [[Участник:Kropotov|Д.А. Кропотов]]<br>  | 
| - | Семинарист: А.О. Родоманов  | + | '''Семинарист''': А.О. Родоманов  | 
Вопросы и комментарии по курсу просьба адресовать письмом на ''bayesml@gmail.com''. В название письма просьба добавлять [МОМО16].  | Вопросы и комментарии по курсу просьба адресовать письмом на ''bayesml@gmail.com''. В название письма просьба добавлять [МОМО16].  | ||
Версия 09:46, 12 сентября 2016
Настройка модели алгоритмов по данным — это задача оптимизации, от эффективности решения которой зависит практическая применимость метода машинного обучения. В эпоху больших данных многие классические алгоритмы оптимизации становятся неприменимы, т.к. здесь требуется решать задачи оптимизации функций за время меньшее, чем необходимо для вычисления значения функции в одной точке. Таким требованиям можно удовлетворить в случае грамотного комбинирования известных подходов в оптимизации с учётом конкретной специфики решаемой задачи. Курс посвящен изучению классических и современных методов решения задач непрерывной оптимизации (в том числе невыпуклой), а также особенностям применения этих методов в задачах оптимизации, возникающих в машинном обучении. Наличие у слушателей каких-либо предварительных знаний по оптимизации не предполагается, все необходимые понятия разбираются в ходе занятий. Основной акцент в изложении делается на практические аспекты реализации и использования методов. Целью курса является выработка у слушателей навыков по подбору подходящего метода для своей задачи, наиболее полно учитывающего её особенности. Курс рассчитан на студентов старших курсов и аспирантов. Знание основ машинного обучения приветствуется, но не является обязательным — все необходимые понятия вводятся в ходе лекций.
Лектор: Д.А. Кропотов
Семинарист: А.О. Родоманов
Вопросы и комментарии по курсу просьба адресовать письмом на bayesml@gmail.com. В название письма просьба добавлять [МОМО16].
Занятия проходят на ВМК по понедельникам в ауд. 612, лекция с 10-30 до 12-05, семинар с 12-15 до 13-50.
Система выставления оценок по курсу
|   | раздел находится в стадии формирования | 
В рамках курса предполагается четыре практических задания, несколько домашних заданий и экзамен. Каждое практическое задание и экзамен оцениваются по пятибалльной шкале. Итоговая оценка за курс получается путем взвешенного суммирования оценок за задания и экзамен. За каждый день просрочки при сдаче практического задания начисляется штраф 0.1 балла, но суммарно не более 3 баллов.
Домашние задания
Задание 1. Скорости сходимости итерационных процессов. Срок сдачи: 12 сентября (понедельник), 10:30.
Практические задания
Расписание
В осеннем семестре 2016 года спецкурс читается на
| Дата | Занятие | Материалы | 
|---|---|---|
| 5 сентября 2016 | Введение в курс. Скорости сходимости итерационных процессов оптимизации | |
| 12 сентября 2015 | Методы одномерной оптимизации | Текст | 
Программа курса
Основные понятия и примеры задач
- Градиент и гессиан функции многих переменных, их свойства, необходимые и достаточные условия безусловного экстремума;
 - Матричные разложения, их использование для решения СЛАУ;
 - Структура итерационного процесса в оптимизации, понятие оракула, критерии останова;
 - Глобальная и локальная оптимизация, скорости сходимости итерационных процессов оптимизации.
 
Методы одномерной оптимизации
- Минимизация функции без производной: метод золотого сечения, метод парабол;
 - Гибридный метод минимизации Брента;
 -  Методы решения уравнения 
: метод деления отрезка пополам, метод секущей;
 - Минимизация функции с известной производной: кубическая аппроксимация и модифицированный метод Брента;
 - Поиск ограничивающего сегмента;
 - Условия Армихо и Вольфа для неточного решения задачи одномерной оптимизации;
 - Неточные методы одномерной оптимизации, backtracking.
 
Методы многомерной оптимизации
- Методы линейного поиска и доверительной области;
 - Метод градиентного спуска: наискорейший спуск, спуск с неточной одномерной оптимизацией, скорость сходимости метода для сильно-выпуклых функций с липшицевым градиентом, зависимость от шкалы измерений признаков;
 - Метод Ньютона: схема метода, скорость сходимости для выпуклых функций с липшицевым гессианом, подбор длины шага, способы коррекции гессиана до положительно-определённой матрицы;
 - Метод сопряженных градиентов для решения систем линейных уравнений, скорость сходимости метода, предобуславливание;
 - Метод сопряженных градиентов для оптимизации неквадратичных функций, стратегии рестарта, зависимость от точной одномерной оптимизации;
 - Неточный (безгессианный) метод Ньютона: схема метода, способы оценки произведения гессиана на вектор через вычисление градиента;
 - Квазиньютоновские методы оптимизации: SR1, BFGS и L-BFGS.
 
Методы внутренней точки
- Необходимые и достаточные условия оптимальности в задачах условной оптимизации, условия Куна-Таккера;
 - Выпуклые задачи условной оптимизации, двойственная функция Лагранжа, двойственная задача оптимизации;
 - Решение задач условной оптимизации с линейными ограничениями вида равенство, метод Ньютона;
 - Прямо-двойственный метод Ньютона, неточный вариант метода;
 - Метод логарифмических барьерных функций;
 - Прямо-двойственный метод внутренней точки;
 - Методы первой фазы.
 
Разреженные методы машинного обучения
- Модели линейной/логистической регрессии с регуляризациями L1 и L1/L2;
 - Понятие субградиента выпуклой функции, его связь с производной по направлению, необходимое и достаточное условие экстремума для выпуклых негладких задач безусловной оптимизации;
 - Метод наискорейшего субградиентного спуска;
 - Проксимальный метод, вычисление prox-оператора для L1- и L1/L2-регуляризаторов.
 
Стохастическая оптимизация
- Задачи минимизации среднего и эмпирического риска;
 - Метод стохастического градиентного спуска, две фазы итерационного процесса, использование инерции;
 - Метод SAG;
 - Комбинирование стохастической оптимизации и проксимального метода.
 
Суррогатная оптимизация
- Вероятностная модель логистической регрессии;
 - Общая идея метода суррогатной оптимизации;
 - Применение метода для стохастической оптимизации: метод MISO;
 - Пример применения метода для обучения LASSO;
 - Построение глобальных оценок с помощью неравенства Йенсена, ЕМ-алгоритм, его применение для вероятностной модели логистической регрессии;
 - Построение оценок с помощью касательных и замены переменной;
 - Оценка Jaakkola-Jordan для логистической функции, её применение для обучения вероятностной модели логистической регрессии;
 - Выпукло-вогнутая процедура, примеры использования.
 
Методы оптимизации для глубинного обучения
- Адаптивная стратегия Левенберга-Марквардта для задачи минимизации суммы квадратов;
 - Модель глубинного автокодировщика;
 - Алгоритм обратного распространения ошибки и его обобщения для быстрого умножения гессиана на произвольный вектор;
 - Неточный метод Ньютона с предобуславливанием через L-BFGS.
 
Литература
- Optimization for Machine Learning. Edited by Suvrit Sra, Sebastian Nowozin and Stephen J. Wright, MIT Press, 2011.
 - J. Nocedal, S.J. Wright. Numerical Optimization. Springer, 2006.
 - S. Boyd, L. Vandenberghe. Convex Optimization, Cambridge University Press, 2004.
 - A. Antoniou, W.-S. Lu. Practical Optimization: Algorithms and Engineering Applications, Springer, 2007.
 - Б. Поляк. Введение в оптимизацию, Наука, 1983.
 - Ю. Нестеров. Методы выпуклой оптимизации, МЦМНО, 2010.
 - R. Fletcher. Practical Methods of Optimization, Wiley, 2000.
 - Numerical Recipes. The Art of Scientific Computing, Cambridge University Press, 2007.
 
Архив
См. также
Курс «Байесовские методы в машинном обучении»

