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

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

(Различия между версиями)
Перейти к: навигация, поиск
(+2 лекции. Перестановки из 2сем в 1сем)
(ансамбли, ранжирование)
Строка 202: Строка 202:
== Поиск ассоциативных правил ==
== Поиск ассоциативных правил ==
Презентация: [[Media:Voron-ML-AssocRules-slides.pdf|(PDF, 1.1 МБ)]] {{важно| — обновление 14.12.2019}}.
Презентация: [[Media:Voron-ML-AssocRules-slides.pdf|(PDF, 1.1 МБ)]] {{важно| — обновление 14.12.2019}}.
 +
* Понятие [[Ассоциативное правило|ассоциативного правила]] и его связь с понятием логической закономерности.
* Понятие [[Ассоциативное правило|ассоциативного правила]] и его связь с понятием логической закономерности.
* Примеры прикладных задач: [[анализ рыночных корзин]], выделение терминов и тематики текстов.
* Примеры прикладных задач: [[анализ рыночных корзин]], выделение терминов и тематики текстов.
Строка 208: Строка 209:
* Общее представление о динамических и иерархических методах поиска ассоциативных правил.
* Общее представление о динамических и иерархических методах поиска ассоциативных правил.
-
== Линейные композиции, бустинг ==
+
== Линейные ансамбли ==
Текст лекций: [[Media:Voron-ML-Compositions.pdf|(PDF,&nbsp;1&nbsp;MБ)]].<br/>
Текст лекций: [[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}}.
Презентация: [[Media:Voron-ML-Compositions-slides.pdf|(PDF,&nbsp;0.9&nbsp;МБ)]] {{важно|— обновление 14.12.2019}}.
-
* Основные понятия: [[базовый алгоритм]] ([[алгоритмический оператор]]), [[корректирующая операция]].
+
 
-
* [[Взвешенное голосование]].
+
* Основные понятия: [[базовый алгоритм]], [[корректирующая операция]].
-
* [[Алгоритм AdaBoost]]. Экспоненциальная аппроксимация пороговой функции потерь. Процесс последовательного обучения базовых алгоритмов. Теорема о сходимости [[бустинг]]а.
+
* [[Простое голосование]] (комитет большинства).
-
* Обобщающая способность бустинга.
+
* Стохастические методы: [[бэггинг]] и [[метод случайных подпространств]].
 +
* [[Случайный лес]] (Random Forest).
 +
* [[Взвешенное голосование]]. Преобразование простого голосования во взвешенное.
 +
* [[Алгоритм AdaBoost]]. Экспоненциальная аппроксимация пороговой функции потерь. Процесс последовательного обучения базовых алгоритмов. Теорема о сходимости [[бустинг]]а. Идентификация нетипичных объектов (выбросов).
 +
* Теоретические обоснования. Обобщающая способность бустинга. Анализ смещения и вариации для простого голосования.
* Базовые алгоритмы в бустинге. Решающие пни.
* Базовые алгоритмы в бустинге. Решающие пни.
-
* ''Варианты бустинга: [[GentleBoost]], [[LogitBoost]], [[BrownBoost]], и другие.''
+
* ''Варианты бустинга: [[Алгоритм AnyBoost]], [[GentleBoost]], [[LogitBoost]], [[BrownBoost]], и другие.''
-
* [[Градиентный бустинг]]. Стохастический градиентный бустинг.
+
* Сравнение бэггинга и бустинга.
-
* [[Алгоритм AnyBoost]].
+
* [[Алгоритм ComBoost]]. Обобщение на большое число классов.
-
* [[Алгоритм XGBoost]].
+
-
== Эвристические, стохастические, нелинейные композиции ==
+
== Продвинутые методы ансамблирования ==
Презентация: [[Media:Voron-ML-Compositions-slides2.pdf|(PDF,&nbsp;0.9&nbsp;МБ)]] {{важно|— обновление 14.12.2019}}.
Презентация: [[Media:Voron-ML-Compositions-slides2.pdf|(PDF,&nbsp;0.9&nbsp;МБ)]] {{важно|— обновление 14.12.2019}}.
-
* Стохастические методы: [[бэггинг]] и [[метод случайных подпространств]].
+
 
