Методы оптимизации в машинном обучении (курс лекций)
Материал из MachineLearning.
(начало редактирования страницы 2014 года) |
|||
Строка 1: | Строка 1: | ||
__NOTOC__ | __NOTOC__ | ||
- | + | Курс посвящен классическим и современным методам решения задач непрерывной оптимизации, а также особенностям их применения в задачах оптимизации, возникающих в машинном обучении. Основной акцент в изложении делается на практические аспекты реализации и использования методов. Целью курса является выработка у слушателей навыков не только по подбору подходящего метода для своей задачи, но и по разработке своего метода оптимизации, наиболее полно учитывающего особенности конкретной задачи. | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
Курс рассчитан на студентов старших курсов и аспирантов. Знание основ машинного обучения приветствуется, но не является обязательным — все необходимые понятия вводятся в ходе лекций. | Курс рассчитан на студентов старших курсов и аспирантов. Знание основ машинного обучения приветствуется, но не является обязательным — все необходимые понятия вводятся в ходе лекций. | ||
- | |||
Автор курса: [[Участник:Kropotov|Д.А. Кропотов]]. Вопросы и комментарии по курсу просьба адресовать письмом на ''bayesml@gmail.com''. В название письма просьба добавлять [МОМО14]. | Автор курса: [[Участник:Kropotov|Д.А. Кропотов]]. Вопросы и комментарии по курсу просьба адресовать письмом на ''bayesml@gmail.com''. В название письма просьба добавлять [МОМО14]. | ||
== Расписание на 2014 учебный год == | == Расписание на 2014 учебный год == | ||
- | В осеннем семестре 2014 года спецкурс читается на [[ВМиК МГУ|ВМК]] по | + | В осеннем семестре 2014 года спецкурс читается на [[ВМиК МГУ|ВМК]] по понедельникам в ауд. 508, начало в 18-10. |
{| class = "standard" | {| class = "standard" | ||
Строка 21: | Строка 16: | ||
! width="30%" | Материалы | ! width="30%" | Материалы | ||
|- | |- | ||
- | | | + | | 15 сентября 2014 |
| Введение в курс || | | Введение в курс || | ||
+ | |- | ||
+ | | 22 сентября 2014 | ||
+ | | Методы одномерной минимизации || | ||
+ | |- | ||
+ | | 29 сентября 2014 | ||
+ | | Базовые методы многомерной минимизации || | ||
+ | |- | ||
+ | | 6 октября 2014 | ||
+ | | Продвинутые методы многомерной минимизации || | ||
+ | |- | ||
+ | | 13 октября 2014 | ||
+ | | Методы оптимизации с использованием глобальных верхних оценок || | ||
+ | |- | ||
+ | | 20 октября 2014 | ||
+ | | Задачи оптимизации с ограничениями. Прямые и двойственные задачи оптимизации, теоретические условия оптимальности. || | ||
+ | |- | ||
+ | | 27 октября 2014 | ||
+ | | Методы внутренней точки || | ||
+ | |- | ||
+ | | 3 ноября 2014 | ||
+ | | ''Лекции не будет. Праздничный день.'' || | ||
+ | |- | ||
+ | | 10 ноября 2014 | ||
+ | | Применение методов внутренней точки за решения задач машинного обучения || | ||
+ | |- | ||
+ | | 17 ноября 2014 | ||
+ | | Разреженные методы машинного обучения || | ||
+ | |- | ||
+ | | 24 ноября 2014 | ||
+ | | Методы отсекающих плоскостей || | ||
+ | |- | ||
+ | | 1 декабря 2014 | ||
+ | | Стохастическая оптимизация || | ||
+ | |- | ||
+ | | 8 декабря 2014 | ||
+ | | ''Лекции не будет'' || | ||
+ | |- | ||
+ | | 15 декабря 2014 | ||
+ | | Экзамен || | ||
|- | |- | ||
|} | |} | ||
Строка 28: | Строка 62: | ||
== Система выставления оценок за курс == | == Система выставления оценок за курс == | ||
- | В рамках курса предполагается | + | В рамках курса предполагается два практических задания и экзамен. Каждое задание и экзамен оцениваются по пятибалльной шкале. Итоговая оценка за курс получается путем взвешенного суммирования оценок за задания и экзамен с дальнейшим округлением в сторону ближайшего целого. Вес каждого задания составляет 1/3. За каждый день просрочки при сдаче задания начисляется штраф в 0.1 балла, но не более 2 баллов. Для допуска к экзамену необходимо предварительно сдать на положительную оценку оба задания. |
== Программа курса == | == Программа курса == | ||
Строка 35: | Строка 69: | ||
* Градиент и гессиан функции многих переменных, их свойства, необходимые и достаточные условия безусловного экстремума; | * Градиент и гессиан функции многих переменных, их свойства, необходимые и достаточные условия безусловного экстремума; | ||
- | * Матричные вычисления | + | * Матричные вычисления и тождества; |
* Матричные разложения, их использование для решения СЛАУ; | * Матричные разложения, их использование для решения СЛАУ; | ||
- | * Структура итерационного процесса в оптимизации, понятие оракула; | + | * Структура итерационного процесса в оптимизации, понятие оракула, критерии останова; |
* Примеры оракулов и задач машинного обучения со «сложной» оптимизацией. | * Примеры оракулов и задач машинного обучения со «сложной» оптимизацией. | ||
Строка 47: | Строка 81: | ||
* Минимизация функции с известной производной: кубическая аппроксимация и модифицированный метод Брента; | * Минимизация функции с известной производной: кубическая аппроксимация и модифицированный метод Брента; | ||
* Поиск ограничивающего сегмента; | * Поиск ограничивающего сегмента; | ||
- | * Условия | + | * Условия Армихо-Голдштайна-Вольфа для неточного решения задачи одномерной оптимизации; |
* Неточные методы одномерной оптимизации, backtracking. | * Неточные методы одномерной оптимизации, backtracking. | ||
Версия 17:12, 7 сентября 2014
Курс посвящен классическим и современным методам решения задач непрерывной оптимизации, а также особенностям их применения в задачах оптимизации, возникающих в машинном обучении. Основной акцент в изложении делается на практические аспекты реализации и использования методов. Целью курса является выработка у слушателей навыков не только по подбору подходящего метода для своей задачи, но и по разработке своего метода оптимизации, наиболее полно учитывающего особенности конкретной задачи.
Курс рассчитан на студентов старших курсов и аспирантов. Знание основ машинного обучения приветствуется, но не является обязательным — все необходимые понятия вводятся в ходе лекций.
Автор курса: Д.А. Кропотов. Вопросы и комментарии по курсу просьба адресовать письмом на bayesml@gmail.com. В название письма просьба добавлять [МОМО14].
Расписание на 2014 учебный год
В осеннем семестре 2014 года спецкурс читается на ВМК по понедельникам в ауд. 508, начало в 18-10.
Дата | Название лекции | Материалы |
---|---|---|
15 сентября 2014 | Введение в курс | |
22 сентября 2014 | Методы одномерной минимизации | |
29 сентября 2014 | Базовые методы многомерной минимизации | |
6 октября 2014 | Продвинутые методы многомерной минимизации | |
13 октября 2014 | Методы оптимизации с использованием глобальных верхних оценок | |
20 октября 2014 | Задачи оптимизации с ограничениями. Прямые и двойственные задачи оптимизации, теоретические условия оптимальности. | |
27 октября 2014 | Методы внутренней точки | |
3 ноября 2014 | Лекции не будет. Праздничный день. | |
10 ноября 2014 | Применение методов внутренней точки за решения задач машинного обучения | |
17 ноября 2014 | Разреженные методы машинного обучения | |
24 ноября 2014 | Методы отсекающих плоскостей | |
1 декабря 2014 | Стохастическая оптимизация | |
8 декабря 2014 | Лекции не будет | |
15 декабря 2014 | Экзамен |
Система выставления оценок за курс
В рамках курса предполагается два практических задания и экзамен. Каждое задание и экзамен оцениваются по пятибалльной шкале. Итоговая оценка за курс получается путем взвешенного суммирования оценок за задания и экзамен с дальнейшим округлением в сторону ближайшего целого. Вес каждого задания составляет 1/3. За каждый день просрочки при сдаче задания начисляется штраф в 0.1 балла, но не более 2 баллов. Для допуска к экзамену необходимо предварительно сдать на положительную оценку оба задания.
Программа курса
Основные понятия и примеры задач
- Градиент и гессиан функции многих переменных, их свойства, необходимые и достаточные условия безусловного экстремума;
- Матричные вычисления и тождества;
- Матричные разложения, их использование для решения СЛАУ;
- Структура итерационного процесса в оптимизации, понятие оракула, критерии останова;
- Примеры оракулов и задач машинного обучения со «сложной» оптимизацией.
Методы одномерной оптимизации
- Минимизация функции без производной: метод золотого сечения, метод парабол;
- Гибридный метод минимизации Брента;
- Методы решения уравнения : метод деления отрезка пополам, метод секущей;
- Минимизация функции с известной производной: кубическая аппроксимация и модифицированный метод Брента;
- Поиск ограничивающего сегмента;
- Условия Армихо-Голдштайна-Вольфа для неточного решения задачи одномерной оптимизации;
- Неточные методы одномерной оптимизации, backtracking.
Методы многомерной оптимизации
- Метод покоординатного спуска;
- Методы градиентного спуска: наискорейший спуск, спуск с неточной одномерной оптимизацией, зависимость от шкалы измерений признаков;
- Метод Ньютона, подбор длины шага;
- Теоретические результаты относительно скорости сходимости градиентного спуска и метода Ньютона;
- Фазы итерационного процесса, LDL-разложение, гибридный метод Ньютона;
- Метод Levenberg-Marquardt, его использование для обучения нелинейной регрессии;
- Метод сопряженных градиентов для решения систем линейных уравнений;
- Метод сопряженных градиентов для оптимизации неквадратичных функций, зависимость от точной одномерной оптимизации;
- Квази-ньютоновские методы оптимизации: DFP, BFGS и L-BFGS;
Методы оптимизации с использованием глобальных верхних оценок, зависящих от параметра
- Вероятностная модель линейной регрессии с различными регуляризациями: квадратичной, L1, Стьюдента;
- Идея метода оптимизации, основанного на использовании глобальных оценок, сходимость;
- Пример применения метода для обучения LASSO;
- Построение глобальных оценок с помощью неравенства Йенсена, ЕМ-алгоритм, его применение для вероятностных моделей линейной регрессии;
- Построение оценок с помощью касательных и замены переменной;
- Оценка Jakkola-Jordan для логистической функции, оценки для распределений Лапласа и Стьюдента;
- Применение оценок для обучения вероятностных моделей линейной регрессии;
- Выпукло-вогнутая процедура, примеры использования.
Задачи оптимизации с ограничениями, понятие двойственности
- Векторные и матричные нормы, примеры, двойственная норма;
- Выпуклые множества и функции, сопряженная функция Фенхеля, понятие двойственности;
- Двойственная функция Лагранжа, ее связь с сопряженной функцией Фенхеля, двойственная задача оптимизации;
- Геометрическая интерпретация двойственности;
- Необходимые и достаточные условия оптимальности в задачах условной оптимизации, теорема Куна-Таккера;
- Возмущенная задача оптимизации, экономический смысл коэффициентов Лагранжа.
Методы внутренней точки
- Условия Куна-Таккера для выпуклых задач оптимизации, общая структура прямо-двойственных методов оптимизации;
- Решение задач условной оптимизации с линейными ограничениями вида равенство, метод Ньютона;
- Прямо-двойственный метод Ньютона;
- Метод логарифмических барьерных функций, поиск допустимой стартовой точки;
- Прямо-двойственный метод внутренней точки;
- Использование методов внутренней точки для обучения SVM.
Разреженные методы машинного обучения
- Модели линейной/логистической регрессии с регуляризациями L1 и L1/L2;
- Понятие субградиента выпуклой функции, необходимое и достаточное условие экстремума для выпуклых негладких задач безусловной оптимизации, примеры;
- Проксимальный метод;
- Метод покоординатного спуска и блочной покоординатной оптимизации;
- Метод active set на примере регрессии наименьших углов.
Методы отсекающих плоскостей
- Понятие отделяющего оракула, базовый метод отсекающих плоскостей (cutting plane);
- Надграфная форма метода отсекающих плоскостей;
- Bundle-версия метода отсекающих плоскостей, зависимость от настраиваемых параметров;
- Применение bundle-метода для задачи обучения SVM;
- Добавление эффективной процедуры одномерного поиска;
- Реализация метода с использованием параллельных вычислений и в условиях ограничений по памяти.
Стохастическая оптимизация
- Общая постановка задачи стохастической оптимизации, пример использования;
- Задачи минимизации среднего и эмпирического риска;
- Метод стохастического градиентного спуска, его отличия от метода градиентного спуска;
- Стохастический градиентный спуск как метод оптимизации и как метод обучения;
- Применение стохастического градиентного спуска для SVM (алгоритм PEGASOS);
- Модели автокодировщика и глубинного автокодировщика, особенности процедуры обучения и использование стохастического градиентного спуска.
Литература
- 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.
Архив
См. также
Курс «Байесовские методы в машинном обучении»