Машинное обучение (курс лекций, К.В.Воронцов)

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

(Различия между версиями)
Перейти к: навигация, поиск
(Нейронные сети глубокого обучения)
(Нелинейная регрессия)
(22 промежуточные версии не показаны)
Строка 1: Строка 1:
{{TOCright}}
{{TOCright}}
-
'''Теория обучения машин''' (machine learning, машинное обучение) находится на стыке [[Прикладная статистика|прикладной статистики]], [[Методы оптимизации|численных методов оптимизации]], [[Дискретный анализ|дискретного анализа]], и за последние 50 лет оформилась в самостоятельную математическую дисциплину. Методы [[Машинное обучение|машинного обучения]] составляют основу ещё более молодой дисциплины — ''[[Интеллектуальный анализ данных|интеллектуального анализа данных]]'' (data mining).
+
'''Теория обучения машин''' (machine learning, машинное обучение) находится на стыке [[Прикладная статистика|прикладной статистики]], [[Методы оптимизации|численных методов оптимизации]], [[Дискретный анализ|дискретного анализа]], и за последние 60 лет оформилась в самостоятельную математическую дисциплину. Методы [[Машинное обучение|машинного обучения]] составляют основу ещё более молодой дисциплины — ''[[Интеллектуальный анализ данных|интеллектуального анализа данных]]'' (data mining).
-
В курсе рассматриваются основные задачи обучения по прецедентам: [[классификация]], [[кластеризация]], [[регрессия]], [[понижение размерности]]. Изучаются методы их решения, как классические, так и новые, созданные за последние 10–15 лет. Упор делается на глубокое понимание математических основ, взаимосвязей, достоинств и ограничений рассматриваемых методов. Отдельные теоремы приводятся с доказательствами.
+
В курсе рассматриваются основные задачи обучения по прецедентам: [[классификация]], [[кластеризация]], [[регрессия]], [[понижение размерности]]. Изучаются методы их решения, как классические, так и новые, созданные за последние 10–15 лет. Упор делается на глубокое понимание математических основ, взаимосвязей, достоинств и ограничений рассматриваемых методов. Теоремы в основном приводятся без доказательств.
Все методы излагаются по единой схеме:
Все методы излагаются по единой схеме:
Строка 10: Строка 10:
* анализ достоинств, недостатков и границ применимости;
* анализ достоинств, недостатков и границ применимости;
* пути устранения недостатков;
* пути устранения недостатков;
-
* сравнение с другими методами.
+
* сравнение и взаимосвязи с другими методами.
* примеры прикладных задач.
* примеры прикладных задач.
Строка 20: Строка 20:
* студентам [[Школа анализа данных Яндекса|Школы анализа данных Яндекса]] с 2009 года.
* студентам [[Школа анализа данных Яндекса|Школы анализа данных Яндекса]] с 2009 года.
-
На материал данного курса опираются последующие кафедральные курсы.
+
От студентов требуются знания курсов линейной алгебры, математического анализа, теории вероятностей. Знание [[Математическая статистика|математической статистики]], [[Методы оптимизации|методов оптимизации]] и языка программирования [[Python]] желательно, но не обязательно.
-
<!---На&nbsp;кафедре ММП ВМиК МГУ параллельно с данным курсом и в&nbsp;дополнение к&nbsp;нему читается спецкурс [[Теория надёжности обучения по прецедентам (курс лекций, К. В. Воронцов)|Теория надёжности обучения по прецедентам]], посвящённый проблемам [[Переобучение|переобучения]] и оценивания [[Обобщающая способность|обобщающей способности]].--->
+
-
От студентов требуются знания курсов линейной алгебры, математического анализа, теории вероятностей. Знание [[Математическая статистика|математической статистики]], [[Методы оптимизации|методов оптимизации]] и какого-либо языка программирования желательно, но не обязательно.
+
<!---На материал данного курса опираются последующие кафедральные курсы.
 +