-
* [[Простое голосование]] (комитет большинства). Алгоритм ComBoost. Идентификация нетипичных объектов (выбросов).
+
* [[Градиентный бустинг]]. Стохастический градиентный бустинг.
-
* Преобразование простого голосования во взвешенное.
+
* [[Алгоритм XGBoost]].
-
* Обобщение на большое число классов.
+
* [[Алгоритм CatBoost]]. Обработка категориальных признаков.
-
* Случайный лес.
+
* [[Стэкинг]]. Линейный стэкинг, взвешенный по признакам.
-
* Анализ смещения и вариации для простого голосования.
+
* [[Смесь алгоритмов]] (квазилинейная композиция), [[область компетентности]], примеры функций компетентности.
* [[Смесь алгоритмов]] (квазилинейная композиция), [[область компетентности]], примеры функций компетентности.
* Выпуклые функции потерь. Методы построения смесей: последовательный и иерархический.
* Выпуклые функции потерь. Методы построения смесей: последовательный и иерархический.
Строка 295: Строка 298:
== Кластеризация и частичное обучение ==
== Кластеризация и частичное обучение ==
Презентация: [[Media:Voron-ML-Clustering-SSL-slides.pdf|(PDF,&nbsp;1,8&nbsp;МБ)]] {{важно|— обновление 14.12.2019}}.
Презентация: [[Media:Voron-ML-Clustering-SSL-slides.pdf|(PDF,&nbsp;1,8&nbsp;МБ)]] {{важно|— обновление 14.12.2019}}.
 +
* Постановка задачи [[кластеризация|кластеризации]]. Примеры прикладных задач. Типы кластерных структур.
* Постановка задачи [[кластеризация|кластеризации]]. Примеры прикладных задач. Типы кластерных структур.
* Постановка задачи Semisupervised Learning, примеры приложений.
* Постановка задачи Semisupervised Learning, примеры приложений.
Строка 321: Строка 325:
== Нейронные сети глубокого обучения ==
== Нейронные сети глубокого обучения ==
Презентация: [[Media:Voron-ML-DeepLearning-slides.pdf|(PDF,&nbsp;3,4&nbsp;МБ)]] {{важно|— обновление 14.12.2019}}.
Презентация: [[Media:Voron-ML-DeepLearning-slides.pdf|(PDF,&nbsp;3,4&nbsp;МБ)]] {{важно|— обновление 14.12.2019}}.
 +
* Свёрточные нейронные сети (CNN) для изображений. Свёрточный нейрон. Pooling нейрон. Выборка размеченных изображений ImageNet.
* Свёрточные нейронные сети (CNN) для изображений. Свёрточный нейрон. Pooling нейрон. Выборка размеченных изображений ImageNet.
* Свёрточные сети для сигналов, текстов, графов, игр.
* Свёрточные сети для сигналов, текстов, графов, игр.
Строка 333: Строка 338:
== Нейронные сети с обучением без учителя ==
== Нейронные сети с обучением без учителя ==
Презентация: [[Media:Voron-ML-ANN-Unsupervised-slides.pdf|(PDF,&nbsp;2,3&nbsp;МБ)]] {{важно|— обновление 03.10.2020}}.
Презентация: [[Media:Voron-ML-ANN-Unsupervised-slides.pdf|(PDF,&nbsp;2,3&nbsp;МБ)]] {{важно|— обновление 03.10.2020}}.
 +
