Методы оптимизации в машинном обучении (курс лекций)/2017

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
(Новая: __NOTOC__ Настройка модели алгоритмов по данным — это задача оптимизации, от эффективности решения котор...)
Строка 5: Строка 5:
'''Лектор''': [[Участник:Kropotov|Д.А. Кропотов]]<br>
'''Лектор''': [[Участник:Kropotov|Д.А. Кропотов]]<br>
'''Семинарист''': А.О. Родоманов
'''Семинарист''': А.О. Родоманов
-
 
-
Вопросы и комментарии по курсу просьба адресовать письмом на ''bayesml@gmail.com''. В название письма просьба добавлять [ВМК МОМО16].
 
Занятия проходят на [[ВМиК МГУ|ВМК]] по понедельникам в ауд. 612, лекция с 10-30 до 12-05, семинар с 12-15 до 13-50.
Занятия проходят на [[ВМиК МГУ|ВМК]] по понедельникам в ауд. 612, лекция с 10-30 до 12-05, семинар с 12-15 до 13-50.
== Система выставления оценок по курсу ==
== Система выставления оценок по курсу ==
-
В рамках курса предполагается четыре практических задания, несколько домашних заданий и экзамен. Каждое задание и экзамен оцениваются по пятибалльной шкале. В итоговой оценке 45% составляют баллы за практические задания, 25% — баллы за домашние задания и 30% — оценка за экзамен. Для получения финального результата (0, 3, 4, 5) итоговая оценка по курсу округляется в большую сторону. За каждый день просрочки при сдаче практического задания начисляется штраф 0.1 балла, но суммарно не более 3 баллов.
+
В рамках курса предполагается четыре практических задания, четыре домашних заданий и экзамен. Каждое задание и экзамен оцениваются по пятибалльной шкале. Домашнее задание после срока сдачи не принимается. За каждый день просрочки при сдаче практического задания начисляется штраф 0.1 балла, через две недели после срока сдачи практическое задание не принимается.
-
 