На&nbsp;кафедре ММП ВМиК МГУ параллельно с данным курсом и в&nbsp;дополнение к&nbsp;нему читается спецкурс [[Теория надёжности обучения по прецедентам (курс лекций, К. В. Воронцов)|Теория надёжности обучения по прецедентам]], посвящённый проблемам [[Переобучение|переобучения]] и оценивания [[Обобщающая способность|обобщающей способности]].
Ниже представлена расширенная программа — в полном объёме она занимает больше, чем могут вместить в себя два семестра.
Ниже представлена расширенная программа — в полном объёме она занимает больше, чем могут вместить в себя два семестра.
-
Каждый параграф приблизительно соответствует одной лекции.
+
Каждый параграф приблизительно соответствует одной лекции. --->
''Курсивом'' выделен дополнительный материал, который может разбираться на семинарах.
''Курсивом'' выделен дополнительный материал, который может разбираться на семинарах.
=== Замечания для студентов ===
=== Замечания для студентов ===
-
* Видеолекции [https://yandexdataschool.ru/edu-process/courses/machine-learning ШАД Яндекс].
+
* Осенью 2020 года курс читается в дистанционном режиме. [https://zoom.us/j/95829589904?pwd=eTVZdGpKUnN1Q0hSYlZ3cWpGMGh2UT09 Подключиться к конференции Zoom] {{Важно|Обновлено: 12-09-2020}}
 +
* [https://github.com/andriygav/MachineLearningSeminars/blob/master/README.rst Ссылка на семинары для студентов МФТИ]
 +
* [https://ya-r.ru/2020/05/07/vorontsov-kurs-mashinnoe-obuchenie-2019-shkola-analiza-dannyh/ Видеолекции ШАД Яндекс]. {{Важно|Обновлено: 2019 год}}
* [https://www.coursera.org/learn/vvedenie-mashinnoe-obuchenie «Введение в машинное обучение» на Курсэре] содержит примерно втрое меньше материала, чем в годовом курсе, представленном на этой странице. Там очень многое упрощено, спрятано, пропущено. Действительно введение.
* [https://www.coursera.org/learn/vvedenie-mashinnoe-obuchenie «Введение в машинное обучение» на Курсэре] содержит примерно втрое меньше материала, чем в годовом курсе, представленном на этой странице. Там очень многое упрощено, спрятано, пропущено. Действительно введение.
* На подстранице имеется перечень [[Машинное обучение (курс лекций, К.В.Воронцов)/Вопросы|вопросов к устному экзамену]]. Очень помогает при подготовке к устному экзамену!
* На подстранице имеется перечень [[Машинное обучение (курс лекций, К.В.Воронцов)/Вопросы|вопросов к устному экзамену]]. Очень помогает при подготовке к устному экзамену!
Строка 38: Строка 40:
* Короткая ссылка на эту страницу: [https://bit.ly/1bCmE3Z https://bit.ly/1bCmE3Z].
* Короткая ссылка на эту страницу: [https://bit.ly/1bCmE3Z https://bit.ly/1bCmE3Z].
-
= Первый семестр =
+
= Семестр 1. Математические основы машинного обучения =
'''Текст лекций:''' [[Media:Voron-ML-1.pdf|(PDF,&nbsp;3&nbsp;МБ)]] {{важно|— обновление 4.10.2011}}.
'''Текст лекций:''' [[Media:Voron-ML-1.pdf|(PDF,&nbsp;3&nbsp;МБ)]] {{важно|— обновление 4.10.2011}}.
== Основные понятия и примеры прикладных задач ==
== Основные понятия и примеры прикладных задач ==
-
Презентация: [[Media:Voron-ML-Intro-slides.pdf|(PDF,&nbsp;1,4&nbsp;МБ)]] {{важно|— обновление 14.02.2019}}.
+
Презентация: [[Media:Voron-ML-Intro-slides.pdf|(PDF,&nbsp;1,4&nbsp;МБ)]] {{важно|— обновление 05.09.2020}}.
-
 
+
* Постановка задач обучения по прецедентам. Объекты и признаки. Типы шкал: бинарные, номинальные, порядковые, количественные.
* Постановка задач обучения по прецедентам. Объекты и признаки. Типы шкал: бинарные, номинальные, порядковые, количественные.
* Типы задач: [[классификация]], [[регрессия]], [[прогнозирование]], [[ранжирование]].
* Типы задач: [[классификация]], [[регрессия]], [[прогнозирование]], [[ранжирование]].
Строка 55: Строка 56:
== Линейный классификатор и стохастический градиент ==
== Линейный классификатор и стохастический градиент ==
-
 
+
Презентация: [[Media:Voron-ML-Lin-SG.pdf|(PDF,&nbsp;1,1&nbsp;МБ)]] {{важно|— обновление 12.09.2020}}.
-
Презентация: [[Media:Voron-ML-Lin-SG.pdf|(PDF,&nbsp;1,1&nbsp;МБ)]] {{важно|— обновление 13.03.2018}}.
+
* [[Линейный классификатор]], модель МакКаллока-Питтса, непрерывные аппроксимации пороговой функции потерь.
* [[Линейный классификатор]], модель МакКаллока-Питтса, непрерывные аппроксимации пороговой функции потерь.
* [[Метод стохастического градиента]] SG.
* [[Метод стохастического градиента]] SG.
Строка 74: Строка 74:
* Градиентный метод максимизации AUC.
* Градиентный метод максимизации AUC.
-->
-->
 +
 +
== Нейронные сети: градиентные методы оптимизации ==
 +
Презентация: [[Media:Voron-ML-ANN-slides.pdf|(PDF,&nbsp;1,4&nbsp;МБ)]] {{важно|— обновление 19.09.2020}}.
 +
* Биологический нейрон, [[модель МакКаллока-Питтса]] как [[линейный классификатор]]. Функции активации.
 +
* Проблема полноты. [[Задача исключающего или]]. Полнота двухслойных сетей в пространстве булевых функций.
 +
<!--* ''Теоремы Колмогорова, Стоуна, Горбаня (без доказательства).''-->
 +
* [[Алгоритм обратного распространения ошибок]].
 +
* Быстрые методы стохастического градиента: Поляка, Нестерова, AdaGrad, RMSProp, AdaDelta, Adam, Nadam, [[диагональный метод Левенберга-Марквардта]].
 +
* Проблема взрыва градиента и эвристика gradient clipping.
 +
* Метод случайных отключений нейронов (Dropout). Интерпретации Dropout. Обратный Dropout и L2-регуляризация.
 +
* Функции активации ReLU и PReLU. Проблема [[паралич сети|«паралича» сети]].
 +
* Эвристики для формирования начального приближения. Метод послойной настройки сети.
 +
* Подбор структуры сети: методы постепенного усложнения сети, [[оптимальное прореживание нейронных сетей]] (optimal brain damage).
== Метрические методы классификации и регрессии ==
== Метрические методы классификации и регрессии ==
-
Презентация: [[Media:Voron-ML-Metric-slides.pdf|(PDF,&nbsp;3,2&nbsp;МБ)]] {{важно|— обновление 13.03.2018}}.
+
Презентация: [[Media:Voron-ML-Metric-slides.pdf|(PDF,&nbsp;3,2&nbsp;МБ)]] {{важно|— обновление 05.03.2020}}.
* Гипотезы компактности и непрерывности.
* Гипотезы компактности и непрерывности.
Строка 83: Строка 96:
* [[Метод окна Парзена]] с постоянной и переменной шириной окна.
* [[Метод окна Парзена]] с постоянной и переменной шириной окна.
* [[Метод потенциальных функций]] и его связь с линейной моделью классификации.
* [[Метод потенциальных функций]] и его связь с линейной моделью классификации.
 +
* Задача отбора эталонов. [[Полный скользящий контроль]] (CCV), формула быстрого вычисления для метода 1NN. [[Профиль компактности]].
 +
* Отбор эталонных объектов на основе минимизации функционала полного скользящего контроля.
* Непараметрическая регрессия. Локально взвешенный [[метод наименьших квадратов]]. [[Ядерное сглаживание]].
* Непараметрическая регрессия. Локально взвешенный [[метод наименьших квадратов]]. [[Ядерное сглаживание]].
-
* [[Оценка Надарая-Ватсона]] с постоянной и переменной шириной окна. Выбор функции ядра.
+
* [[Оценка Надарая-Ватсона]] с постоянной и переменной шириной окна. Выбор функции ядра и ширины окна сглаживания.
* Задача отсева выбросов. Робастная непараметрическая регрессия. [[Алгоритм LOWESS]].
* Задача отсева выбросов. Робастная непараметрическая регрессия. [[Алгоритм LOWESS]].
-
* Задача отбора эталонов. Понятие [[отступ]]а. [[Алгоритм СТОЛП]].
 
-
* Задача отбора признаков. Жадный алгоритм построения метрики.
 
<!--
<!--
* ''[[Функция конкурентного сходства]], [[алгоритм FRiS-СТОЛП]]''.
* ''[[Функция конкурентного сходства]], [[алгоритм FRiS-СТОЛП]]''.
-
* ''[[Функционал полного скользящего контроля]], формула быстрого вычисления для метода 1NN. [[Профиль компактности]]. Функция вклада объекта. Отбор эталонных объектов на основе минимизации функционала полного скользящего контроля. Эффективные структуры данных для быстрого поиска ближайших объектов в прямых и обратных окрестностях — [[метрические деревья]].''
+
* ''Эффективные структуры данных для быстрого поиска ближайших объектов в прямых и обратных окрестностях — [[метрические деревья]].''
 +
* ''Понятие [[отступ]]а. [[Алгоритм СТОЛП]].''
 +
* ''Задача отбора признаков. Жадный алгоритм построения метрики.''
* ''Концепция вывода на основе прецедентов ([[CBR]]).''
* ''Концепция вывода на основе прецедентов ([[CBR]]).''
-->
-->
== Метод опорных векторов ==
== Метод опорных векторов ==
-
Презентация: [[Media:Voron-ML-Lin-SVM.pdf|(PDF,&nbsp;1,1&nbsp;МБ)]] {{важно|— обновление 07.03.2017}}.
+
Презентация: [[Media:Voron-ML-Lin-SVM.pdf|(PDF,&nbsp;1,1&nbsp;МБ)]] {{важно|— обновление 24.03.2020}}.
* Оптимальная разделяющая гиперплоскость. Понятие [[зазор]]а между классами (margin).
* Оптимальная разделяющая гиперплоскость. Понятие [[зазор]]а между классами (margin).
* Случаи линейной разделимости и отсутствия линейной разделимости. Связь с минимизацией регуляризованного эмпирического риска. Кусочно-линейная функция потерь.
* Случаи линейной разделимости и отсутствия линейной разделимости. Связь с минимизацией регуляризованного эмпирического риска. Кусочно-линейная функция потерь.
Строка 111: Строка 126:
== Многомерная линейная регрессия ==
== Многомерная линейная регрессия ==
-
Презентация: [[Media:Voron-ML-regression-slides.pdf|(PDF,&nbsp;0,7&nbsp;MБ)]] {{важно|— обновление 14.03.2017}}.
+
Презентация: [[Media:Voron-ML-regression-slides.pdf|(PDF,&nbsp;1,2&nbsp;MБ)]] {{важно|— обновление 10.10.2020}}.
* Задача регрессии, [[многомерная линейная регрессия]].
* Задача регрессии, [[многомерная линейная регрессия]].
* [[Метод наименьших квадратов]], его вероятностный смысл и геометрический смысл.
* [[Метод наименьших квадратов]], его вероятностный смысл и геометрический смысл.
Строка 129: Строка 144:
== Нелинейная регрессия ==
== Нелинейная регрессия ==
-
Презентация: [[Media:Voron-ML-regress-non-slides.pdf|(PDF,&nbsp;0,7&nbsp;MБ)]] {{важно|— обновление 27.03.2018}}.
+
Презентация: [[Media:Voron-ML-regress-non-slides.pdf|(PDF,&nbsp;0,7&nbsp;MБ)]] {{важно|— обновление 17.10.2020}}.
* [[Метод Ньютона-Рафсона]], [[метод Ньютона-Гаусса]].
* [[Метод Ньютона-Рафсона]], [[метод Ньютона-Гаусса]].
* Обобщённая аддитивная модель (GAM): [[метод настройки с возвращениями]] (backfitting) Хасти-Тибширани.
* Обобщённая аддитивная модель (GAM): [[метод настройки с возвращениями]] (backfitting) Хасти-Тибширани.
Строка 139: Строка 154:
* [[Логистическая регрессия]]. Гипотеза экспоненциальности функций правдоподобия классов. Теорема о линейности байесовского оптимального классификатора. Оценивание апостериорных вероятностей классов с помощью сигмоидной функции активации.
* [[Логистическая регрессия]]. Гипотеза экспоненциальности функций правдоподобия классов. Теорема о линейности байесовского оптимального классификатора. Оценивание апостериорных вероятностей классов с помощью сигмоидной функции активации.
--->
--->
-
 
-
== Прогнозирование временных рядов ==
 
-
Презентация: [[Media:Voron-ML-forecasting-slides.pdf|(PDF,&nbsp;0,9&nbsp;MБ)]] {{важно|— обновление 27.04.2017}}.
 
-
* Задача прогнозирования временных рядов. Примеры приложений.
 
-
* [[Экспоненциальное сглаживание|Экспоненциальное скользящее среднее]]. [[Модель Хольта]]. [[Модель Тейла-Вейджа]]. [[Модель Хольта-Уинтерса]].
 
-
* Адаптивная авторегрессионная модель.
 
-
* [[Следящий контрольный сигнал]]. [[Модель Тригга-Лича]].
 
-
* Адаптивная селективная модель. Адаптивная композиция моделей.
 
-
* Локальная адаптация весов с регуляризацией.
 
== Критерии выбора моделей и методы отбора признаков ==
== Критерии выбора моделей и методы отбора признаков ==
Текст лекций: [[Media:Voron-ML-Modeling.pdf|(PDF,&nbsp;330&nbsp;КБ)]].<br/>
Текст лекций: [[Media:Voron-ML-Modeling.pdf|(PDF,&nbsp;330&nbsp;КБ)]].<br/>
-
Презентация: [[Media:Voron-ML-Quality-slides.pdf|(PDF,&nbsp;1,5&nbsp;МБ)]] {{важно|— обновление 05.04.2018}}.
+
Презентация: [[Media:Voron-ML-Quality-slides.pdf|(PDF,&nbsp;1,5&nbsp;МБ)]] {{важно|— обновление 14.12.2019}}.
* Критерии качества классификации: чувствительность и специфичность, ROC-кривая и AUC, точность и полнота, AUC-PR.
* Критерии качества классификации: чувствительность и специфичность, ROC-кривая и AUC, точность и полнота, AUC-PR.
Строка 157: Строка 163:
* [[Скользящий контроль]], разновидности эмпирических оценок скользящего контроля. [[Критерий непротиворечивости]].
* [[Скользящий контроль]], разновидности эмпирических оценок скользящего контроля. [[Критерий непротиворечивости]].
* Разновидности аналитических оценок. [[Регуляризация]]. [[Критерий Акаике]] (AIC). [[Байесовский информационный критерий]] (BIC). Оценка Вапника-Червоненкиса.
* Разновидности аналитических оценок. [[Регуляризация]]. [[Критерий Акаике]] (AIC). [[Байесовский информационный критерий]] (BIC). Оценка Вапника-Червоненкиса.
-
* ''Агрегированные и многоступенчатые критерии''.
 
* Сложность задачи [[отбор признаков|отбора признаков]]. [[Полный перебор]].
* Сложность задачи [[отбор признаков|отбора признаков]]. [[Полный перебор]].
* [[Метод добавления и удаления]], шаговая регрессия.
* [[Метод добавления и удаления]], шаговая регрессия.
Строка 165: Строка 170:
* [[Случайный поиск]] и [[Случайный поиск с адаптацией]] (СПА).
* [[Случайный поиск]] и [[Случайный поиск с адаптацией]] (СПА).
<!---
<!---
 +
* ''Агрегированные и многоступенчатые критерии''.
* ''Статистические критерии: [[коэффициент детерминации]], [[критерий Фишера]], [[анализ регрессионных остатков]].''
* ''Статистические критерии: [[коэффициент детерминации]], [[критерий Фишера]], [[анализ регрессионных остатков]].''
== Теория обобщающей способности ==
== Теория обобщающей способности ==
Строка 175: Строка 181:
== Логические методы классификации ==
== Логические методы классификации ==
Текст лекций: [[Media:Voron-ML-Logic.pdf|(PDF,&nbsp;625&nbsp;КБ)]].<br/>
Текст лекций: [[Media:Voron-ML-Logic.pdf|(PDF,&nbsp;625&nbsp;КБ)]].<br/>
-
Презентация: [[Media:Voron-ML-Logic-slides.pdf|(PDF,&nbsp;1.8&nbsp;МБ)]] {{важно| — обновление 13.03.2018}}.
+
Презентация: [[Media:Voron-ML-Logic-slides.pdf|(PDF,&nbsp;1.8&nbsp;МБ)]] {{важно| — обновление 05.03.2030}}.
* Понятие [[логическая закономерность|логической закономерности]].
* Понятие [[логическая закономерность|логической закономерности]].
Строка 193: Строка 199:
* [[Решающий список]]. Жадный алгоритм синтеза списка.
* [[Решающий список]]. Жадный алгоритм синтеза списка.
* Преобразование решающего дерева в решающий список.
* Преобразование решающего дерева в решающий список.
 +
 +
== Линейные композиции, бустинг ==
 +
Текст лекций: [[Media:Voron-ML-Compositions.pdf|(PDF,&nbsp;1&nbsp;MБ)]].<br/>
 +
Презентация: [[Media:Voron-ML-Compositions-slides.pdf|(PDF,&nbsp;0.9&nbsp;МБ)]] {{важно|— обновление 14.12.2019}}.
 +
* Основные понятия: [[базовый алгоритм]] ([[алгоритмический оператор]]), [[корректирующая операция]].
 +
* [[Взвешенное голосование]].
 +
* [[Алгоритм AdaBoost]]. Экспоненциальная аппроксимация пороговой функции потерь. Процесс последовательного обучения базовых алгоритмов. Теорема о сходимости [[бустинг]]а.
 +
* Обобщающая способность бустинга.
 +
* Базовые алгоритмы в бустинге. Решающие пни.
 +
* ''Варианты бустинга: [[GentleBoost]], [[LogitBoost]], [[BrownBoost]], и другие.''
 +
* [[Градиентный бустинг]]. Стохастический градиентный бустинг.
 +
* [[Алгоритм AnyBoost]].
 +
* [[Алгоритм XGBoost]].
== Байесовская классификация и оценивание плотности ==
== Байесовская классификация и оценивание плотности ==
-
Презентация: [[Media:Voron-ML-BTC-EM-slides.pdf|(PDF,&nbsp;1,6&nbsp;МБ)]] {{важно|— обновление 13.04.2018}}.
+
Презентация: [[Media:Voron-ML-BTC-EM-slides.pdf|(PDF,&nbsp;1,6&nbsp;МБ)]] {{важно|— обновление 14.12.2019}}.
* Принцип максимума апостериорной вероятности. Теорема об оптимальности байесовского классификатора.
* Принцип максимума апостериорной вероятности. Теорема об оптимальности байесовского классификатора.
Строка 227: Строка 246:
== Кластеризация и частичное обучение ==
== Кластеризация и частичное обучение ==
-
Презентация: [[Media:Voron-ML-Clustering-SSL-slides.pdf|(PDF,&nbsp;1,8&nbsp;МБ)]] {{важно|— обновление 03.04.2018}}.
+
Презентация: [[Media:Voron-ML-Clustering-SSL-slides.pdf|(PDF,&nbsp;1,8&nbsp;МБ)]] {{важно|— обновление 14.12.2019}}.
* Постановка задачи [[кластеризация|кластеризации]]. Примеры прикладных задач. Типы кластерных структур.
* Постановка задачи [[кластеризация|кластеризации]]. Примеры прикладных задач. Типы кластерных структур.
* Постановка задачи Semisupervised Learning, примеры приложений.
* Постановка задачи Semisupervised Learning, примеры приложений.
Строка 241: Строка 260:
* Трансдуктивный метод опорных векторов TSVM.
* Трансдуктивный метод опорных векторов TSVM.
* Алгоритм Expectation-Regularization на основе многоклассовой регуляризированной логистической регрессии.
* Алгоритм Expectation-Regularization на основе многоклассовой регуляризированной логистической регрессии.
-
<!--* ''Потоковые (субквадратичные) алгоритмы кластеризации.''
+
<!--
 +
* ''Потоковые (субквадратичные) алгоритмы кластеризации.''
* [[Многомерное шкалирование]], примеры прикладных задач.
* [[Многомерное шкалирование]], примеры прикладных задач.
* Субквадратичный алгоритм, псевдокод. Минимизация функционала стресса методом Ньютона-Рафсона.
* Субквадратичный алгоритм, псевдокод. Минимизация функционала стресса методом Ньютона-Рафсона.
Строка 249: Строка 269:
-->
-->
-
= Второй семестр =
+
= Семестр 2. Прикладные модели машинного обучения =
-
== Нейронные сети: градиентные методы оптимизации ==
+
== Прогнозирование временных рядов ==
-
Презентация: [[Media:Voron-ML-NeuralNets1-2018-slides.pdf|(PDF,&nbsp;1,4&nbsp;МБ)]] {{важно|— обновление 23.09.2019}}.
+
Презентация: [[Media:Voron-ML-forecasting-slides.pdf|(PDF,&nbsp;0,9&nbsp;)]] {{важно|— обновление 14.12.2019}}.
-
* Биологический нейрон, [[модель МакКаллока-Питтса]] как [[линейный классификатор]]. Функции активации.
+
* Задача прогнозирования временных рядов. Примеры приложений.
-
* Проблема полноты. [[Задача исключающего или]]. Полнота двухслойных сетей в пространстве булевых функций.
+
* [[Экспоненциальное сглаживание|Экспоненциальное скользящее среднее]]. [[Модель Хольта]]. [[Модель Тейла-Вейджа]]. [[Модель Хольта-Уинтерса]].
-
<!--* ''Теоремы Колмогорова, Стоуна, Горбаня (без доказательства).''-->
+
* Адаптивная авторегрессионная модель.
-
* [[Алгоритм обратного распространения ошибок]].
+
* [[Следящий контрольный сигнал]]. [[Модель Тригга-Лича]].
-
* Быстрые методы стохастического градиента: Поляка, Нестерова, AdaGrad, RMSProp, AdaDelta, Adam, Nadam, [[диагональный метод Левенберга-Марквардта]].
+
* Адаптивная селективная модель. Адаптивная композиция моделей.
-
* Проблема взрыва градиента и эвристика gradient clipping.
+
* Локальная адаптация весов с регуляризацией.
-
* Метод случайных отключений нейронов (Dropout). Интерпретации Dropout. Обратный Dropout и L2-регуляризация.
+
 
-
* Функции активации ReLU и PReLU. Проблема [[паралич сети|«паралича» сети]].
+
== Поиск ассоциативных правил ==
-
* Эвристики для формирования начального приближения. Метод послойной настройки сети.
+
Презентация: [[Media:Voron-ML-AssocRules-slides.pdf|(PDF,&nbsp;1.1&nbsp;МБ)]] {{важно| — обновление 14.12.2019}}.
-
* Подбор структуры сети: методы постепенного усложнения сети, [[оптимальное прореживание нейронных сетей]] (optimal brain damage).
+
* Понятие [[Ассоциативное правило|ассоциативного правила]] и его связь с понятием логической закономерности.
-
<!--* [[Нейронная сеть Кохонена]]. [[Конкурентное обучение]], стратегии WTA и WTM.
+
* Примеры прикладных задач: [[анализ рыночных корзин]], выделение терминов и тематики текстов.
-
* [[Самоорганизующаяся карта Кохонена]]. Применение для визуального анализа данных. Искусство интерпретации карт Кохонена.* [[Сети встречного распространения]], их применение для кусочно-постоянной и гладкой аппроксимации функций.
+
* [[Алгоритм APriori]]. Два этапа: поиск частых наборов и рекурсивное порождение ассоциативных правил. Недостатки и пути усовершенствования алгоритма APriori.
-
-->
+
* [[Алгоритм FP-growth]]. Понятия FP-дерева и условного FP-дерева. Два этапа поиска частых наборов в FP-growth: построение FP-дерева и рекурсивное порождение частых наборов.
 +
* Общее представление о динамических и иерархических методах поиска ассоциативных правил.
== Нейронные сети глубокого обучения ==
== Нейронные сети глубокого обучения ==
-
Презентация: [[Media:Voron-ML-DeepLearning-slides.pdf|(PDF,&nbsp;3,4&nbsp;МБ)]] {{важно|— обновление 23.09.2019}}.
+
Презентация: [[Media:Voron-ML-DeepLearning-slides.pdf|(PDF,&nbsp;3,4&nbsp;МБ)]] {{важно|— обновление 14.12.2019}}.
* Свёрточные нейронные сети (CNN) для изображений. Свёрточный нейрон. Pooling нейрон. Выборка размеченных изображений ImageNet.
* Свёрточные нейронные сети (CNN) для изображений. Свёрточный нейрон. Pooling нейрон. Выборка размеченных изображений ImageNet.
-
* Свёрточные сети для речевого сигнала, текстов, игр. Идея обобщения CNN на любые структурированные данные.
+
* Свёрточные сети для сигналов, текстов, графов, игр.
* Рекуррентные нейронные сети (RNN). Обучение рекуррентных сетей: Backpropagation Through Time (BPTT).
* Рекуррентные нейронные сети (RNN). Обучение рекуррентных сетей: Backpropagation Through Time (BPTT).
* Сети долгой кратковременной памяти (Long short-term memory, LSTM).
* Сети долгой кратковременной памяти (Long short-term memory, LSTM).
* Рекуррентная сеть Gated Recurrent Unit (GRU).
* Рекуррентная сеть Gated Recurrent Unit (GRU).
* Автокодировщики. Векторные представления дискретных данных.
* Автокодировщики. Векторные представления дискретных данных.
 +
* Перенос обучения (transfer learning).
 +
* Самообучение (self-supervised learning).
 +
* Генеративные состязательные сети (GAN, generative adversarial net).
-
== Линейные композиции, бустинг ==
+
== Нейронные сети с обучением без учителя ==
-
Текст лекций: [[Media:Voron-ML-Compositions.pdf|(PDF,&nbsp;1&nbsp;MБ)]].<br/>
+
Презентация: [[Media:Voron-ML-ANN-Unsupervised-slides.pdf|(PDF,&nbsp;2,3&nbsp;МБ)]] {{важно|— обновление 03.10.2020}}.
-
Презентация: [[Media:Voron-ML-Compositions-slides.pdf|(PDF,&nbsp;0.9&nbsp;МБ)]] {{важно|— обновление 08.09.2015}}.
+
* [[Нейронная сеть Кохонена]]. [[Конкурентное обучение]], стратегии WTA и WTM.
-
* Основные понятия: [[базовый алгоритм]] ([[алгоритмический оператор]]), [[корректирующая операция]].
+
* [[Самоорганизующаяся карта Кохонена]]. Применение для визуального анализа данных. Искусство интерпретации карт Кохонена.
-
* [[Взвешенное голосование]].
+
<!--* [[Сети встречного распространения]], их применение для кусочно-постоянной и гладкой аппроксимации функций.
-
* [[Алгоритм AdaBoost]]. Экспоненциальная аппроксимация пороговой функции потерь. Процесс последовательного обучения базовых алгоритмов. Теорема о сходимости [[бустинг]]а.
+
-->
-
* Обобщающая способность бустинга.
+
* [[Автокодировщик]]. Линейный AE, SAE, DAE, CAE, RAE, VAE, AE для классификации, многослойный AE.
-
* Базовые алгоритмы в бустинге. Решающие пни.
+
* Перенос обучения (transfer learning).
-
* ''Варианты бустинга: [[GentleBoost]], [[LogitBoost]], [[BrownBoost]], и другие.''
+
* Самостоятельное обучение (self-supervised learning).
-
* ''[[Алгоритм AnyBoost]]''.
+
* Дистилляция моделей или суррогатное моделирование.
-
* [[Градиентный бустинг]]. Стохастический градиентный бустинг.
+
* Обучение с использованием привилегированной информации.
-
* [[Простое голосование]] (комитет большинства). Алгоритм ComBoost. Идентификация нетипичных объектов (выбросов).
+
* Генеративные состязательные сети (GAN).
-
* Преобразование простого голосования во взвешенное.
+
 
-
* Обобщение на большое число классов.
+
== Векторные представления текстов и графов ==
-
* ''[[Решающий список]] (комитет старшинства). Алгоритм обучения. Стратегия выбора классов для базовых алгоритмов.''
+
Презентация: [[Media:Voron-ML-Embeddings-slides.pdf|(PDF,&nbsp;1,3&nbsp;МБ)]] {{важно|— обновление 14.10.2020}}.
 +
* Векторные представления текста. Гипотеза дистрибутивной семантики.
 +
* Модели [[word2vec]], [[FastText]].
 +
* Векторные представления графов.
 +
* [[Многомерное шкалирование]].
 +
* Модели случайных блужданий [[DeepWalk]], [[node2vec]].
 +
* Обобщённый автокодировщик на графах [[GraphEDM]].
 +
* Векторные представления гиперграфов.
 +
* Тематические модели транзакционных данных. EM-алгоритм для тематической модели гиперграфа.
 +
* Примеры транзакционных моделей на гиперграфах.
== Эвристические, стохастические, нелинейные композиции ==
== Эвристические, стохастические, нелинейные композиции ==
-
Презентация: [[Media:Voron-ML-Compositions-slides2.pdf|(PDF,&nbsp;0.9&nbsp;МБ)]] {{важно|— обновление 08.09.2015}}.
+
Презентация: [[Media:Voron-ML-Compositions-slides2.pdf|(PDF,&nbsp;0.9&nbsp;МБ)]] {{важно|— обновление 14.12.2019}}.
* Стохастические методы: [[бэггинг]] и [[метод случайных подпространств]].
* Стохастические методы: [[бэггинг]] и [[метод случайных подпространств]].
-
* Случайный лес. Анализ смещения и вариации для простого голосования.
+
* [[Простое голосование]] (комитет большинства). Алгоритм ComBoost. Идентификация нетипичных объектов (выбросов).
 +
* Преобразование простого голосования во взвешенное.
 +
* Обобщение на большое число классов.
 +
* Случайный лес.
 +
* Анализ смещения и вариации для простого голосования.
* [[Смесь алгоритмов]] (квазилинейная композиция), [[область компетентности]], примеры функций компетентности.
* [[Смесь алгоритмов]] (квазилинейная композиция), [[область компетентности]], примеры функций компетентности.
* Выпуклые функции потерь. Методы построения смесей: последовательный и иерархический.
* Выпуклые функции потерь. Методы построения смесей: последовательный и иерархический.
* Построение смеси алгоритмов с помощью EM-подобного алгоритма.
* Построение смеси алгоритмов с помощью EM-подобного алгоритма.
-
* ''Нелинейная монотонная корректирующая операция. Случай классификации. Случай регрессии. Задача монотонизации выборки, изотонная регрессия.''
 
<!---
<!---
 +
* ''[[Решающий список]] (комитет старшинства). Алгоритм обучения. Стратегия выбора классов для базовых алгоритмов.''
 +
* ''Нелинейная монотонная корректирующая операция. Случай классификации. Случай регрессии. Задача монотонизации выборки, изотонная регрессия.''
=== Метод комитетов ===
=== Метод комитетов ===
* Общее понятие: [[комитет]] системы ограничений. Комитеты большинства, простое и взвешенное голосование (''z,p''-комитеты).
* Общее понятие: [[комитет]] системы ограничений. Комитеты большинства, простое и взвешенное голосование (''z,p''-комитеты).
Строка 328: Строка 366:
== Ранжирование ==
== Ранжирование ==
-
Презентация: [[Media:Voron-ML-Ranking-slides.pdf|(PDF,&nbsp;0,5&nbsp;МБ)]] {{важно|— обновление 14.10.2014}}.
+
Презентация: [[Media:Voron-ML-Ranking-slides.pdf|(PDF,&nbsp;0,5&nbsp;МБ)]] {{важно|— обновление 14.12.2019}}.
* Постановка задачи [[Обучение ранжированию|обучения ранжированию]]. Примеры.
* Постановка задачи [[Обучение ранжированию|обучения ранжированию]]. Примеры.
* Признаки в задаче ранжирования поисковой выдачи: текстовые, ссылочные, кликовые. [[TF-IDF]]. [[PageRank]].
* Признаки в задаче ранжирования поисковой выдачи: текстовые, ссылочные, кликовые. [[TF-IDF]]. [[PageRank]].
Строка 336: Строка 374:
== Рекомендательные системы ==
== Рекомендательные системы ==
-
Презентация: [[Media:Voron-ML-CF.pdf|(PDF,&nbsp;0.8&nbsp;МБ)]] {{важно| — обновление 13.11.2016}}.
+
Презентация: [[Media:Voron-ML-CF.pdf|(PDF,&nbsp;0.8&nbsp;МБ)]] {{важно| — обновление 14.12.2019}}.
* Задачи [[коллаборативная фильтрация|коллаборативной фильтрации]], [[транзакционные данные]] и матрица субъекты—объекты.
* Задачи [[коллаборативная фильтрация|коллаборативной фильтрации]], [[транзакционные данные]] и матрица субъекты—объекты.
* Корреляционные методы user-based, item-based. Задача восстановления пропущенных значений. Меры сходства субъектов и объектов.
* Корреляционные методы user-based, item-based. Задача восстановления пропущенных значений. Меры сходства субъектов и объектов.
Строка 352: Строка 390:
Презентация 2: [[Media:Voron-ML-TopicModels-slides-2.pdf|(PDF,&nbsp;6.1&nbsp;МБ)]] {{важно| — обновление 16.11.2015}}.
Презентация 2: [[Media:Voron-ML-TopicModels-slides-2.pdf|(PDF,&nbsp;6.1&nbsp;МБ)]] {{важно| — обновление 16.11.2015}}.
--->
--->
-
Презентация: [[Media:Voron-ML-TopicModeling-slides.pdf|(PDF,&nbsp;1.6&nbsp;МБ)]] {{важно| — обновление 1.11.2017}}.
+
Презентация: [[Media:Voron-ML-TopicModeling-slides.pdf|(PDF,&nbsp;1.6&nbsp;МБ)]] {{важно| — обновление 14.12.2019}}.
* Задача [[тематическое моделирование|тематического моделирования]] коллекции текстовых документов.
* Задача [[тематическое моделирование|тематического моделирования]] коллекции текстовых документов.
* [[Вероятностный латентный семантический анализ]] PLSA. [[Метод максимума правдоподобия]]. [[ЕМ-алгоритм]]. Элементарная интерпретация EM-алгоритма.
* [[Вероятностный латентный семантический анализ]] PLSA. [[Метод максимума правдоподобия]]. [[ЕМ-алгоритм]]. Элементарная интерпретация EM-алгоритма.
Строка 363: Строка 401:
* Регуляризаторы декоррелирования и отбора тем.
* Регуляризаторы декоррелирования и отбора тем.
* Внутренние и внешние критерии качества тематических моделей.
* Внутренние и внешние критерии качества тематических моделей.
-
 
-
== Поиск ассоциативных правил ==
 
-
Презентация: [[Media:Voron-ML-AssocRules-slides.pdf|(PDF,&nbsp;1.1&nbsp;МБ)]] {{важно| — обновление 20.10.2015}}.
 
-
* Понятие [[Ассоциативное правило|ассоциативного правила]] и его связь с понятием логической закономерности.
 
-
* Примеры прикладных задач: [[анализ рыночных корзин]], выделение терминов и тематики текстов.
 
-
* [[Алгоритм APriori]]. Два этапа: поиск частых наборов и рекурсивное порождение ассоциативных правил. Недостатки и пути усовершенствования алгоритма APriori.
 
-
* [[Алгоритм FP-growth]]. Понятия FP-дерева и условного FP-дерева. Два этапа поиска частых наборов в FP-growth: построение FP-дерева и рекурсивное порождение частых наборов.
 
-
* Общее представление о динамических и иерархических методах поиска ассоциативных правил.
 
== Обучение с подкреплением ==
== Обучение с подкреплением ==
-
Презентация: [[Media:Voron-ML-RL-slides.pdf|(PDF,&nbsp;1.0&nbsp;МБ)]] {{важно| — обновление 1.11.2017}}.
+
Презентация: [[Media:Voron-ML-RL-slides.pdf|(PDF,&nbsp;1.0&nbsp;МБ)]] {{важно| — обновление 14.12.2019}}.
* Задача о многоруком бандите. Жадные и эпсилон-жадные стратегии. Метод UCB (upper confidence bound). Стратегия Softmax.
* Задача о многоруком бандите. Жадные и эпсилон-жадные стратегии. Метод UCB (upper confidence bound). Стратегия Softmax.
* Среда для экспериментов.
* Среда для экспериментов.
Строка 388: Строка 418:
== Активное обучение ==
== Активное обучение ==
-
Презентация: [[Media:Voron-ML-AL-slides.pdf|(PDF,&nbsp;1.2&nbsp;МБ)]] {{важно| — обновление 1.11.2017}}.
+
Презентация: [[Media:Voron-ML-AL-slides.pdf|(PDF,&nbsp;1.2&nbsp;МБ)]] {{важно| — обновление 14.12.2019}}.
* Постановка задачи машинного обучения. Основные стратегии: отбор объектов из выборки и из потока, синтез объектов.
* Постановка задачи машинного обучения. Основные стратегии: отбор объектов из выборки и из потока, синтез объектов.
* Сэмплирование по неуверенности. Почему активное обучение быстрее пассивного.
* Сэмплирование по неуверенности. Почему активное обучение быстрее пассивного.
Строка 401: Строка 431:
== Заключительная лекция ==
== Заключительная лекция ==
-
Презентация: [[Media:Voron-ML-final.pdf|(PDF,&nbsp;0.4&nbsp;МБ)]] {{важно| — обновление 26.04.2019}}.
+
Презентация: [[Media:Voron-ML-final.pdf|(PDF,&nbsp;2.0&nbsp;МБ)]] {{важно| — обновление 14.12.2019}}.
 +
 
 +
Обзор курса. Оптимизационные задачи машинного обучения.
= См. также =
= См. также =

Версия 09:17, 17 октября 2020

Содержание

Теория обучения машин (machine learning, машинное обучение) находится на стыке прикладной статистики, численных методов оптимизации, дискретного анализа, и за последние 60 лет оформилась в самостоятельную математическую дисциплину. Методы машинного обучения составляют основу ещё более молодой дисциплины — интеллектуального анализа данных (data mining).

В курсе рассматриваются основные задачи обучения по прецедентам: классификация, кластеризация, регрессия, понижение размерности. Изучаются методы их решения, как классические, так и новые, созданные за последние 10–15 лет. Упор делается на глубокое понимание математических основ, взаимосвязей, достоинств и ограничений рассматриваемых методов. Теоремы в основном приводятся без доказательств.

Все методы излагаются по единой схеме:

  • исходные идеи и эвристики;
  • их формализация и математическая теория;
  • описание алгоритма в виде слабо формализованного псевдокода;
  • анализ достоинств, недостатков и границ применимости;
  • пути устранения недостатков;
  • сравнение и взаимосвязи с другими методами.
  • примеры прикладных задач.

Данный курс расширяет и углубляет набор тем, рекомендованный международным стандартом ACM/IEEE Computing Curricula 2001 по дисциплине «Машинное обучение и нейронные сети» (machine learning and neural networks) в разделе «Интеллектуальные системы» (intelligent systems).

Курс читается

От студентов требуются знания курсов линейной алгебры, математического анализа, теории вероятностей. Знание математической статистики, методов оптимизации и языка программирования Python желательно, но не обязательно.

Курсивом выделен дополнительный материал, который может разбираться на семинарах.

Замечания для студентов

Семестр 1. Математические основы машинного обучения

Текст лекций: (PDF, 3 МБ) — обновление 4.10.2011.

Основные понятия и примеры прикладных задач

Презентация: (PDF, 1,4 МБ) — обновление 05.09.2020.

Линейный классификатор и стохастический градиент

Презентация: (PDF, 1,1 МБ) — обновление 12.09.2020.

Нейронные сети: градиентные методы оптимизации

Презентация: (PDF, 1,4 МБ) — обновление 19.09.2020.

Метрические методы классификации и регрессии

Презентация: (PDF, 3,2 МБ) — обновление 05.03.2020.

Метод опорных векторов

Презентация: (PDF, 1,1 МБ) — обновление 24.03.2020.

  • Оптимальная разделяющая гиперплоскость. Понятие зазора между классами (margin).
  • Случаи линейной разделимости и отсутствия линейной разделимости. Связь с минимизацией регуляризованного эмпирического риска. Кусочно-линейная функция потерь.
  • Задача квадратичного программирования и двойственная задача. Понятие опорных векторов.
  • Рекомендации по выбору константы C.
  • Функция ядра (kernel functions), спрямляющее пространство, теорема Мерсера.
  • Способы конструктивного построения ядер. Примеры ядер.
  • SVM-регрессия.
  • Регуляризации для отбора признаков: LASSO SVM, Elastic Net SVM, SFM, RFM.
  • Метод релевантных векторов RVM

Многомерная линейная регрессия

Презентация: (PDF, 1,2 MБ) — обновление 10.10.2020.

Нелинейная регрессия

Презентация: (PDF, 0,7 MБ) — обновление 17.10.2020.

Критерии выбора моделей и методы отбора признаков

Текст лекций: (PDF, 330 КБ).
Презентация: (PDF, 1,5 МБ) — обновление 14.12.2019.

Логические методы классификации

Текст лекций: (PDF, 625 КБ).
Презентация: (PDF, 1.8 МБ) — обновление 05.03.2030.

Факультатив

  • Статистический критерий информативности, точный тест Фишера. Сравнение областей эвристических и статистических закономерностей. Асимптотическая эквивалентность статистического и энтропийного критерия информативности. Разнообразие критериев информативности в (p,n)-пространстве.
  • Решающий пень. Бинаризация признаков. Алгоритм разбиения области значений признака на информативные зоны.
  • Решающий список. Жадный алгоритм синтеза списка.
  • Преобразование решающего дерева в решающий список.

Линейные композиции, бустинг

Текст лекций: (PDF, 1 MБ).
Презентация: (PDF, 0.9 МБ) — обновление 14.12.2019.

Байесовская классификация и оценивание плотности

Презентация: (PDF, 1,6 МБ) — обновление 14.12.2019.

Кластеризация и частичное обучение

Презентация: (PDF, 1,8 МБ) — обновление 14.12.2019.

Семестр 2. Прикладные модели машинного обучения

Прогнозирование временных рядов

Презентация: (PDF, 0,9 MБ) — обновление 14.12.2019.

Поиск ассоциативных правил

Презентация: (PDF, 1.1 МБ) — обновление 14.12.2019.

  • Понятие ассоциативного правила и его связь с понятием логической закономерности.
  • Примеры прикладных задач: анализ рыночных корзин, выделение терминов и тематики текстов.
  • Алгоритм APriori. Два этапа: поиск частых наборов и рекурсивное порождение ассоциативных правил. Недостатки и пути усовершенствования алгоритма APriori.
  • Алгоритм FP-growth. Понятия FP-дерева и условного FP-дерева. Два этапа поиска частых наборов в FP-growth: построение FP-дерева и рекурсивное порождение частых наборов.
  • Общее представление о динамических и иерархических методах поиска ассоциативных правил.

Нейронные сети глубокого обучения

Презентация: (PDF, 3,4 МБ) — обновление 14.12.2019.

  • Свёрточные нейронные сети (CNN) для изображений. Свёрточный нейрон. Pooling нейрон. Выборка размеченных изображений ImageNet.
  • Свёрточные сети для сигналов, текстов, графов, игр.
  • Рекуррентные нейронные сети (RNN). Обучение рекуррентных сетей: Backpropagation Through Time (BPTT).
  • Сети долгой кратковременной памяти (Long short-term memory, LSTM).
  • Рекуррентная сеть Gated Recurrent Unit (GRU).
  • Автокодировщики. Векторные представления дискретных данных.
  • Перенос обучения (transfer learning).
  • Самообучение (self-supervised learning).
  • Генеративные состязательные сети (GAN, generative adversarial net).

Нейронные сети с обучением без учителя

Презентация: (PDF, 2,3 МБ) — обновление 03.10.2020.

Векторные представления текстов и графов

Презентация: (PDF, 1,3 МБ) — обновление 14.10.2020.

  • Векторные представления текста. Гипотеза дистрибутивной семантики.
  • Модели word2vec, FastText.
  • Векторные представления графов.
  • Многомерное шкалирование.
  • Модели случайных блужданий DeepWalk, node2vec.
  • Обобщённый автокодировщик на графах GraphEDM.
  • Векторные представления гиперграфов.
  • Тематические модели транзакционных данных. EM-алгоритм для тематической модели гиперграфа.
  • Примеры транзакционных моделей на гиперграфах.

Эвристические, стохастические, нелинейные композиции

Презентация: (PDF, 0.9 МБ) — обновление 14.12.2019.

  • Стохастические методы: бэггинг и метод случайных подпространств.
  • Простое голосование (комитет большинства). Алгоритм ComBoost. Идентификация нетипичных объектов (выбросов).
  • Преобразование простого голосования во взвешенное.
  • Обобщение на большое число классов.
  • Случайный лес.
  • Анализ смещения и вариации для простого голосования.
  • Смесь алгоритмов (квазилинейная композиция), область компетентности, примеры функций компетентности.
  • Выпуклые функции потерь. Методы построения смесей: последовательный и иерархический.
  • Построение смеси алгоритмов с помощью EM-подобного алгоритма.

Ранжирование

Презентация: (PDF, 0,5 МБ) — обновление 14.12.2019.

  • Постановка задачи обучения ранжированию. Примеры.
  • Признаки в задаче ранжирования поисковой выдачи: текстовые, ссылочные, кликовые. TF-IDF. PageRank.
  • Критерии качества ранжирования: Precision, MAP, AUC, DCG, NDCG, pFound.
  • Ранговая классификация, OC-SVM.
  • Попарный подход: RankingSVM, RankNet, LambdaRank.

Рекомендательные системы

Презентация: (PDF, 0.8 МБ) — обновление 14.12.2019.

  • Задачи коллаборативной фильтрации, транзакционные данные и матрица субъекты—объекты.
  • Корреляционные методы user-based, item-based. Задача восстановления пропущенных значений. Меры сходства субъектов и объектов.
  • Латентные методы на основе би-кластеризации. Алгоритм Брегмана.
  • Латентные методы на основе матричных разложений. Метод главных компонент для разреженных данных (LFM, Latent Factor Model). Метод стохастического градиента.
  • Неотрицательные матричные разложения. Метод чередующихся наименьших квадратов ALS.
  • Модель с учётом неявной информации (implicit feedback).
  • Рекомендации с учётом дополнительных признаковых данных. Линейная и квадратичная регрессионные модели, libFM.
  • Измерение качества рекомендаций. Меры разнообразия (diversity), новизны (novelty), покрытия (coverage), догадливости (serendipity).

Тематическое моделирование

Текст лекций: (PDF, 830 КБ).
Презентация: (PDF, 1.6 МБ) — обновление 14.12.2019.

Обучение с подкреплением

Презентация: (PDF, 1.0 МБ) — обновление 14.12.2019.

  • Задача о многоруком бандите. Жадные и эпсилон-жадные стратегии. Метод UCB (upper confidence bound). Стратегия Softmax.
  • Среда для экспериментов.
  • Адаптивные стратегии на основе скользящих средних. Метод сравнения с подкреплением. Метод преследования.
  • Постановка задачи в случае, когда агент влияет на среду. Ценность состояния среды. Ценность действия.
  • Жадные стратегии максимизации ценности. Уравнения оптимальности Беллмана.
  • Метод временных разностей TD. Метод Q-обучения.
  • Градиентная оптимизация стратегии (policy gradient). Связь с максимизацией log-правдоподобия.
  • Постановка задачи при наличии информации о среде в случае выбора действия. Контекстный многорукий бандит.
  • Линейная регрессионная модель с верхней доверительной оценкой LinUCB.
  • Оценивание новой стратегии по большим историческим данным.

Активное обучение

Презентация: (PDF, 1.2 МБ) — обновление 14.12.2019.

  • Постановка задачи машинного обучения. Основные стратегии: отбор объектов из выборки и из потока, синтез объектов.
  • Сэмплирование по неуверенности. Почему активное обучение быстрее пассивного.
  • Сэмплирование по несогласию в комитете. Сокращение пространства решений.
  • Сэмплирование по ожидаемому изменению модели.
  • Сэмплирование по ожидаемому сокращению ошибки.
  • Синтез объектов по критерию сокращения дисперсии.
  • Взвешивание по плотности.
  • Оценивание качества активного обучения.
  • Введение изучающих действий в стратегию активного обучении. Алгоритмы ε-active и EG-active.
  • Применение обучения с подкреплением для активного обучения. Активное томпсоновское сэмплирование.

Заключительная лекция

Презентация: (PDF, 2.0 МБ) — обновление 14.12.2019.

Обзор курса. Оптимизационные задачи машинного обучения.

См. также

Литература

  1. Hastie T., Tibshirani R., Friedman J. The Elements of Statistical Learning. Springer, 2014. — 739 p.
  2. Bishop C. M. Pattern Recognition and Machine Learning. — Springer, 2006. — 738 p.
  3. Мерков А. Б. Распознавание образов. Введение в методы статистического обучения. 2011. 256 с.
  4. Мерков А. Б. Распознавание образов. Построение и обучение вероятностных моделей. 2014. 238 с.
  5. Коэльо Л.П., Ричарт В. Построение систем машинного обучения на языке Python. 2016. 302 с.

Список подстраниц

Машинное обучение (курс лекций, К.В.Воронцов)/2009Машинное обучение (курс лекций, К.В.Воронцов)/ToDoМашинное обучение (курс лекций, К.В.Воронцов)/Вопросы
Машинное обучение (курс лекций, К.В.Воронцов)/Семестровый курсМашинное обучение (курс лекций, К.В.Воронцов)/Форма отчета
Личные инструменты