* [[Нейронная сеть Кохонена]]. [[Конкурентное обучение]], стратегии WTA и WTM.
* [[Нейронная сеть Кохонена]]. [[Конкурентное обучение]], стратегии WTA и WTM.
* [[Самоорганизующаяся карта Кохонена]]. Применение для визуального анализа данных. Искусство интерпретации карт Кохонена.
* [[Самоорганизующаяся карта Кохонена]]. Применение для визуального анализа данных. Искусство интерпретации карт Кохонена.
Строка 346: Строка 352:
== Векторные представления текстов и графов ==
== Векторные представления текстов и графов ==
Презентация: [[Media:Voron-ML-Embeddings-slides.pdf|(PDF,&nbsp;1,3&nbsp;МБ)]] {{важно|— обновление 14.10.2020}}.
Презентация: [[Media:Voron-ML-Embeddings-slides.pdf|(PDF,&nbsp;1,3&nbsp;МБ)]] {{важно|— обновление 14.10.2020}}.
 +
* Векторные представления текста. Гипотеза дистрибутивной семантики.
* Векторные представления текста. Гипотеза дистрибутивной семантики.
* Модели [[word2vec]], [[FastText]].
* Модели [[word2vec]], [[FastText]].
Строка 366: Строка 373:
== Ранжирование ==
== Ранжирование ==
-
Презентация: [[Media:Voron-ML-Ranking-slides.pdf|(PDF,&nbsp;0,5&nbsp;МБ)]] {{важно|— обновление 14.12.2019}}.
+
Презентация: [[Media:Voron-ML-Ranking-slides.pdf|(PDF,&nbsp;0,8&nbsp;МБ)]] {{важно|— обновление 3.11.2020}}.
* Постановка задачи [[Обучение ранжированию|обучения ранжированию]]. Примеры.
* Постановка задачи [[Обучение ранжированию|обучения ранжированию]]. Примеры.
-
* Признаки в задаче ранжирования поисковой выдачи: текстовые, ссылочные, кликовые. [[TF-IDF]]. [[PageRank]].
+
* Поточечные методы Ранговая регрессия. Ранговая классификация, OC-SVM.
 +
* Попарные методы: RankingSVM, RankNet, LambdaRank.
 +
* Списочные методы.
 +
* Признаки в задаче ранжирования поисковой выдачи: текстовые, ссылочные, кликовые. [[TF-IDF]], [[Okapi BM25]], [[PageRank]].
* Критерии качества ранжирования: Precision, MAP, AUC, DCG, NDCG, pFound.
* Критерии качества ранжирования: Precision, MAP, AUC, DCG, NDCG, pFound.
-
* Ранговая классификация, OC-SVM.
+
* Глубокая структурированная семантическая модель [[DSSM]] (Deep Structured Semantic Model).
-
* Попарный подход: RankingSVM, RankNet, LambdaRank.
+
== Рекомендательные системы ==
== Рекомендательные системы ==

Версия 23:21, 6 ноября 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 МБ) — обновление 25.10.2020.

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

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

Факультатив

  • Асимптотическая эквивалентность статистического и энтропийного критерия информативности.

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

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

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

Линейные ансамбли

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

Продвинутые методы ансамблирования

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

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

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

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

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

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

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

Презентация: (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, 1,1 МБ) — обновление 7.11.2020.

  • Задачи обработки последовательностей.
  • Рекуррентная сеть с моделью внимания. Разновидности моделей внимания.
  • Критерии обучения и оценивание качества (предобучение).
  • Прикладные задачи: машинный перевод, аннотирование изображений (эквивалентность MHSA и CNN).
  • Модели внимания на графах.
  • Трансформеры для текстов, изображений, графов.

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

Презентация: (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 МБ) — обновление 14.12.2019.

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

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

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

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

Инкрементное и онлайновое обучение

(в разработке...)

  • Отличия инкрементного и онлайнового обучения.
  • Добавление новых объектов. Ленивое обучение: kNN, парзеновские методы. Метод наименьших квадратов для линейной регрессии. Решающие деревья и леса.
  • Добавление новых признаков. Матричные разложения.
  • Добавление новых классов.
  • Оценивание инкрементного обучения. Кривые обучения.

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

Презентация: (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Машинное обучение (курс лекций, К.В.Воронцов)/Вопросы
Машинное обучение (курс лекций, К.В.Воронцов)/Семестровый курсМашинное обучение (курс лекций, К.В.Воронцов)/Форма отчета
Личные инструменты