Машинное обучение (курс лекций, К.В.Воронцов)
Материал из MachineLearning.
(→Второй семестр) |
(→Нейронные сети глубокого обучения) |
||
(40 промежуточных версий не показаны.) | |||
Строка 1: | Строка 1: | ||
{{TOCright}} | {{TOCright}} | ||
- | '''Теория обучения машин''' (machine learning, машинное обучение) находится на стыке [[Прикладная статистика|прикладной статистики]], [[Методы оптимизации|численных методов оптимизации]], [[Дискретный анализ|дискретного анализа]], и за последние | + | '''Теория обучения машин''' (machine learning, машинное обучение) находится на стыке [[Прикладная статистика|прикладной статистики]], [[Методы оптимизации|численных методов оптимизации]], [[Дискретный анализ|дискретного анализа]], и за последние 60 лет оформилась в самостоятельную математическую дисциплину. Методы [[Машинное обучение|машинного обучения]] составляют основу ещё более молодой дисциплины — ''[[Интеллектуальный анализ данных|интеллектуального анализа данных]]'' (data mining). |
- | В курсе рассматриваются основные задачи обучения по прецедентам: [[классификация]], [[кластеризация]], [[регрессия]], [[понижение размерности]]. Изучаются методы их решения, как классические, так и новые, созданные за последние 10–15 лет. Упор делается на глубокое понимание математических основ, взаимосвязей, достоинств и ограничений рассматриваемых методов. | + | В курсе рассматриваются основные задачи обучения по прецедентам: [[классификация]], [[кластеризация]], [[регрессия]], [[понижение размерности]]. Изучаются методы их решения, как классические, так и новые, созданные за последние 10–15 лет. Упор делается на глубокое понимание математических основ, взаимосвязей, достоинств и ограничений рассматриваемых методов. Теоремы в основном приводятся без доказательств. |
Все методы излагаются по единой схеме: | Все методы излагаются по единой схеме: | ||
Строка 10: | Строка 10: | ||
* анализ достоинств, недостатков и границ применимости; | * анализ достоинств, недостатков и границ применимости; | ||
* пути устранения недостатков; | * пути устранения недостатков; | ||
- | * сравнение с другими методами. | + | * сравнение и взаимосвязи с другими методами. |
* примеры прикладных задач. | * примеры прикладных задач. | ||
Строка 20: | Строка 20: | ||
* студентам [[Школа анализа данных Яндекса|Школы анализа данных Яндекса]] с 2009 года. | * студентам [[Школа анализа данных Яндекса|Школы анализа данных Яндекса]] с 2009 года. | ||
- | + | От студентов требуются знания курсов линейной алгебры, математического анализа, теории вероятностей. Знание [[Математическая статистика|математической статистики]], [[Методы оптимизации|методов оптимизации]] и языка программирования [[Python]] желательно, но не обязательно. | |
- | + | ||
- | + | <!---На материал данного курса опираются последующие кафедральные курсы. | |
+ | На кафедре ММП ВМиК МГУ параллельно с данным курсом и в дополнение к нему читается спецкурс [[Теория надёжности обучения по прецедентам (курс лекций, К. В. Воронцов)|Теория надёжности обучения по прецедентам]], посвящённый проблемам [[Переобучение|переобучения]] и оценивания [[Обобщающая способность|обобщающей способности]]. | ||
Ниже представлена расширенная программа — в полном объёме она занимает больше, чем могут вместить в себя два семестра. | Ниже представлена расширенная программа — в полном объёме она занимает больше, чем могут вместить в себя два семестра. | ||
- | Каждый параграф приблизительно соответствует одной лекции. | + | Каждый параграф приблизительно соответствует одной лекции. ---> |
''Курсивом'' выделен дополнительный материал, который может разбираться на семинарах. | ''Курсивом'' выделен дополнительный материал, который может разбираться на семинарах. | ||
=== Замечания для студентов === | === Замечания для студентов === | ||
- | * | + | * Осенью 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, 3 МБ)]] {{важно|— обновление 4.10.2011}}. | '''Текст лекций:''' [[Media:Voron-ML-1.pdf|(PDF, 3 МБ)]] {{важно|— обновление 4.10.2011}}. | ||
== Основные понятия и примеры прикладных задач == | == Основные понятия и примеры прикладных задач == | ||
- | Презентация: [[Media:Voron-ML-Intro-slides.pdf|(PDF, 1,4 МБ)]] {{важно|— обновление | + | Презентация: [[Media:Voron-ML-Intro-slides.pdf|(PDF, 1,4 МБ)]] {{важно|— обновление 05.09.2020}}. |
- | + | ||
* Постановка задач обучения по прецедентам. Объекты и признаки. Типы шкал: бинарные, номинальные, порядковые, количественные. | * Постановка задач обучения по прецедентам. Объекты и признаки. Типы шкал: бинарные, номинальные, порядковые, количественные. | ||
* Типы задач: [[классификация]], [[регрессия]], [[прогнозирование]], [[ранжирование]]. | * Типы задач: [[классификация]], [[регрессия]], [[прогнозирование]], [[ранжирование]]. | ||
Строка 55: | Строка 56: | ||
== Линейный классификатор и стохастический градиент == | == Линейный классификатор и стохастический градиент == | ||
- | + | Презентация: [[Media:Voron-ML-Lin-SG.pdf|(PDF, 1,1 МБ)]] {{важно|— обновление 12.09.2020}}. | |
- | Презентация: [[Media:Voron-ML-Lin-SG.pdf|(PDF, 1,1 МБ)]] {{важно|— обновление | + | |
* [[Линейный классификатор]], модель МакКаллока-Питтса, непрерывные аппроксимации пороговой функции потерь. | * [[Линейный классификатор]], модель МакКаллока-Питтса, непрерывные аппроксимации пороговой функции потерь. | ||
* [[Метод стохастического градиента]] SG. | * [[Метод стохастического градиента]] SG. | ||
Строка 74: | Строка 74: | ||
* Градиентный метод максимизации AUC. | * Градиентный метод максимизации AUC. | ||
--> | --> | ||
+ | |||
+ | == Нейронные сети: градиентные методы оптимизации == | ||
+ | Презентация: [[Media:Voron-ML-ANN-slides.pdf|(PDF, 1,4 МБ)]] {{важно|— обновление 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, 3,2 МБ)]] {{важно|— обновление | + | Презентация: [[Media:Voron-ML-Metric-slides.pdf|(PDF, 3,2 МБ)]] {{важно|— обновление 05.03.2020}}. |
* Гипотезы компактности и непрерывности. | * Гипотезы компактности и непрерывности. | ||
Строка 83: | Строка 96: | ||
* [[Метод окна Парзена]] с постоянной и переменной шириной окна. | * [[Метод окна Парзена]] с постоянной и переменной шириной окна. | ||
* [[Метод потенциальных функций]] и его связь с линейной моделью классификации. | * [[Метод потенциальных функций]] и его связь с линейной моделью классификации. | ||
+ | * Задача отбора эталонов. [[Полный скользящий контроль]] (CCV), формула быстрого вычисления для метода 1NN. [[Профиль компактности]]. | ||
+ | * Отбор эталонных объектов на основе минимизации функционала полного скользящего контроля. | ||
* Непараметрическая регрессия. Локально взвешенный [[метод наименьших квадратов]]. [[Ядерное сглаживание]]. | * Непараметрическая регрессия. Локально взвешенный [[метод наименьших квадратов]]. [[Ядерное сглаживание]]. | ||
- | * [[Оценка Надарая-Ватсона]] с постоянной и переменной шириной окна. Выбор функции ядра. | + | * [[Оценка Надарая-Ватсона]] с постоянной и переменной шириной окна. Выбор функции ядра и ширины окна сглаживания. |
* Задача отсева выбросов. Робастная непараметрическая регрессия. [[Алгоритм LOWESS]]. | * Задача отсева выбросов. Робастная непараметрическая регрессия. [[Алгоритм LOWESS]]. | ||
- | |||
- | |||
<!-- | <!-- | ||
* ''[[Функция конкурентного сходства]], [[алгоритм FRiS-СТОЛП]]''. | * ''[[Функция конкурентного сходства]], [[алгоритм FRiS-СТОЛП]]''. | ||
- | * '' | + | * ''Эффективные структуры данных для быстрого поиска ближайших объектов в прямых и обратных окрестностях — [[метрические деревья]].'' |
+ | * ''Понятие [[отступ]]а. [[Алгоритм СТОЛП]].'' | ||
+ | * ''Задача отбора признаков. Жадный алгоритм построения метрики.'' | ||
* ''Концепция вывода на основе прецедентов ([[CBR]]).'' | * ''Концепция вывода на основе прецедентов ([[CBR]]).'' | ||
--> | --> | ||
== Метод опорных векторов == | == Метод опорных векторов == | ||
- | Презентация: [[Media:Voron-ML-Lin-SVM.pdf|(PDF, 1,1 МБ)]] {{важно|— обновление | + | Презентация: [[Media:Voron-ML-Lin-SVM.pdf|(PDF, 1,1 МБ)]] {{важно|— обновление 24.03.2020}}. |
* Оптимальная разделяющая гиперплоскость. Понятие [[зазор]]а между классами (margin). | * Оптимальная разделяющая гиперплоскость. Понятие [[зазор]]а между классами (margin). | ||
* Случаи линейной разделимости и отсутствия линейной разделимости. Связь с минимизацией регуляризованного эмпирического риска. Кусочно-линейная функция потерь. | * Случаи линейной разделимости и отсутствия линейной разделимости. Связь с минимизацией регуляризованного эмпирического риска. Кусочно-линейная функция потерь. | ||
Строка 111: | Строка 126: | ||
== Многомерная линейная регрессия == | == Многомерная линейная регрессия == | ||
- | Презентация: [[Media:Voron-ML-regression-slides.pdf|(PDF, | + | Презентация: [[Media:Voron-ML-regression-slides.pdf|(PDF, 1,2 MБ)]] {{важно|— обновление 10.10.2020}}. |
* Задача регрессии, [[многомерная линейная регрессия]]. | * Задача регрессии, [[многомерная линейная регрессия]]. | ||
* [[Метод наименьших квадратов]], его вероятностный смысл и геометрический смысл. | * [[Метод наименьших квадратов]], его вероятностный смысл и геометрический смысл. | ||
Строка 129: | Строка 144: | ||
== Нелинейная регрессия == | == Нелинейная регрессия == | ||
- | Презентация: [[Media:Voron-ML-regress-non-slides.pdf|(PDF, 0,7 MБ)]] {{важно|— обновление | + | Презентация: [[Media:Voron-ML-regress-non-slides.pdf|(PDF, 0,7 MБ)]] {{важно|— обновление 17.10.2020}}. |
* [[Метод Ньютона-Рафсона]], [[метод Ньютона-Гаусса]]. | * [[Метод Ньютона-Рафсона]], [[метод Ньютона-Гаусса]]. | ||
* Обобщённая аддитивная модель (GAM): [[метод настройки с возвращениями]] (backfitting) Хасти-Тибширани. | * Обобщённая аддитивная модель (GAM): [[метод настройки с возвращениями]] (backfitting) Хасти-Тибширани. | ||
Строка 139: | Строка 154: | ||
* [[Логистическая регрессия]]. Гипотеза экспоненциальности функций правдоподобия классов. Теорема о линейности байесовского оптимального классификатора. Оценивание апостериорных вероятностей классов с помощью сигмоидной функции активации. | * [[Логистическая регрессия]]. Гипотеза экспоненциальности функций правдоподобия классов. Теорема о линейности байесовского оптимального классификатора. Оценивание апостериорных вероятностей классов с помощью сигмоидной функции активации. | ||
---> | ---> | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
== Критерии выбора моделей и методы отбора признаков == | == Критерии выбора моделей и методы отбора признаков == | ||
Текст лекций: [[Media:Voron-ML-Modeling.pdf|(PDF, 330 КБ)]].<br/> | Текст лекций: [[Media:Voron-ML-Modeling.pdf|(PDF, 330 КБ)]].<br/> | ||
- | Презентация: [[Media:Voron-ML-Quality-slides.pdf|(PDF, 1,5 МБ)]] {{важно|— обновление | + | Презентация: [[Media:Voron-ML-Quality-slides.pdf|(PDF, 1,5 МБ)]] {{важно|— обновление 25.10.2020}}. |
* Критерии качества классификации: чувствительность и специфичность, ROC-кривая и AUC, точность и полнота, AUC-PR. | * Критерии качества классификации: чувствительность и специфичность, ROC-кривая и AUC, точность и полнота, AUC-PR. | ||
Строка 175: | Строка 181: | ||
== Логические методы классификации == | == Логические методы классификации == | ||
Текст лекций: [[Media:Voron-ML-Logic.pdf|(PDF, 625 КБ)]].<br/> | Текст лекций: [[Media:Voron-ML-Logic.pdf|(PDF, 625 КБ)]].<br/> | ||
- | Презентация: [[Media:Voron-ML-Logic-slides.pdf|(PDF, 1.8 МБ)]] {{важно| — обновление | + | Презентация: [[Media:Voron-ML-Logic-slides.pdf|(PDF, 1.8 МБ)]] {{важно| — обновление 20.10.2020}}. |
* Понятие [[логическая закономерность|логической закономерности]]. | * Понятие [[логическая закономерность|логической закономерности]]. | ||
Строка 181: | Строка 187: | ||
* Переборные алгоритмы синтеза конъюнкций: [[стохастический локальный поиск]], [[стабилизация]], [[редукция]]. | * Переборные алгоритмы синтеза конъюнкций: [[стохастический локальный поиск]], [[стабилизация]], [[редукция]]. | ||
* Двухкритериальный отбор информативных закономерностей, парето-оптимальный фронт в (p,n)-пространстве. | * Двухкритериальный отбор информативных закономерностей, парето-оптимальный фронт в (p,n)-пространстве. | ||
+ | * Статистический критерий информативности, [[точный тест Фишера]]. Сравнение областей эвристических и статистических закономерностей. Разнообразие критериев информативности в (p,n)-пространстве. | ||
* [[Решающее дерево]]. Жадная нисходящая стратегия «разделяй и властвуй». [[Алгоритм ID3]]. Недостатки жадной стратегии и способы их устранения. Проблема переобучения. | * [[Решающее дерево]]. Жадная нисходящая стратегия «разделяй и властвуй». [[Алгоритм ID3]]. Недостатки жадной стратегии и способы их устранения. Проблема переобучения. | ||
* Вывод критериев ветвления. Мера нечистоты (impurity) распределения. Энтропийный критерий, критерий Джини. | * Вывод критериев ветвления. Мера нечистоты (impurity) распределения. Энтропийный критерий, критерий Джини. | ||
Строка 187: | Строка 194: | ||
* [[Небрежные решающие деревья]] (oblivious decision tree). | * [[Небрежные решающие деревья]] (oblivious decision tree). | ||
* Решающий лес. [[Случайный лес]] (Random Forest). | * Решающий лес. [[Случайный лес]] (Random Forest). | ||
+ | * Решающий пень. [[Бинаризация признаков]]. Алгоритм разбиения области значений признака на информативные зоны. | ||
+ | * [[Решающий список]]. Жадный алгоритм синтеза списка. Преобразование решающего дерева в решающий список. | ||
'''Факультатив''' | '''Факультатив''' | ||
- | * | + | * Асимптотическая эквивалентность статистического и энтропийного критерия информативности. |
- | + | ||
- | + | ||
- | + | ||
== Поиск ассоциативных правил == | == Поиск ассоциативных правил == | ||
- | Презентация: [[Media:Voron-ML-AssocRules-slides.pdf|(PDF, 1. | + | Презентация: [[Media:Voron-ML-AssocRules-slides.pdf|(PDF, 1.3 МБ)]] {{важно| — обновление 7.11.2020}}. |
+ | |||
* Понятие [[Ассоциативное правило|ассоциативного правила]] и его связь с понятием логической закономерности. | * Понятие [[Ассоциативное правило|ассоциативного правила]] и его связь с понятием логической закономерности. | ||
* Примеры прикладных задач: [[анализ рыночных корзин]], выделение терминов и тематики текстов. | * Примеры прикладных задач: [[анализ рыночных корзин]], выделение терминов и тематики текстов. | ||
Строка 202: | Строка 209: | ||
* Общее представление о динамических и иерархических методах поиска ассоциативных правил. | * Общее представление о динамических и иерархических методах поиска ассоциативных правил. | ||
- | == | + | == Линейные ансамбли == |
- | Презентация: [[Media:Voron-ML-BTC-EM-slides.pdf|(PDF, 1,6 МБ)]] {{важно|— обновление | + | Текст лекций: [[Media:Voron-ML-Compositions.pdf|(PDF, 1 MБ)]].<br/> |
+ | Презентация: [[Media:Voron-ML-Compositions1-slides.pdf|(PDF, 1.0 МБ)]] {{важно|— обновление 14.11.2020}}. | ||
+ | |||
+ | * Основные понятия: [[базовый алгоритм]], [[корректирующая операция]]. | ||
+ | * [[Простое голосование]] (комитет большинства). | ||
+ | * Стохастические методы: [[бэггинг]] и [[метод случайных подпространств]]. | ||
+ | * [[Случайный лес]] (Random Forest). | ||
+ | * [[Взвешенное голосование]]. Преобразование простого голосования во взвешенное. | ||
+ | * [[Алгоритм AdaBoost]]. Экспоненциальная аппроксимация пороговой функции потерь. Процесс последовательного обучения базовых алгоритмов. Теорема о сходимости [[бустинг]]а. Идентификация нетипичных объектов (выбросов). | ||
+ | * Теоретические обоснования. Обобщающая способность бустинга. | ||
+ | * Базовые алгоритмы в бустинге. Решающие пни. | ||
+ | * Сравнение бэггинга и бустинга. | ||
+ | * [[Алгоритм ComBoost]]. Обобщение на большое число классов. | ||
+ | |||
+ | == Продвинутые методы ансамблирования == | ||
+ | Презентация: [[Media:Voron-ML-Compositions-slides2.pdf|(PDF, 1.2 МБ)]] {{важно|— обновление 22.11.2020}}. | ||
+ | |||
+ | * Виды ансамблей. Теоретические обоснования. Анализ смещения и разброса для простого голосования. | ||
+ | * [[Градиентный бустинг]]. Стохастический градиентный бустинг. | ||
+ | * Варианты бустинга: регрессия, [[Алгоритм AnyBoost]], [[GentleBoost]], [[LogitBoost]], [[BrownBoost]], и другие. | ||
+ | * [[Алгоритм XGBoost]]. | ||
+ | * [[Алгоритм CatBoost]]. Обработка категориальных признаков. | ||
+ | * [[Стэкинг]]. Линейный стэкинг, взвешенный по признакам. | ||
+ | * [[Смесь алгоритмов]] (квазилинейная композиция), [[область компетентности]], примеры функций компетентности. | ||
+ | * Выпуклые функции потерь. Методы построения смесей: последовательный и иерархический. | ||
+ | * Построение смеси алгоритмов с помощью EM-подобного алгоритма. | ||
+ | <!--- | ||
+ | * ''[[Решающий список]] (комитет старшинства). Алгоритм обучения. Стратегия выбора классов для базовых алгоритмов.'' | ||
+ | * ''Нелинейная монотонная корректирующая операция. Случай классификации. Случай регрессии. Задача монотонизации выборки, изотонная регрессия.'' | ||
+ | === Метод комитетов === | ||
+ | * Общее понятие: [[комитет]] системы ограничений. Комитеты большинства, простое и взвешенное голосование (''z,p''-комитеты). | ||
+ | * Теоремы о существовании комитетного решения. | ||
+ | * Сопоставление комитета линейных неравенств с нейронной сетью. | ||
+ | * [[Максимальная совместная подсистема]], [[минимальный комитет]]. Теоремы об ''NP''-полноте задачи поиска минимального комитета. | ||
+ | * Алгоритм построения комитета, близкого к минимальному. Верхняя оценка числа членов комитета. | ||
+ | === Бустинг алгоритмов ранжирования === | ||
+ | * Задача ранжирования. Примеры: ранжирование результатов текстового поиска, задача [[Netflix]]. | ||
+ | * Функционал качества — число дефектных пар. | ||
+ | * Бустинг алгоритмов ранжирования — аналоги AdaBoost и AnyBoost. | ||
+ | * Двудольная задача. Сведение попарного функционала качества к поточечному. | ||
+ | === Взвешенное голосование логических закономерностей === | ||
+ | * Применение алгоритма бустинга [[AdaBoost]] к закономерностям. Критерий информативности в бустинге. | ||
+ | * [[Решающий лес]] и бустинг над решающими деревьями. ''[[Алгоритм TreeNet]].'' | ||
+ | * ''Методы синтеза конъюнктивных закономерностей. Псевдокод: [[алгоритм КОРА]], [[алгоритм ТЭМП]].'' | ||
+ | * Эвристики, обеспечивающие различность и полезность закономерностей. Построение Парето-оптимальных закономерностей. Выравнивание распределения отступов. | ||
+ | * ''[[Чередующиеся решающие деревья]] (alternating decision tree).'' | ||
+ | * Примеры прикладных задач: кредитный скоринг, прогнозирование ухода клиентов. | ||
+ | === Алгоритмы вычисления оценок === | ||
+ | * [[Принцип частичной прецедентности]]. Структура [[Алгоритмы вычисления оценок|Алгоритмов вычисления оценок]]. | ||
+ | * [[Тупиковые тесты]]. | ||
+ | * [[Тупиковые представительные наборы]]. | ||
+ | * Проблема оптимизации АВО. АВО как композиция метрических закономерностей. | ||
+ | * Применение бустинга, ТЭМП и СПА для оптимизации АВО. | ||
+ | ---> | ||
+ | |||
+ | == Оценивание плотности и байесовская классификация == | ||
+ | Презентация: [[Media:Voron-ML-BTC-EM-slides.pdf|(PDF, 1,6 МБ)]] {{важно|— обновление 6.12.2020}}. | ||
- | * | + | * Параметрическое оценивание плотности. [[Многомерное нормальное распределение]], геометрическая интерпретация. Выборочные оценки параметров многомерного нормального распределения. Проблемы [[мультиколлинеарность|мультиколлинеарности]] и [[переобучение|переобучения]]. [[Регуляризация]] ковариационной матрицы. |
- | + | ||
- | + | ||
* Непараметрическое оценивание плотности. [[Ядерная оценка плотности Парзена-Розенблатта]]. Одномерный и многомерный случаи. | * Непараметрическое оценивание плотности. [[Ядерная оценка плотности Парзена-Розенблатта]]. Одномерный и многомерный случаи. | ||
+ | * [[Смесь распределений]]. [[EM-алгоритм]] как метод простых итераций. Выбор числа компонентов смеси. Пошаговая стратегия. Априорное распределение Дирихле. | ||
+ | * Байесовская теория классификации. Оптимальный байесовский классификатор. | ||
+ | * Наивный байесовский классификатор. Линейный наивный байесовский классификатор в случае экспоненциального семейства распределений. | ||
* [[Метод парзеновского окна]]. Выбор функции ядра. Выбор ширины окна, переменная ширина окна. | * [[Метод парзеновского окна]]. Выбор функции ядра. Выбор ширины окна, переменная ширина окна. | ||
- | * | + | * [[Нормальный дискриминантный анализ]]. [[Квадратичный дискриминант]]. Вид разделяющей поверхности. [[Подстановочный алгоритм]], его недостатки и способы их устранения. [[Линейный дискриминант Фишера]]. |
- | + | * Смесь многомерных нормальных распределений. [[Сеть радиальных базисных функций]] (RBF) и применение EM-алгоритма для её настройки. Сравнение RBF-сети и SVM с гауссовским ядром. | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | * Смесь многомерных нормальных распределений. [[Сеть радиальных базисных функций]] (RBF) и применение EM-алгоритма для её настройки. | + | |
- | + | ||
<!--- | <!--- | ||
* ''Связь линейного дискриминанта Фишера с [[метод наименьших квадратов|методом наименьших квадратов]].'' | * ''Связь линейного дискриминанта Фишера с [[метод наименьших квадратов|методом наименьших квадратов]].'' | ||
Строка 235: | Строка 290: | ||
== Кластеризация и частичное обучение == | == Кластеризация и частичное обучение == | ||
- | Презентация: [[Media:Voron-ML-Clustering-SSL-slides.pdf|(PDF, 1, | + | Презентация: [[Media:Voron-ML-Clustering-SSL-slides.pdf|(PDF, 1,6 МБ)]] {{важно|— обновление 5.12.2020}}. |
+ | |||
* Постановка задачи [[кластеризация|кластеризации]]. Примеры прикладных задач. Типы кластерных структур. | * Постановка задачи [[кластеризация|кластеризации]]. Примеры прикладных задач. Типы кластерных структур. | ||
* Постановка задачи Semisupervised Learning, примеры приложений. | * Постановка задачи Semisupervised Learning, примеры приложений. | ||
* Оптимизационные постановки задач кластеризации и частичного обучения. | * Оптимизационные постановки задач кластеризации и частичного обучения. | ||
* [[Алгоритм k-средних]] и [[ЕМ-алгоритм]] для разделения гауссовской смеси. | * [[Алгоритм k-средних]] и [[ЕМ-алгоритм]] для разделения гауссовской смеси. | ||
- | |||
- | |||
* [[Алгоритм DBSCAN]]. | * [[Алгоритм DBSCAN]]. | ||
* [[Агломеративная кластеризация]], [[Алгоритм Ланса-Вильямса]] и его частные случаи. | * [[Агломеративная кластеризация]], [[Алгоритм Ланса-Вильямса]] и его частные случаи. | ||
* Алгоритм построения [[дендрограмма|дендрограммы]]. Определение числа кластеров. | * Алгоритм построения [[дендрограмма|дендрограммы]]. Определение числа кластеров. | ||
- | * Свойства сжатия/растяжения | + | * Свойства сжатия/растяжения и монотонности. |
* Простые эвристические методы частичного обучения: self-training, co-training, co-learning. | * Простые эвристические методы частичного обучения: self-training, co-training, co-learning. | ||
* Трансдуктивный метод опорных векторов TSVM. | * Трансдуктивный метод опорных векторов TSVM. | ||
* Алгоритм Expectation-Regularization на основе многоклассовой регуляризированной логистической регрессии. | * Алгоритм Expectation-Regularization на основе многоклассовой регуляризированной логистической регрессии. | ||
<!-- | <!-- | ||
+ | * [[Графовые алгоритмы кластеризации]]. Выделение связных компонент. [[Кратчайший незамкнутый путь]]. | ||
+ | * [[Алгоритм ФОРЭЛ]]. | ||
+ | * Свойства сжатия/растяжения, монотонности и редуктивности. Псевдокод редуктивной версии алгоритма. | ||
* ''Потоковые (субквадратичные) алгоритмы кластеризации.'' | * ''Потоковые (субквадратичные) алгоритмы кластеризации.'' | ||
* [[Многомерное шкалирование]], примеры прикладных задач. | * [[Многомерное шкалирование]], примеры прикладных задач. | ||
Строка 258: | Строка 315: | ||
--> | --> | ||
- | = | + | = Семестр 2. Прикладные модели машинного обучения = |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
== Нейронные сети глубокого обучения == | == Нейронные сети глубокого обучения == | ||
- | Презентация: [[Media:Voron-ML-DeepLearning-slides.pdf|(PDF, 3, | + | Презентация: [[Media:Voron-ML-DeepLearning-slides.pdf|(PDF, 3,9 МБ)]] {{важно|— обновление 05.01.2021}}. |
+ | |||
* Свёрточные нейронные сети (CNN) для изображений. Свёрточный нейрон. Pooling нейрон. Выборка размеченных изображений ImageNet. | * Свёрточные нейронные сети (CNN) для изображений. Свёрточный нейрон. Pooling нейрон. Выборка размеченных изображений ImageNet. | ||
* Свёрточные сети для сигналов, текстов, графов, игр. | * Свёрточные сети для сигналов, текстов, графов, игр. | ||
Строка 283: | Строка 325: | ||
* Сети долгой кратковременной памяти (Long short-term memory, LSTM). | * Сети долгой кратковременной памяти (Long short-term memory, LSTM). | ||
* Рекуррентная сеть Gated Recurrent Unit (GRU). | * Рекуррентная сеть Gated Recurrent Unit (GRU). | ||
- | * | + | * Векторные представления дискретных данных. |
* Перенос обучения (transfer learning). | * Перенос обучения (transfer learning). | ||
* Самообучение (self-supervised learning). | * Самообучение (self-supervised learning). | ||
* Генеративные состязательные сети (GAN, generative adversarial net). | * Генеративные состязательные сети (GAN, generative adversarial net). | ||
- | == | + | == Нейронные сети с обучением без учителя == |
- | + | Презентация: [[Media:Voron-ML-ANN-Unsupervised-slides.pdf|(PDF, 2,3 МБ)]] {{важно|— обновление 03.10.2020}}. | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | * [[Нейронная сеть Кохонена]]. [[Конкурентное обучение]], стратегии WTA и WTM. | |
- | Презентация: [[Media:Voron-ML- | + | * [[Самоорганизующаяся карта Кохонена]]. Применение для визуального анализа данных. Искусство интерпретации карт Кохонена. |
- | * | + | <!--* [[Сети встречного распространения]], их применение для кусочно-постоянной и гладкой аппроксимации функций. |
- | * [[ | + | --> |
- | * | + | * [[Автокодировщик]]. Линейный AE, SAE, DAE, CAE, RAE, VAE, AE для классификации, многослойный AE. |
- | * | + | * Перенос обучения (transfer learning). |
- | * | + | * Самостоятельное обучение (self-supervised learning). |
- | * | + | * Дистилляция моделей или суррогатное моделирование. |
- | * [[ | + | * Обучение с использованием привилегированной информации. |
- | * | + | * Генеративные состязательные сети (GAN). |
- | * | + | |
+ | == Векторные представления текстов и графов == | ||
+ | Презентация: [[Media:Voron-ML-Embeddings-slides.pdf|(PDF, 1,3 МБ)]] {{важно|— обновление 14.10.2020}}. | ||
+ | |||
+ | * Векторные представления текста. Гипотеза дистрибутивной семантики. | ||
+ | * Модели [[word2vec]], [[FastText]]. | ||
+ | * Векторные представления графов. | ||
+ | * [[Многомерное шкалирование]]. | ||
+ | * Модели случайных блужданий [[DeepWalk]], [[node2vec]]. | ||
+ | * Обобщённый автокодировщик на графах [[GraphEDM]]. | ||
+ | * Векторные представления гиперграфов. | ||
+ | * Тематические модели транзакционных данных. EM-алгоритм для тематической модели гиперграфа. | ||
+ | * Примеры транзакционных моделей на гиперграфах. | ||
+ | |||
+ | == Модели внимания и трансформеры == | ||
+ | Презентация: [[Media:Voron-ML-Attention-slides.pdf|(PDF, 1,1 МБ)]] {{важно|— обновление 7.11.2020}}. | ||
+ | * Задачи обработки последовательностей. | ||
+ | * Рекуррентная сеть с моделью внимания. Разновидности моделей внимания. | ||
+ | * Критерии обучения и оценивание качества (предобучение). | ||
+ | * Прикладные задачи: машинный перевод, аннотирование изображений (эквивалентность MHSA и CNN). | ||
+ | * Модели внимания на графах. | ||
+ | * Трансформеры для текстов, изображений, графов. | ||
+ | |||
+ | == Тематическое моделирование == | ||
<!--- | <!--- | ||
- | + | Текст лекций: [[Media:Voron-ML-TopicModels.pdf|(PDF, 830 КБ)]].<br/> | |
- | + | Презентация 1: [[Media:Voron-ML-TopicModels-slides.pdf|(PDF, 2.8 МБ)]] {{важно| — обновление 16.11.2015}}. | |
- | + | Презентация 2: [[Media:Voron-ML-TopicModels-slides-2.pdf|(PDF, 6.1 МБ)]] {{важно| — обновление 16.11.2015}}. | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
---> | ---> | ||
+ | Презентация: [[Media:Voron-ML-TopicModeling-slides.pdf|(PDF, 7.1 МБ)]], Семинар: [[Media:Voron-ML-TopicModeling-seminar-slides.pdf|(PDF, 3.8 МБ)]] {{важно| — обновление 15.11.2020}}. | ||
+ | * Задача [[тематическое моделирование|тематического моделирования]] коллекции текстовых документов. [[Метод максимума правдоподобия]]. | ||
+ | * Лемма о максимизации гладкой функции на симплексах (применение условий Каруша–Куна–Таккера). | ||
+ | * [[Аддитивная регуляризация тематических моделей]]. Регуляризованный EM-алгоритм, теорема о стационарной точке. Элементарная интерпретация EM-алгоритма. | ||
+ | * [[Вероятностный латентный семантический анализ]] PLSA. [[ЕМ-алгоритм]]. | ||
+ | * [[Латентное размещение Дирихле]] LDA. [[Метод максимума апостериорной вероятности]]. Сглаженная частотная оценка условной вероятности. Небайесовская интерпретация LDA. | ||
+ | * Регуляризаторы разреживания, сглаживания, частичного обучения, декоррелирования. | ||
+ | * Мультимодальная тематическая модель. Мультиязычная тематическая модель. | ||
+ | * Регуляризаторы классификации и регрессии. | ||
+ | * Модель битермов WNTM. Модель связанных документов. Иерархическая тематическая модель. | ||
+ | * Внутренние и внешние критерии качества тематических моделей. | ||
- | == | + | == Обучение ранжированию == |
- | Презентация: [[Media:Voron-ML-Ranking-slides.pdf|(PDF, 0, | + | Презентация: [[Media:Voron-ML-Ranking-slides.pdf|(PDF, 0,8 МБ)]] {{важно|— обновление 3.11.2020}}. |
* Постановка задачи [[Обучение ранжированию|обучения ранжированию]]. Примеры. | * Постановка задачи [[Обучение ранжированию|обучения ранжированию]]. Примеры. | ||
- | * Признаки в задаче ранжирования поисковой выдачи: текстовые, ссылочные, кликовые. [[TF-IDF]] | + | * Поточечные методы Ранговая регрессия. Ранговая классификация, OC-SVM. |
+ | * Попарные методы: RankingSVM, RankNet, LambdaRank. | ||
+ | * Списочные методы. | ||
+ | * Признаки в задаче ранжирования поисковой выдачи: текстовые, ссылочные, кликовые. [[TF-IDF]], [[Okapi BM25]], [[PageRank]]. | ||
* Критерии качества ранжирования: Precision, MAP, AUC, DCG, NDCG, pFound. | * Критерии качества ранжирования: Precision, MAP, AUC, DCG, NDCG, pFound. | ||
- | * | + | * Глубокая структурированная семантическая модель [[DSSM]] (Deep Structured Semantic Model). |
- | + | ||
== Рекомендательные системы == | == Рекомендательные системы == | ||
- | Презентация: [[Media:Voron-ML-CF.pdf|(PDF, 0.8 МБ)]] {{важно| — обновление | + | Презентация: [[Media:Voron-ML-CF.pdf|(PDF, 0.8 МБ)]] {{важно| — обновление 11.11.2020}}. |
- | * Задачи [[коллаборативная фильтрация|коллаборативной фильтрации]], [[транзакционные данные]] | + | * Задачи [[коллаборативная фильтрация|коллаборативной фильтрации]], [[транзакционные данные]]. |
- | * Корреляционные методы user-based, item-based. Задача восстановления пропущенных значений. Меры сходства | + | * Корреляционные методы user-based, item-based. Задача восстановления пропущенных значений. Меры сходства. |
- | * | + | * Разреженная линейная модель (Sparse LInear Method, SLIM). |
* Латентные методы на основе матричных разложений. [[Метод главных компонент]] для разреженных данных (LFM, Latent Factor Model). [[Метод стохастического градиента]]. | * Латентные методы на основе матричных разложений. [[Метод главных компонент]] для разреженных данных (LFM, Latent Factor Model). [[Метод стохастического градиента]]. | ||
- | * Неотрицательные матричные разложения. Метод чередующихся наименьших квадратов ALS. | + | * Неотрицательные матричные разложения NNMF. Метод чередующихся наименьших квадратов ALS. [[Вероятностный латентный семантический анализ]] PLSA. |
* Модель с учётом неявной информации (implicit feedback). | * Модель с учётом неявной информации (implicit feedback). | ||
- | * | + | * Автокодировщики для коллаборативной фильтрации. |
+ | * Учёт дополнительных признаковых данных в матричных разложениях и автокодировщиках. | ||
+ | * Линейная и квадратичная регрессионные модели, [[libFM]]. | ||
+ | * Гиперграфовая транзакционная тематическая модель для учёта дополнительных данных. | ||
* Измерение качества рекомендаций. Меры разнообразия (diversity), новизны (novelty), покрытия (coverage), догадливости (serendipity). | * Измерение качества рекомендаций. Меры разнообразия (diversity), новизны (novelty), покрытия (coverage), догадливости (serendipity). | ||
- | == | + | == Прогнозирование временных рядов == |
- | + | Презентация: [[Media:Voron-ML-forecasting-slides.pdf|(PDF, 0,9 MБ)]] {{важно|— обновление 14.12.2019}}. | |
- | + | * Задача прогнозирования временных рядов. Примеры приложений. | |
- | Презентация | + | * [[Экспоненциальное сглаживание|Экспоненциальное скользящее среднее]]. [[Модель Хольта]]. [[Модель Тейла-Вейджа]]. [[Модель Хольта-Уинтерса]]. |
- | + | * Адаптивная авторегрессионная модель. | |
- | + | * [[Следящий контрольный сигнал]]. [[Модель Тригга-Лича]]. | |
- | Презентация: [[Media:Voron-ML- | + | * Адаптивная селективная модель. Адаптивная композиция моделей. |
- | * | + | * Локальная адаптация весов с регуляризацией. |
- | + | ||
- | * | + | == Инкрементное и онлайновое обучение == |
- | * | + | Презентация: [[Media:Voron-ML-incremental-slides.pdf|(PDF, 0,9 MБ)]] {{важно|— обновление 02.12.2020}}. |
- | * | + | * Задачи инкрементного и онлайнового обучения. Оценивание инкрементного обучения. Кривые обучения. |
- | * | + | * Ленивое обучение (метрические и непараметрические методы). Онлайновый отбор эталонных объектов. |
- | * | + | * Онлайновый наивный байесовский классификатор. |
- | * | + | * Онлайновый градиентный спуск OGD. Алгоритм Perceptron. Алгоритм Passive-Aggressive. |
- | * | + | * Рекуррентный метод наименьших квадратов RLS. |
- | * | + | * Инкрементные решающие деревья ID5R. |
+ | * Онлайновое обучение ансамбля. Алгоритм Hedge, его свойства и интерпретация в задаче портфельного инвестирования. | ||
+ | * Онлайновое глубокое обучение. Алгоритм Hedge BackProp. | ||
+ | * Онлайновое обучение новым классам. Проблема катастрофического забывания. Алгоритм iCaRL. | ||
== Обучение с подкреплением == | == Обучение с подкреплением == | ||
- | Презентация: [[Media:Voron-ML-RL-slides.pdf|(PDF, 1. | + | Презентация: [[Media:Voron-ML-RL-slides.pdf|(PDF, 1.9 МБ)]] {{важно| — обновление 18.11.2020}}. |
- | * Задача о многоруком бандите. Жадные и эпсилон-жадные стратегии. Метод UCB (upper confidence bound) | + | * Задача о многоруком бандите. Жадные и эпсилон-жадные стратегии. Метод UCB (upper confidence bound). |
- | + | * Адаптивные стратегии на основе скользящих средних. Метод сравнения с подкреплением. Метод преследования. | |
- | * Адаптивные стратегии на основе скользящих средних. Метод сравнения с подкреплением. Метод преследования. | + | |
* Постановка задачи в случае, когда агент влияет на среду. Ценность состояния среды. Ценность действия. | * Постановка задачи в случае, когда агент влияет на среду. Ценность состояния среды. Ценность действия. | ||
* Жадные стратегии максимизации ценности. Уравнения оптимальности Беллмана. | * Жадные стратегии максимизации ценности. Уравнения оптимальности Беллмана. | ||
- | * Метод | + | * Метод SARSA. Метод Q-обучения. Типизация методов на on-policy и off-policy. |
- | <!---* Многошаговое TD-прогнозирование. Обобщения методов временных разностей, SARSA, Q-обучения. ---> | + | * Глубокое Q-обучение нейронной сети DQN на примере обучения играм Atari. |
+ | <!---* Метод временных разностей TD. Многошаговое TD-прогнозирование. Обобщения методов временных разностей, SARSA, Q-обучения. ---> | ||
+ | <!---* Модели актор-критик. Модели с непрерывным управлением. ---> | ||
* Градиентная оптимизация стратегии (policy gradient). Связь с максимизацией log-правдоподобия. | * Градиентная оптимизация стратегии (policy gradient). Связь с максимизацией log-правдоподобия. | ||
- | * Постановка задачи при | + | * Постановка задачи при моделировании среды. Типизация методов на model-free и model-based. |
- | + | * Контекстный многорукий бандит. Линейная регрессионная модель с верхней доверительной оценкой LinUCB. | |
- | * Оценивание новой стратегии по большим историческим данным. | + | * Оценивание новой стратегии по большим историческим данным, сформированным при старых стратегиях. |
- | + | ||
== Активное обучение == | == Активное обучение == | ||
- | Презентация: [[Media:Voron-ML-AL-slides.pdf|(PDF, 1.2 МБ)]] {{важно| — обновление | + | Презентация: [[Media:Voron-ML-AL-slides.pdf|(PDF, 1.2 МБ)]] {{важно| — обновление 24.11.2020}}. |
- | * Постановка задачи машинного обучения. Основные стратегии: отбор объектов из выборки и из потока, синтез объектов. | + | * Постановка задачи машинного обучения. Основные стратегии: отбор объектов из выборки и из потока, синтез объектов. Приложения активного обучения. |
- | * | + | * Почему активное обучение быстрее пассивного. Оценивание качества активного обучения. Кривые обучения. |
+ | * Сэмплирование по неуверенности. | ||
* Сэмплирование по несогласию в комитете. Сокращение пространства решений. | * Сэмплирование по несогласию в комитете. Сокращение пространства решений. | ||
* Сэмплирование по ожидаемому изменению модели. | * Сэмплирование по ожидаемому изменению модели. | ||
* Сэмплирование по ожидаемому сокращению ошибки. | * Сэмплирование по ожидаемому сокращению ошибки. | ||
+ | * Синтез объектов методами безградиентной оптимизации. [[Метод Нелдера-Мида]]. | ||
* Синтез объектов по критерию сокращения дисперсии. | * Синтез объектов по критерию сокращения дисперсии. | ||
* Взвешивание по плотности. | * Взвешивание по плотности. | ||
- | |||
* Введение изучающих действий в стратегию активного обучении. Алгоритмы ε-active и EG-active. | * Введение изучающих действий в стратегию активного обучении. Алгоритмы ε-active и EG-active. | ||
- | * Применение обучения с подкреплением для активного обучения. Активное томпсоновское сэмплирование. | + | * Использование активного обучения в краудсорсинге. Согласование оценок аннотаторов. Назначение заданий аннотаторам. |
+ | <!---* Применение обучения с подкреплением для активного обучения. Активное томпсоновское сэмплирование.---> | ||
== Заключительная лекция == | == Заключительная лекция == |
Версия 13:14, 5 января 2021
Теория обучения машин (machine learning, машинное обучение) находится на стыке прикладной статистики, численных методов оптимизации, дискретного анализа, и за последние 60 лет оформилась в самостоятельную математическую дисциплину. Методы машинного обучения составляют основу ещё более молодой дисциплины — интеллектуального анализа данных (data mining).
В курсе рассматриваются основные задачи обучения по прецедентам: классификация, кластеризация, регрессия, понижение размерности. Изучаются методы их решения, как классические, так и новые, созданные за последние 10–15 лет. Упор делается на глубокое понимание математических основ, взаимосвязей, достоинств и ограничений рассматриваемых методов. Теоремы в основном приводятся без доказательств.
Все методы излагаются по единой схеме:
- исходные идеи и эвристики;
- их формализация и математическая теория;
- описание алгоритма в виде слабо формализованного псевдокода;
- анализ достоинств, недостатков и границ применимости;
- пути устранения недостатков;
- сравнение и взаимосвязи с другими методами.
- примеры прикладных задач.
Данный курс расширяет и углубляет набор тем, рекомендованный международным стандартом ACM/IEEE Computing Curricula 2001 по дисциплине «Машинное обучение и нейронные сети» (machine learning and neural networks) в разделе «Интеллектуальные системы» (intelligent systems).
Курс читается
- студентам 3 курса кафедры «Интеллектуальные системы / интеллектуальный анализ данных» ФУПМ МФТИ с 2004 года;
- студентам 3 курса кафедры «Математические методы прогнозирования» ВМиК МГУ с 2007 года;
- студентам Школы анализа данных Яндекса с 2009 года.
От студентов требуются знания курсов линейной алгебры, математического анализа, теории вероятностей. Знание математической статистики, методов оптимизации и языка программирования Python желательно, но не обязательно.
Курсивом выделен дополнительный материал, который может разбираться на семинарах.
Замечания для студентов
- Осенью 2020 года курс читается в дистанционном режиме. Подключиться к конференции Zoom Обновлено: 12-09-2020
- Ссылка на семинары для студентов МФТИ
- Видеолекции ШАД Яндекс. Обновлено: 2019 год
- «Введение в машинное обучение» на Курсэре содержит примерно втрое меньше материала, чем в годовом курсе, представленном на этой странице. Там очень многое упрощено, спрятано, пропущено. Действительно введение.
- На подстранице имеется перечень вопросов к устному экзамену. Очень помогает при подготовке к устному экзамену!
- О найденных ошибках и опечатках сообщайте мне. — К.В.Воронцов 18:24, 19 января 2009 (MSK)
- Материал, который есть в pdf-тексте, но не рассказывался на лекциях, обычно не входит в программу экзамена.
- Короткая ссылка на эту страницу: https://bit.ly/1bCmE3Z.
Семестр 1. Математические основы машинного обучения
Текст лекций: (PDF, 3 МБ) — обновление 4.10.2011.
Основные понятия и примеры прикладных задач
Презентация: (PDF, 1,4 МБ) — обновление 05.09.2020.
- Постановка задач обучения по прецедентам. Объекты и признаки. Типы шкал: бинарные, номинальные, порядковые, количественные.
- Типы задач: классификация, регрессия, прогнозирование, ранжирование.
- Основные понятия: модель алгоритмов, метод обучения, функция потерь и функционал качества, принцип минимизации эмпирического риска, обобщающая способность, скользящий контроль.
- Линейные модели регрессии и классификации. Метод наименьших квадратов. Полиномиальная регрессия.
- Примеры прикладных задач.
- Методика экспериментального исследования и сравнения алгоритмов на модельных и реальных данных.
- Конкурсы по анализу данных kaggle.com. Полигон алгоритмов классификации.
- CRISP-DM — межотраслевой стандарт ведения проектов интеллектуального анализа данных.
Линейный классификатор и стохастический градиент
Презентация: (PDF, 1,1 МБ) — обновление 12.09.2020.
- Линейный классификатор, модель МакКаллока-Питтса, непрерывные аппроксимации пороговой функции потерь.
- Метод стохастического градиента SG.
- Метод стохастического среднего градиента SAG.
- Эвристики: инициализация весов, порядок предъявления объектов, выбор величины градиентного шага, «выбивание» из локальных минимумов.
- Проблема мультиколлинеарности и переобучения, регуляризация или редукция весов (weight decay).
- Вероятностная постановка задачи классификации. Принцип максимума правдоподобия.
- Вероятностная интерпретация регуляризации, совместное правдоподобие данных и модели. Принцип максимума апостериорной вероятности.
- Гауссовский и лапласовский регуляризаторы.
- Логистическая регрессия. Принцип максимума правдоподобия и логарифмическая функция потерь. Метод стохастического градиента для логарифмической функции потерь. Многоклассовая логистическая регрессия. Регуляризованная логистическая регрессия. Калибровка Платта.
Нейронные сети: градиентные методы оптимизации
Презентация: (PDF, 1,4 МБ) — обновление 19.09.2020.
- Биологический нейрон, модель МакКаллока-Питтса как линейный классификатор. Функции активации.
- Проблема полноты. Задача исключающего или. Полнота двухслойных сетей в пространстве булевых функций.
- Алгоритм обратного распространения ошибок.
- Быстрые методы стохастического градиента: Поляка, Нестерова, AdaGrad, RMSProp, AdaDelta, Adam, Nadam, диагональный метод Левенберга-Марквардта.
- Проблема взрыва градиента и эвристика gradient clipping.
- Метод случайных отключений нейронов (Dropout). Интерпретации Dropout. Обратный Dropout и L2-регуляризация.
- Функции активации ReLU и PReLU. Проблема «паралича» сети.
- Эвристики для формирования начального приближения. Метод послойной настройки сети.
- Подбор структуры сети: методы постепенного усложнения сети, оптимальное прореживание нейронных сетей (optimal brain damage).
Метрические методы классификации и регрессии
Презентация: (PDF, 3,2 МБ) — обновление 05.03.2020.
- Гипотезы компактности и непрерывности.
- Обобщённый метрический классификатор.
- Метод ближайших соседей kNN и его обобщения. Подбор числа k по критерию скользящего контроля.
- Метод окна Парзена с постоянной и переменной шириной окна.
- Метод потенциальных функций и его связь с линейной моделью классификации.
- Задача отбора эталонов. Полный скользящий контроль (CCV), формула быстрого вычисления для метода 1NN. Профиль компактности.
- Отбор эталонных объектов на основе минимизации функционала полного скользящего контроля.
- Непараметрическая регрессия. Локально взвешенный метод наименьших квадратов. Ядерное сглаживание.
- Оценка Надарая-Ватсона с постоянной и переменной шириной окна. Выбор функции ядра и ширины окна сглаживания.
- Задача отсева выбросов. Робастная непараметрическая регрессия. Алгоритм LOWESS.
Метод опорных векторов
Презентация: (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.
- Задача регрессии, многомерная линейная регрессия.
- Метод наименьших квадратов, его вероятностный смысл и геометрический смысл.
- Сингулярное разложение.
- Проблемы мультиколлинеарности и переобучения.
- Регуляризация. Гребневая регрессия через сингулярное разложение.
- Методы отбора признаков: Лассо Тибширани, Elastic Net, сравнение с гребневой регрессией.
- Метод главных компонент и декоррелирующее преобразование Карунена-Лоэва, его связь с сингулярным разложением.
- Спектральный подход к решению задачи наименьших квадратов.
- Задачи и методы низкоранговых матричных разложений.
Нелинейная регрессия
Презентация: (PDF, 0,7 MБ) — обновление 17.10.2020.
- Метод Ньютона-Рафсона, метод Ньютона-Гаусса.
- Обобщённая аддитивная модель (GAM): метод настройки с возвращениями (backfitting) Хасти-Тибширани.
- Логистическая регрессия. Метод наименьших квадратов с итеративным пересчётом весов (IRLS). Пример прикладной задачи: кредитный скоринг. Бинаризация признаков. Скоринговые карты и оценивание вероятности дефолта. Риск кредитного портфеля банка.
- Обобщённая линейная модель (GLM). Экспоненциальное семейство распределений.
- Неквадратичные функции потерь. Метод наименьших модулей. Квантильная регрессия. Пример прикладной задачи: прогнозирование потребительского спроса.
- Робастная регрессия, функции потерь с горизонтальными асимптотами.
Критерии выбора моделей и методы отбора признаков
Текст лекций: (PDF, 330 КБ).
Презентация: (PDF, 1,5 МБ) — обновление 25.10.2020.
- Критерии качества классификации: чувствительность и специфичность, ROC-кривая и AUC, точность и полнота, AUC-PR.
- Внутренние и внешние критерии. Эмпирические и аналитические критерии.
- Скользящий контроль, разновидности эмпирических оценок скользящего контроля. Критерий непротиворечивости.
- Разновидности аналитических оценок. Регуляризация. Критерий Акаике (AIC). Байесовский информационный критерий (BIC). Оценка Вапника-Червоненкиса.
- Сложность задачи отбора признаков. Полный перебор.
- Метод добавления и удаления, шаговая регрессия.
- Поиск в глубину, метод ветвей и границ.
- Усечённый поиск в ширину, многорядный итерационный алгоритм МГУА.
- Генетический алгоритм, его сходство с МГУА.
- Случайный поиск и Случайный поиск с адаптацией (СПА).
Логические методы классификации
Текст лекций: (PDF, 625 КБ).
Презентация: (PDF, 1.8 МБ) — обновление 20.10.2020.
- Понятие логической закономерности.
- Параметрические семейства закономерностей: конъюнкции пороговых правил, синдромные правила, шары, гиперплоскости.
- Переборные алгоритмы синтеза конъюнкций: стохастический локальный поиск, стабилизация, редукция.
- Двухкритериальный отбор информативных закономерностей, парето-оптимальный фронт в (p,n)-пространстве.
- Статистический критерий информативности, точный тест Фишера. Сравнение областей эвристических и статистических закономерностей. Разнообразие критериев информативности в (p,n)-пространстве.
- Решающее дерево. Жадная нисходящая стратегия «разделяй и властвуй». Алгоритм ID3. Недостатки жадной стратегии и способы их устранения. Проблема переобучения.
- Вывод критериев ветвления. Мера нечистоты (impurity) распределения. Энтропийный критерий, критерий Джини.
- Редукция решающих деревьев: предредукция и постредукция. Алгоритм C4.5.
- Деревья регрессии. Алгоритм CART.
- Небрежные решающие деревья (oblivious decision tree).
- Решающий лес. Случайный лес (Random Forest).
- Решающий пень. Бинаризация признаков. Алгоритм разбиения области значений признака на информативные зоны.
- Решающий список. Жадный алгоритм синтеза списка. Преобразование решающего дерева в решающий список.
Факультатив
- Асимптотическая эквивалентность статистического и энтропийного критерия информативности.
Поиск ассоциативных правил
Презентация: (PDF, 1.3 МБ) — обновление 7.11.2020.
- Понятие ассоциативного правила и его связь с понятием логической закономерности.
- Примеры прикладных задач: анализ рыночных корзин, выделение терминов и тематики текстов.
- Алгоритм APriori. Два этапа: поиск частых наборов и рекурсивное порождение ассоциативных правил. Недостатки и пути усовершенствования алгоритма APriori.
- Алгоритм FP-growth. Понятия FP-дерева и условного FP-дерева. Два этапа поиска частых наборов в FP-growth: построение FP-дерева и рекурсивное порождение частых наборов.
- Общее представление о динамических и иерархических методах поиска ассоциативных правил.
Линейные ансамбли
Текст лекций: (PDF, 1 MБ).
Презентация: (PDF, 1.0 МБ) — обновление 14.11.2020.
- Основные понятия: базовый алгоритм, корректирующая операция.
- Простое голосование (комитет большинства).
- Стохастические методы: бэггинг и метод случайных подпространств.
- Случайный лес (Random Forest).
- Взвешенное голосование. Преобразование простого голосования во взвешенное.
- Алгоритм AdaBoost. Экспоненциальная аппроксимация пороговой функции потерь. Процесс последовательного обучения базовых алгоритмов. Теорема о сходимости бустинга. Идентификация нетипичных объектов (выбросов).
- Теоретические обоснования. Обобщающая способность бустинга.
- Базовые алгоритмы в бустинге. Решающие пни.
- Сравнение бэггинга и бустинга.
- Алгоритм ComBoost. Обобщение на большое число классов.
Продвинутые методы ансамблирования
Презентация: (PDF, 1.2 МБ) — обновление 22.11.2020.
- Виды ансамблей. Теоретические обоснования. Анализ смещения и разброса для простого голосования.
- Градиентный бустинг. Стохастический градиентный бустинг.
- Варианты бустинга: регрессия, Алгоритм AnyBoost, GentleBoost, LogitBoost, BrownBoost, и другие.
- Алгоритм XGBoost.
- Алгоритм CatBoost. Обработка категориальных признаков.
- Стэкинг. Линейный стэкинг, взвешенный по признакам.
- Смесь алгоритмов (квазилинейная композиция), область компетентности, примеры функций компетентности.
- Выпуклые функции потерь. Методы построения смесей: последовательный и иерархический.
- Построение смеси алгоритмов с помощью EM-подобного алгоритма.
Оценивание плотности и байесовская классификация
Презентация: (PDF, 1,6 МБ) — обновление 6.12.2020.
- Параметрическое оценивание плотности. Многомерное нормальное распределение, геометрическая интерпретация. Выборочные оценки параметров многомерного нормального распределения. Проблемы мультиколлинеарности и переобучения. Регуляризация ковариационной матрицы.
- Непараметрическое оценивание плотности. Ядерная оценка плотности Парзена-Розенблатта. Одномерный и многомерный случаи.
- Смесь распределений. EM-алгоритм как метод простых итераций. Выбор числа компонентов смеси. Пошаговая стратегия. Априорное распределение Дирихле.
- Байесовская теория классификации. Оптимальный байесовский классификатор.
- Наивный байесовский классификатор. Линейный наивный байесовский классификатор в случае экспоненциального семейства распределений.
- Метод парзеновского окна. Выбор функции ядра. Выбор ширины окна, переменная ширина окна.
- Нормальный дискриминантный анализ. Квадратичный дискриминант. Вид разделяющей поверхности. Подстановочный алгоритм, его недостатки и способы их устранения. Линейный дискриминант Фишера.
- Смесь многомерных нормальных распределений. Сеть радиальных базисных функций (RBF) и применение EM-алгоритма для её настройки. Сравнение RBF-сети и SVM с гауссовским ядром.
Кластеризация и частичное обучение
Презентация: (PDF, 1,6 МБ) — обновление 5.12.2020.
- Постановка задачи кластеризации. Примеры прикладных задач. Типы кластерных структур.
- Постановка задачи Semisupervised Learning, примеры приложений.
- Оптимизационные постановки задач кластеризации и частичного обучения.
- Алгоритм k-средних и ЕМ-алгоритм для разделения гауссовской смеси.
- Алгоритм DBSCAN.
- Агломеративная кластеризация, Алгоритм Ланса-Вильямса и его частные случаи.
- Алгоритм построения дендрограммы. Определение числа кластеров.
- Свойства сжатия/растяжения и монотонности.
- Простые эвристические методы частичного обучения: self-training, co-training, co-learning.
- Трансдуктивный метод опорных векторов TSVM.
- Алгоритм Expectation-Regularization на основе многоклассовой регуляризированной логистической регрессии.
Семестр 2. Прикладные модели машинного обучения
Нейронные сети глубокого обучения
Презентация: (PDF, 3,9 МБ) — обновление 05.01.2021.
- Свёрточные нейронные сети (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.
- Нейронная сеть Кохонена. Конкурентное обучение, стратегии WTA и WTM.
- Самоорганизующаяся карта Кохонена. Применение для визуального анализа данных. Искусство интерпретации карт Кохонена.
- Автокодировщик. Линейный AE, SAE, DAE, CAE, RAE, VAE, AE для классификации, многослойный AE.
- Перенос обучения (transfer learning).
- Самостоятельное обучение (self-supervised learning).
- Дистилляция моделей или суррогатное моделирование.
- Обучение с использованием привилегированной информации.
- Генеративные состязательные сети (GAN).
Векторные представления текстов и графов
Презентация: (PDF, 1,3 МБ) — обновление 14.10.2020.
- Векторные представления текста. Гипотеза дистрибутивной семантики.
- Модели word2vec, FastText.
- Векторные представления графов.
- Многомерное шкалирование.
- Модели случайных блужданий DeepWalk, node2vec.
- Обобщённый автокодировщик на графах GraphEDM.
- Векторные представления гиперграфов.
- Тематические модели транзакционных данных. EM-алгоритм для тематической модели гиперграфа.
- Примеры транзакционных моделей на гиперграфах.
Модели внимания и трансформеры
Презентация: (PDF, 1,1 МБ) — обновление 7.11.2020.
- Задачи обработки последовательностей.
- Рекуррентная сеть с моделью внимания. Разновидности моделей внимания.
- Критерии обучения и оценивание качества (предобучение).
- Прикладные задачи: машинный перевод, аннотирование изображений (эквивалентность MHSA и CNN).
- Модели внимания на графах.
- Трансформеры для текстов, изображений, графов.
Тематическое моделирование
Презентация: (PDF, 7.1 МБ), Семинар: (PDF, 3.8 МБ) — обновление 15.11.2020.
- Задача тематического моделирования коллекции текстовых документов. Метод максимума правдоподобия.
- Лемма о максимизации гладкой функции на симплексах (применение условий Каруша–Куна–Таккера).
- Аддитивная регуляризация тематических моделей. Регуляризованный EM-алгоритм, теорема о стационарной точке. Элементарная интерпретация EM-алгоритма.
- Вероятностный латентный семантический анализ PLSA. ЕМ-алгоритм.
- Латентное размещение Дирихле LDA. Метод максимума апостериорной вероятности. Сглаженная частотная оценка условной вероятности. Небайесовская интерпретация LDA.
- Регуляризаторы разреживания, сглаживания, частичного обучения, декоррелирования.
- Мультимодальная тематическая модель. Мультиязычная тематическая модель.
- Регуляризаторы классификации и регрессии.
- Модель битермов WNTM. Модель связанных документов. Иерархическая тематическая модель.
- Внутренние и внешние критерии качества тематических моделей.
Обучение ранжированию
Презентация: (PDF, 0,8 МБ) — обновление 3.11.2020.
- Постановка задачи обучения ранжированию. Примеры.
- Поточечные методы Ранговая регрессия. Ранговая классификация, OC-SVM.
- Попарные методы: RankingSVM, RankNet, LambdaRank.
- Списочные методы.
- Признаки в задаче ранжирования поисковой выдачи: текстовые, ссылочные, кликовые. TF-IDF, Okapi BM25, PageRank.
- Критерии качества ранжирования: Precision, MAP, AUC, DCG, NDCG, pFound.
- Глубокая структурированная семантическая модель DSSM (Deep Structured Semantic Model).
Рекомендательные системы
Презентация: (PDF, 0.8 МБ) — обновление 11.11.2020.
- Задачи коллаборативной фильтрации, транзакционные данные.
- Корреляционные методы user-based, item-based. Задача восстановления пропущенных значений. Меры сходства.
- Разреженная линейная модель (Sparse LInear Method, SLIM).
- Латентные методы на основе матричных разложений. Метод главных компонент для разреженных данных (LFM, Latent Factor Model). Метод стохастического градиента.
- Неотрицательные матричные разложения NNMF. Метод чередующихся наименьших квадратов ALS. Вероятностный латентный семантический анализ PLSA.
- Модель с учётом неявной информации (implicit feedback).
- Автокодировщики для коллаборативной фильтрации.
- Учёт дополнительных признаковых данных в матричных разложениях и автокодировщиках.
- Линейная и квадратичная регрессионные модели, libFM.
- Гиперграфовая транзакционная тематическая модель для учёта дополнительных данных.
- Измерение качества рекомендаций. Меры разнообразия (diversity), новизны (novelty), покрытия (coverage), догадливости (serendipity).
Прогнозирование временных рядов
Презентация: (PDF, 0,9 MБ) — обновление 14.12.2019.
- Задача прогнозирования временных рядов. Примеры приложений.
- Экспоненциальное скользящее среднее. Модель Хольта. Модель Тейла-Вейджа. Модель Хольта-Уинтерса.
- Адаптивная авторегрессионная модель.
- Следящий контрольный сигнал. Модель Тригга-Лича.
- Адаптивная селективная модель. Адаптивная композиция моделей.
- Локальная адаптация весов с регуляризацией.
Инкрементное и онлайновое обучение
Презентация: (PDF, 0,9 MБ) — обновление 02.12.2020.
- Задачи инкрементного и онлайнового обучения. Оценивание инкрементного обучения. Кривые обучения.
- Ленивое обучение (метрические и непараметрические методы). Онлайновый отбор эталонных объектов.
- Онлайновый наивный байесовский классификатор.
- Онлайновый градиентный спуск OGD. Алгоритм Perceptron. Алгоритм Passive-Aggressive.
- Рекуррентный метод наименьших квадратов RLS.
- Инкрементные решающие деревья ID5R.
- Онлайновое обучение ансамбля. Алгоритм Hedge, его свойства и интерпретация в задаче портфельного инвестирования.
- Онлайновое глубокое обучение. Алгоритм Hedge BackProp.
- Онлайновое обучение новым классам. Проблема катастрофического забывания. Алгоритм iCaRL.
Обучение с подкреплением
Презентация: (PDF, 1.9 МБ) — обновление 18.11.2020.
- Задача о многоруком бандите. Жадные и эпсилон-жадные стратегии. Метод UCB (upper confidence bound).
- Адаптивные стратегии на основе скользящих средних. Метод сравнения с подкреплением. Метод преследования.
- Постановка задачи в случае, когда агент влияет на среду. Ценность состояния среды. Ценность действия.
- Жадные стратегии максимизации ценности. Уравнения оптимальности Беллмана.
- Метод SARSA. Метод Q-обучения. Типизация методов на on-policy и off-policy.
- Глубокое Q-обучение нейронной сети DQN на примере обучения играм Atari.
- Градиентная оптимизация стратегии (policy gradient). Связь с максимизацией log-правдоподобия.
- Постановка задачи при моделировании среды. Типизация методов на model-free и model-based.
- Контекстный многорукий бандит. Линейная регрессионная модель с верхней доверительной оценкой LinUCB.
- Оценивание новой стратегии по большим историческим данным, сформированным при старых стратегиях.
Активное обучение
Презентация: (PDF, 1.2 МБ) — обновление 24.11.2020.
- Постановка задачи машинного обучения. Основные стратегии: отбор объектов из выборки и из потока, синтез объектов. Приложения активного обучения.
- Почему активное обучение быстрее пассивного. Оценивание качества активного обучения. Кривые обучения.
- Сэмплирование по неуверенности.
- Сэмплирование по несогласию в комитете. Сокращение пространства решений.
- Сэмплирование по ожидаемому изменению модели.
- Сэмплирование по ожидаемому сокращению ошибки.
- Синтез объектов методами безградиентной оптимизации. Метод Нелдера-Мида.
- Синтез объектов по критерию сокращения дисперсии.
- Взвешивание по плотности.
- Введение изучающих действий в стратегию активного обучении. Алгоритмы ε-active и EG-active.
- Использование активного обучения в краудсорсинге. Согласование оценок аннотаторов. Назначение заданий аннотаторам.
Заключительная лекция
Презентация: (PDF, 2.0 МБ) — обновление 14.12.2019.
Обзор курса. Оптимизационные задачи машинного обучения.
См. также
- Курс «Введение в машинное обучение», К.В.Воронцов (ВШЭ и Яндекс).Хабр об этом курсе.
- Специализация «Машинное обучение и анализ данных» (МФТИ и Яндекс). Хабр об этом курсе.
- Машинное обучение (семинары,ФУПМ МФТИ)
- Машинное обучение (семинары, ВМК МГУ)
- Машинное обучение (курс лекций, Н.Ю.Золотых)
- Машинное обучение (курс лекций, СГАУ, С.Лисицын)
Литература
- Hastie T., Tibshirani R., Friedman J. The Elements of Statistical Learning. Springer, 2014. — 739 p.
- Bishop C. M. Pattern Recognition and Machine Learning. — Springer, 2006. — 738 p.
- Мерков А. Б. Распознавание образов. Введение в методы статистического обучения. 2011. 256 с.
- Мерков А. Б. Распознавание образов. Построение и обучение вероятностных моделей. 2014. 238 с.
- Коэльо Л.П., Ричарт В. Построение систем машинного обучения на языке Python. 2016. 302 с.
Список подстраниц
Машинное обучение (курс лекций, К.В.Воронцов)/2009 | Машинное обучение (курс лекций, К.В.Воронцов)/ToDo | Машинное обучение (курс лекций, К.В.Воронцов)/Вопросы |
Машинное обучение (курс лекций, К.В.Воронцов)/Семестровый курс | Машинное обучение (курс лекций, К.В.Воронцов)/Форма отчета |