+
-
[https://docs.google.com/spreadsheets/d/1OZkzt3a1vfLXhK6lSwTXxh8xAayKp7_yaH6bGLQZzro/edit?usp=sharing Таблица с оценками].
+
-
 
+
-
== Экзамен ==
+
-
Экзамен по курсу состоится 19 января в ауд. 508, начало в 12-00. На экзамене при подготовке билета можно пользоваться любыми материалами. При непосредственном ответе ничем пользоваться нельзя. Просьба обратить внимание на теоретический минимум. Незнание ответов на вопросы из теор. минимума автоматически влечёт неудовлетворительную оценку за экзамен.
+
-
 
+
-
[[Media:MOMO16_exam_questions.pdf| Вопросы к экзамену]]
+
== Домашние задания ==
== Домашние задания ==
-
* Задание 1. [[Media:MOMO16_home1_problems.pdf|Скорости сходимости и дифференцирование]]. Срок сдачи: '''12 сентября (понедельник), 10:30.'''
 
-
* Задание 2. [[Media:Momo16_home2_problems.pdf|Задачи условной оптимизации]]. Срок сдачи: '''31 октября (понедельник), 10:30.'''
 
-
* Задание 3. [[Media:Momo16_home3_problems.pdf|Субградиенты]]. Срок сдачи: '''14 ноября (понедельник), 10:30.'''
 
-
* Задание 4. [[Media:Momo16_home4_problems.pdf|Сопряженные функции и проекции]]. Срок сдачи: '''21 ноября (понедельник), 10:30.'''
 
-
* Бонусное задание. [[Media:Momo16_bonus_task.pdf|Проекция на симплекс]]. Срок сдачи: '''5 декабря (понедельник), 23:59.''' Выполняется по желанию.
 
-
 
-
<span style="color:red; font-weight: bold">Объявление: Все домашние задания и контрольные проверены. Если у Вас не стоит оценки (или стоит неправильная), сообщите нам об этом по e-mail.</span>
 
== Практические задания ==
== Практические задания ==
-
* Задание 1. ([[Media:Momo16_ass1_v1.zip|Вариант 1]]) ([[Media:Momo16_ass1_v2.zip|Вариант 2]]). Срок сдачи: <b>28 сентября (среда), 23:59</b>. Вариант для выполнения выбирается самостоятельно.
 
-
* [[Media:Momo16_ass2.zip|Задание 2]]. Срок сдачи: <b>19 октября (среда), 23:59</b>.
 
-
* [[Media:Momo16_ass3.zip|Задание 3]]. Срок сдачи: <b>30 ноября (среда), 23:59</b>.
 
-
* [[Media:Momo16_ass4.zip|Задание 4]]. Срок сдачи: <b>28 декабря (среда), 23:59</b>.
 
-
== Расписание ==
+
== Лекции ==
{| class = "standard"
{| class = "standard"
|+
|+
-
! width="10%" | Дата
+
! width="5%" | № п/п
! width="60%" | Занятие
! width="60%" | Занятие
-
! width="30%" | Материалы
+
! width="35%" | Материалы
|-
|-
-
| 5&nbsp;сентября&nbsp;2016
+
| 1
-
| Введение в курс. Скорости сходимости и дифференцирование || <b>(Скорости сходимости)</b> [Nocedal-Wright, pp. 617-620] <br /> <b>(Дифференцирование)</b> [Ben-Tal-Nemirovski, Section A.6]
+
| Введение в курс. Классы функций в оптимизации. Скорости сходимости || <b>(Скорости сходимости)</b> [Nocedal-Wright, pp. 617-620]
|-
|-
-
| 12&nbsp;сентября&nbsp;2016
+
| 2
-
| Методы одномерной оптимизации. Неточная одномерная оптимизация || <b>(Одномерная оптимизация)</b> [[Media:MOMO16_min1d.pdf|Текст]] <br /> <b>(Неточная одномерная оптимизация)</b> [Nocedal-Wright, pp. 30-37] + [Ben-Tal-Nemirovski, pp. 164-166]
+
| Неточная одномерная оптимизация. Метод градиентного спуска, выбор длины шага. || [Nocedal-Wright, Chapter 3] + [Поляк, Разделы 1.4 и 1.5]
|-
|-
-
| 19&nbsp;сентября&nbsp;2016
+
| 3
-
| Базовые методы многомерной оптимизации || [Nocedal-Wright, Chapter 3] + [Поляк, Разделы 1.4 и 1.5]
+
| Метод Ньютона. Способы коррекции гессиана до положительно-определённой матрицы ||
|-
|-
-
| 26&nbsp;сентября&nbsp;2016
+
| 4
-
| Методы сопряженных градиентов || [[Media:Momo16_Sem4_presentation_final.pdf|Презентация]] + [Nocedal-Wright, Chapter 5]
+
| Метод сопряженных градиентов ||
|-
|-
-
| 3&nbsp;октября&nbsp;2016
+
| 5
-
| Неточный метод Ньютона. Автоматическое дифференцирование || <b>(Неточный метод Ньютона)</b> [Nocedal-Wright, pp. 184-189] <br /> <b>(Автоматическое дифференцирование)</b> [Nocedal-Wright, Section 8.2]
+
| Неточный/безгессианный метод Ньютона ||
|-
|-
-
| 10&nbsp;октября&nbsp;2016
+
| 6
-
| Квазиньютоновские методы. Метод L-BFGS || <b>(Квазиньютоновские методы)</b> [Nocedal-Wright, Section 6] <br /> <b>(Метод L-BFGS)</b> [Nocedal-Wright, pp. 176-180]
+
| Квазиньютоновские методы. Метод L-BFGS ||
|-
|-
-
| 17&nbsp;октября&nbsp;2016
+
| 7
-
| Задачи условной оптимизации: теория. || [Поляк, Глава 9] + [Boyd-Vandenberghe, Sections 4 and 5]
+
| Задачи условной оптимизации: теория. ||
|-
|-
-
| 24&nbsp;октября&nbsp;2016
+
| 8
-
| Метод Ньютона для задач с ограничениями вида равенств, метод барьеров || [Boyd-Vandenberghe, pp. 521-531, 561-571]
+
| Метод внутренней точки ||
|-
|-
-
| 31&nbsp;октября&nbsp;2016
+
| 9
-
| Прямо-двойственный метод внутренней точки || [Boyd-Vandenberghe, pp. 609-615]
+
| Прямо-двойственный метод внутренней точки ||
|-
|-
-
| 7&nbsp;ноября&nbsp;2016
+
| 10
-
| Негладкая безусловная оптимизация. Субградиентный метод || [Поляк, Разделы 5.1-5.3] + [Nesterov, Sections 3.1-3.2.3]
+
| Негладкая оптимизация. Субградиентный метод ||
|-
|-
-
| 14&nbsp;ноября&nbsp;2016
+
| 11
-
| Проксимальный градиентный метод. Сопряженные функции по Фенхелю || <b>(Проксимальный градиентный метод)</b> [http://www.seas.ucla.edu/~vandenbe/236C/lectures/proxgrad.pdf Слайды] <br /> <b>(Сопряженные функции)</b> [Boyd-Vandenberghe, Section 3.3] + [http://www.seas.ucla.edu/~vandenbe/236C/lectures/conj.pdf Слайды]
+
| Разреженные линейный модели. Проксимальные методы. ||
|-
|-
-
| 21&nbsp;ноября&nbsp;2016
+
| 12
-
| Суррогатная оптимизация || [[Media:MOMO12_upper_bounds.pdf|Текст]]
+
| Быстрый градиентный метод Нестерова ||
|-
|-
-
| 28&nbsp;ноября&nbsp;2016
+
| 13
-
| Рандомизированные методы оптимизации: SGD, SAG, SVRG и RCDM || <b>(SGD)</b> [http://www2.isye.gatech.edu/~nemirovs/Lec_EMCO.pdf Nemirovski (Sections 14.0-14.1)] <br /> <b>(SAG)</b> [https://arxiv.org/pdf/1309.2388v2.pdf Schmidt et al., 2015] <br /> <b>(SVRG)</b> [https://papers.nips.cc/paper/4937-accelerating-stochastic-gradient-descent-using-predictive-variance-reduction.pdf Johnson-Zhang, 2013] + [https://github.com/bayesgroup/team/blob/master/rodomanov/talks/Rodomanov_OptimizationForBigSums_Skoltech_2016.pdf Презентация] <br /> <b>(RCDM)</b> [http://www1.se.cuhk.edu.hk/~sqma/SEEM5121_Spring2015/Nesterov-CD-2012.pdf Nesterov, 2010]
+
| Стохастическая оптимизация ||
|-
|-
-
| 5&nbsp;декабря&nbsp;2016
+
| 14
-
| Быстрый градиентный метод Нестерова || [http://premolab.ru/e_files/e7/2zmgs9dvnJ.pdf Нестеров, 2013 (Разделы 1.2.2 и 2.3.4)] + [[Media:Rodomanov_FGM.pdf|Текст]]
+
| Продвинутая стохастическая оптимизация ||
-
|-
+
-
| 12&nbsp;декабря&nbsp;2016
+
-
| Доклады студентов ||
+
-
|-
+
-
| 19&nbsp;декабря&nbsp;2016
+
-
| Переписывание контрольных работ и разбор практических заданий ||
+
|-
|-
|}
|}
-
 
-
== Программа курса ==
 
-
 
-
=== Основные понятия и примеры задач ===
 
-
 
-
* Градиент и гессиан функции многих переменных, их свойства, необходимые и достаточные условия безусловного экстремума;
 
-
* Матричные разложения, их использование для решения СЛАУ;
 
-
* Структура итерационного процесса в оптимизации, понятие оракула, критерии останова;
 
-
* Глобальная и локальная оптимизация, скорости сходимости итерационных процессов оптимизации.
 
-
 
-
=== Методы одномерной оптимизации ===
 
-
 
-
* Минимизация функции без производной: метод золотого сечения, метод парабол;
 
-
* Гибридный метод минимизации Брента;
 
-
* Методы решения уравнения <tex>f^\prime(x)=0</tex>: метод деления отрезка пополам, метод секущей;
 
-
* Минимизация функции с известной производной: кубическая аппроксимация и модифицированный метод Брента;
 
-
* Поиск ограничивающего сегмента;
 
-
* Условия Армихо и Вольфа для неточного решения задачи одномерной оптимизации;
 
-
* Неточные методы одномерной оптимизации, backtracking.
 
-
 
-
=== Методы многомерной оптимизации ===
 
-
 
-
* Методы линейного поиска и доверительной области;
 
-
* Метод градиентного спуска: наискорейший спуск, спуск с неточной одномерной оптимизацией, скорость сходимости метода для сильно-выпуклых функций с липшицевым градиентом, зависимость от шкалы измерений признаков;
 
-
* Метод Ньютона: схема метода, скорость сходимости для выпуклых функций с липшицевым гессианом, подбор длины шага, способы коррекции гессиана до положительно-определённой матрицы;
 
-
* Метод сопряженных градиентов для решения систем линейных уравнений, скорость сходимости метода, предобуславливание;
 
-
* Метод сопряженных градиентов для оптимизации неквадратичных функций, стратегии рестарта, зависимость от точной одномерной оптимизации;
 
-
* Неточный (безгессианный) метод Ньютона: схема метода, способы оценки произведения гессиана на вектор через вычисление градиента;
 
-
* Квазиньютоновские методы оптимизации: SR1, BFGS и L-BFGS.
 
-
 
-
=== Методы внутренней точки ===
 
-
 
-
* Необходимые и достаточные условия оптимальности в задачах условной оптимизации, условия Куна-Таккера;
 
-
* Выпуклые задачи условной оптимизации, двойственная функция Лагранжа, двойственная задача оптимизации;
 
-
* Решение задач условной оптимизации с линейными ограничениями вида равенство, метод Ньютона;
 
-
* Прямо-двойственный метод Ньютона, неточный вариант метода;
 
-
* Метод логарифмических барьерных функций;
 
-
* Прямо-двойственный метод внутренней точки;
 
-
* Методы первой фазы.
 
-
 
-
=== Разреженные методы машинного обучения ===
 
-
 
-
* Модели линейной/логистической регрессии с регуляризациями L1 и L1/L2;
 
-
* Понятие субградиента выпуклой функции, его связь с производной по направлению, необходимое и достаточное условие экстремума для выпуклых негладких задач безусловной оптимизации;
 
-
* Метод наискорейшего субградиентного спуска;
 
-
* Проксимальный метод, вычисление prox-оператора для L1- и L1/L2-регуляризаторов.
 
-
 
-
=== Стохастическая оптимизация ===
 
-
 
-
* Задачи минимизации среднего и эмпирического риска;
 
-
* Метод стохастического градиентного спуска, две фазы итерационного процесса, использование инерции;
 
-
* Метод SAG;
 
-
* Комбинирование стохастической оптимизации и проксимального метода.
 
-
 
-
=== Суррогатная оптимизация ===
 
-
 
-
* Вероятностная модель логистической регрессии;
 
-
* Общая идея метода суррогатной оптимизации;
 
-
* Применение метода для стохастической оптимизации: метод MISO;
 
-
* Пример применения метода для обучения LASSO;
 
-
* Построение глобальных оценок с помощью неравенства Йенсена, ЕМ-алгоритм, его применение для вероятностной модели логистической регрессии;
 
-
* Построение оценок с помощью касательных и замены переменной;
 
-
* Оценка Jaakkola-Jordan для логистической функции, её применение для обучения вероятностной модели логистической регрессии;
 
-
* Выпукло-вогнутая процедура, примеры использования.
 
-
 
-
=== Методы оптимизации для глубинного обучения ===
 
-
 
-
* Адаптивная стратегия Левенберга-Марквардта для задачи минимизации суммы квадратов;
 
-
* Модель глубинного автокодировщика;
 
-
* Алгоритм обратного распространения ошибки и его обобщения для быстрого умножения гессиана на произвольный вектор;
 
-
* Неточный метод Ньютона с предобуславливанием через L-BFGS.
 
== Литература ==
== Литература ==

Версия 07:26, 4 сентября 2017

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

Лектор: Д.А. Кропотов
Семинарист: А.О. Родоманов

Занятия проходят на ВМК по понедельникам в ауд. 612, лекция с 10-30 до 12-05, семинар с 12-15 до 13-50.

Система выставления оценок по курсу

В рамках курса предполагается четыре практических задания, четыре домашних заданий и экзамен. Каждое задание и экзамен оцениваются по пятибалльной шкале. Домашнее задание после срока сдачи не принимается. За каждый день просрочки при сдаче практического задания начисляется штраф 0.1 балла, через две недели после срока сдачи практическое задание не принимается.

Домашние задания

Практические задания

Лекции

№ п/п Занятие Материалы
1 Введение в курс. Классы функций в оптимизации. Скорости сходимости (Скорости сходимости) [Nocedal-Wright, pp. 617-620]
2 Неточная одномерная оптимизация. Метод градиентного спуска, выбор длины шага. [Nocedal-Wright, Chapter 3] + [Поляк, Разделы 1.4 и 1.5]
3 Метод Ньютона. Способы коррекции гессиана до положительно-определённой матрицы
4 Метод сопряженных градиентов
5 Неточный/безгессианный метод Ньютона
6 Квазиньютоновские методы. Метод L-BFGS
7 Задачи условной оптимизации: теория.
8 Метод внутренней точки
9 Прямо-двойственный метод внутренней точки
10 Негладкая оптимизация. Субградиентный метод
11 Разреженные линейный модели. Проксимальные методы.
12 Быстрый градиентный метод Нестерова
13 Стохастическая оптимизация
14 Продвинутая стохастическая оптимизация

Литература

  1. S. Sra et al.. Optimization for Machine Learning, MIT Press, 2011.
  2. J. Nocedal, S. Wright. Numerical Optimization, Springer, 2006.
  3. A. Ben-Tal, A. Nemirovski. Optimization III. Lecture Notes, 2013.
  4. Б. Поляк. Введение в оптимизацию, Наука, 1983.
  5. S. Boyd, L. Vandenberghe. Convex Optimization, Cambridge University Press, 2004.
  6. Y. Nesterov. Introductory Lectures on Convex Optimization: A Basic Course, Springer, 2003.
  7. R. Fletcher. Practical Methods of Optimization, Wiley, 2000.
  8. A. Antoniou, W.-S. Lu. Practical Optimization: Algorithms and Engineering Applications, Springer, 2007.
  9. W. Press et al.. Numerical Recipes. The Art of Scientific Computing, Cambridge University Press, 2007.

Архив

2016 год

2015 год

2014 год

2012 год

См. также

Курс «Графические модели»

Курс «Байесовские методы в машинном обучении»

Спецсеминар «Байесовские методы машинного обучения»

Математические методы прогнозирования (кафедра ВМиК МГУ)

Личные инструменты