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

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

(Различия между версиями)
Перейти к: навигация, поиск
(ссылки, ссылки, ссылки, ссылки, ссылки)
 
(447 промежуточных версий не показаны.)
Строка 1: Строка 1:
{{TOCright}}
{{TOCright}}
-
'''Машинное обучение''' возникло на стыке [[Прикладная статистика|прикладной статистики]], [[Методы оптимизации|оптимизации]], [[Дискретный анализ|дискретного анализа]], и за последние 30 лет оформилось в самостоятельную математическую дисциплину. Методы [[Машинное обучение|машинного обучения]] составляют основу ещё более молодой дисциплины — ''[[Интеллектуальный анализ данных|интеллектуального анализа данных]]'' (data mining).
+
'''Машинное обучение''' (machine learning) находится на стыке [[Прикладная статистика|прикладной статистики]], [[Методы оптимизации|численных методов оптимизации]], [[Дискретный анализ|дискретного анализа]], и за последние 60 лет оформилась в самостоятельную математическую и инженерную дисциплину.
-
В курсе рассматриваются основные задачи обучения по прецедентам: [[классификация]], [[кластеризация]], [[регрессия]], [[понижение размерности]]. Изучаются методы их решения, как классические, так и новые, созданные за последние 10–15 лет. Упор делается на глубокое понимание математических основ, взаимосвязей, достоинств и ограничений рассматриваемых методов. Отдельные теоремы приводятся с доказательствами.
+
В курсе рассматриваются основные задачи обучения по прецедентам: [[классификация]], [[кластеризация]], [[регрессия]], [[понижение размерности]]. Изучаются методы их решения, как классические, так и новые, созданные за последние 10–15 лет. Упор делается на глубокое понимание математических основ, взаимосвязей, достоинств и ограничений рассматриваемых методов. Теоремы в основном приводятся без доказательств.
Все методы излагаются по единой схеме:
Все методы излагаются по единой схеме:
Строка 10: Строка 10:
* анализ достоинств, недостатков и границ применимости;
* анализ достоинств, недостатков и границ применимости;
* пути устранения недостатков;
* пути устранения недостатков;
-
* сравнение с другими методами;
+
* сравнение и взаимосвязи с другими методами.
* примеры прикладных задач.
* примеры прикладных задач.
-
Данный курс существенно расширяет и углубляет набор тем, рекомендованный международным стандартом '''ACM/IEEE Computing Curricula 2001''' по дисциплине «Машинное обучение и нейронные сети» (machine learning and neural networks) в разделе «Интеллектуальные системы» (intelligent systems).
+
На семинарах разбираются дополнительные примеры, аспекты практического применения, работа с данными, программирование, проведение вычислительных экспериментов.
 +
<!---
 +
Данный курс расширяет и углубляет набор тем, рекомендованный международным стандартом '''ACM/IEEE Computing Curricula 2001''' по дисциплине «Машинное обучение и нейронные сети» (machine learning and neural networks) в разделе «Интеллектуальные системы» (intelligent systems). --->
-
Курс читается студентам 3 курса кафедры [[Интеллектуальные системы (кафедра МФТИ)|«Интеллектуальные системы / интеллектуальный анализ данных» ФУПМ МФТИ]] с 2004 года и студентам 3 курса кафедры [[Математические методы прогнозирования (кафедра ВМиК МГУ)|«Математические методы прогнозирования» ВМиК МГУ]] с 2007 года.
+
Курс читается
-
На материал данного курса существенно опираются последующие курсы, читаемые студентам на этих кафедрах.
+
* студентам 3 курса кафедры [[Интеллектуальные системы (кафедра МФТИ)|«Интеллектуальные системы / интеллектуальный анализ данных» ФУПМ МФТИ]] с 2004 года;
 +
* студентам 3 курса кафедры [[Математические методы прогнозирования (кафедра ВМиК МГУ)|«Математические методы прогнозирования» ВМиК МГУ]] с 2007 года;
 +
* студентам [[Школа анализа данных Яндекса|Школы анализа данных Яндекса]] с 2009 года.
-
От студентов требуются знания курсов линейной алгебры, математического анализа, теории вероятностей. Знание [[Математическая статистика|математической статистики]], [[Методы оптимизации|методов оптимизации]] и какого-либо языка программирования желательно, но не обязательно.
+
От студентов требуются знания курсов линейной алгебры, математического анализа, теории вероятностей, языка программирования [[Python]]. Знание [[Математическая статистика|математической статистики]], [[Методы оптимизации|методов оптимизации]] желательно, но не обязательно.
-
== Первый семестр ==
+
<!---На материал данного курса опираются последующие кафедральные курсы.
 +
На&nbsp;кафедре ММП ВМиК МГУ параллельно с данным курсом и в&nbsp;дополнение к&nbsp;нему читается спецкурс [[Теория надёжности обучения по прецедентам (курс лекций, К. В. Воронцов)|Теория надёжности обучения по прецедентам]], посвящённый проблемам [[Переобучение|переобучения]] и оценивания [[Обобщающая способность|обобщающей способности]]. --->
 +
''Курсивом'' выделен дополнительный материал, который может разбираться на семинарах.
-
=== Лекция 1. Вводная лекция ===
+
'''Замечания для студентов'''
-
* Постановка задач обучения по прецедентам. Объекты и признаки. Типы шкал: бинарные, номинальные, порядковые, количественные.
+
-
* Типы задач: [[классификация]], [[распознавание]], [[кластеризация]], [[прогнозирование]]. Примеры прикладных задач.
+
-
* Основные понятия: [[модель алгоритмов]], [[метод обучения]], [[функция потерь]] и функционал качества, [[принцип минимизации эмпирического риска]], [[обобщающая способность]], [[скользящий контроль]].
+
-
* Вероятностная постановка задачи и [[принцип максимума правдоподобия]].
+
-
=== Лекция 2. Байесовские алгоритмы классификации ===
+
* [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 год}}
-
* Функционал среднего риска. Ошибки I и II рода.
+
* [https://www.coursera.org/learn/vvedenie-mashinnoe-obuchenie «Введение в машинное обучение» на Курсэре] содержит примерно втрое меньше материала, чем в годовом курсе, представленном на этой странице. Там очень многое упрощено, спрятано, пропущено. Действительно введение.
-
* Теорема об оптимальности байесовского решающего правила.
+
* На подстранице имеется перечень [[Машинное обучение (курс лекций, К.В.Воронцов)/Вопросы|вопросов к устному экзамену]]. Очень помогает при подготовке к устному экзамену!
-
* [[Оценивание плотности распределения]]: три основных подхода.
+
* О найденных ошибках и опечатках [[Служебная:EmailUser/Vokov|сообщайте мне]]. —&nbsp;''[[Участник:Vokov|К.В.Воронцов]] 18:24, 19 января 2009 (MSK)''
-
* [[Наивный байесовский классификатор]].
+
* Материал, который есть в pdf-тексте, но не рассказывался на лекциях, обычно не входит в программу экзамена.
-
* Непараметрическое оценивание плотности распределения по Парзену-Розенблатту. Выбор функции ядра. Выбор ширины окна, переменная ширина окна. Робастное оценивание плотности. [[Метод парзеновского окна]].
+
* Короткая ссылка на эту страницу: [https://bit.ly/ML-Vorontsov bit.ly/ML-Vorontsov].
-
=== Лекция 3. Параметрическое оценивание плотности ===
+
= Семестр 1. Математические основы машинного обучения =
-
* [[Нормальный дискриминантный анализ]]. [[Многомерное нормальное распределение]], геометрическая интерпретация. Выборочные оценки параметров многомерного нормального распределения.
+
-
* [[Квадратичный дискриминант]]. Вид разделяющей поверхности. [[Подстановочный алгоритм]], его недостатки и способы их устранения.
+
-
* [[Линейный дискриминант Фишера]].
+
-
* Проблемы [[мультиколлинеарность|мультиколлинеарности]] и [[переобучение|переобучения]]. [[Регуляризация]] ковариационной матрицы. [[Метод редукции размерности]] Шурыгина. Робастное оценивание.
+
-
* Факультатив/семинар: матричное дифференцирование.
+
-
=== Лекция 4. Разделение смеси распределений ===
+
'''Текст лекций:''' [[Media:Voron-ML-1.pdf|(PDF,&nbsp;3&nbsp;МБ)]] {{важно|— обновление 4.10.2011}}.
-
* [[Смесь распределений]].
+
-
* [[EM-алгоритм]]: основная идея, понятие скрытых переменных. «Вывод» алгоритма без обоснования сходимости. Псевдокод EM-алгоритма. Критерий останова. Выбор начального приближения. Выбор числа компонентов смеси.
+
-
* Стохастический EM-алгоритм.
+
-
* Смесь многомерных нормальных распределений. [[Сеть радиальных базисных функций]] (RBF) и применение EM-алгоритма для её настройки.
+
-
=== Лекция 5. Метрические алгоритмы классификации ===
+
== Основные понятия и примеры прикладных задач ==
-
* [[Метод ближайших соседей]] (''k''NN) и его обобщения.
+
Презентация: [[Media:Voron-ML-Intro-slides.pdf|(PDF,&nbsp;1,7&nbsp;МБ)]] {{важно|— обновление 13.09.2024}}.
-
* Подбор числа ''k'' по критерию скользящего контроля.
+
Видеозапись: [https://youtu.be/uLduOFhyCUw?list=PLk4h7dmY2eYH8dtnVUD51XylWpFYDcPKy&t=1437 Лекция] [https://youtu.be/bJVI5AIback Семинар]
-
* Обобщённый [[метрический классификатор]].
+
* Постановка задач обучения по прецедентам. Объекты и признаки. Типы шкал: бинарные, номинальные, порядковые, количественные.
-
* [[Метод потенциальных функций]], градиентный алгоритм.
+
* Типы задач: [[классификация]], [[регрессия]], [[прогнозирование]], [[ранжирование]].
-
* Настройка весов объектов. Отбор эталонных объектов. Псевдокод: [[алгоритм СТОЛП]].
+
* Основные понятия: [[модель алгоритмов]], [[метод обучения]], [[функция потерь]] и функционал качества, [[принцип минимизации эмпирического риска]], [[обобщающая способность]], [[скользящий контроль]].
-
* [[Проклятие размерности]]. Настройка весов признаков.
+
* Линейные модели регрессии и классификации. Метод наименьших квадратов. Полиномиальная регрессия.
-
* Концепция [[CBR]].
+
* Примеры прикладных задач.
 +
* Задачи со сложно структурированными данными. Преобразование и генерация признаков.
 +
* Методика экспериментального исследования и сравнения алгоритмов на модельных и реальных данных.
 +
* Конкурсы по анализу данных [http://kaggle.com kaggle.com]. [[Полигон алгоритмов классификации]].
 +
* [[CRISP-DM]] — межотраслевой стандарт ведения проектов [[Data Mining | интеллектуального анализа данных]].
-
=== Лекция 6. Кластеризация ===
+
== Линейный классификатор и стохастический градиент ==
-
* Постановка задачи [[кластеризация|кластеризации]]. Примеры прикладных задач.
+
Презентация: [[Media:Voron-ML-Lin-SG.pdf|(PDF,&nbsp;1,2&nbsp;МБ)]] {{важно|— обновление 13.09.2024}}.
-
* [[Графовые алгоритмы кластеризации]]. Алгоритм связных компонент.
+
Видеозапись: [https://youtu.be/YaJ-QfSHl3o?list=PLk4h7dmY2eYH8dtnVUD51XylWpFYDcPKy&t=37 Лекция] [https://youtu.be/-4pPz5kX4XQ Семинар]
-
* Псевдокод алгоритма: [[кратчайший незамкнутый путь]].
+
* [[Линейный классификатор]], модель МакКаллока-Питтса, непрерывные аппроксимации пороговой функции потерь.
-
* Псевдокод алгоритма: [[ФОРЭЛ]].
+
* Бинарная классификация и многоклассовая классификация.
-
* Функционалы качества кластеризации.
+
* [[Метод стохастического градиента]] SG.
-
* Статистические алгоритмы: [[EM-алгоритм]]. Псевдокод алгоритма [[k-means]].
+
<!--
 +
* [[Метод стохастического среднего градиента]] SAG.
 +
* Частные случаи: [[адаптивный линейный элемент]] ADALINE, [[перcептрон Розенблатта]], [[правило Хэбба]].
 +
* [[Теорема Новикова]] о сходимости. Доказательство теоремы Новикова
 +
-->
 +
* Эвристики: инерция и ускоренный градиент, инициализация весов, порядок предъявления объектов, выбор величины градиентного шага, «выбивание» из локальных минимумов.
 +
* Проблема мультиколлинеарности и переобучения, регуляризация или [[редукция весов]] (weight decay).
 +
* Вероятностная постановка задачи классификации. Принцип максимума правдоподобия.
 +
* Вероятностная интерпретация регуляризации, совместное правдоподобие данных и модели. Принцип максимума апостериорной вероятности.
 +
* Гауссовский и лапласовский регуляризаторы.
 +
* [[Логистическая регрессия]]. Принцип максимума правдоподобия и логарифмическая функция потерь. [[Метод стохастического градиента]] для логарифмической функции потерь. Многоклассовая логистическая регрессия. Регуляризованная логистическая регрессия.
 +
<!--
 +
* [[Калибровка Платта]].
 +
* Функции потерь, зависящие от цены ошибок. [[Кривая ошибок]] (ROC curve). Алгоритм эффективного построения ROC-кривой.
 +
* Градиентный метод максимизации AUC.
 +
-->
-
=== Лекция 7. Иерерхическая кластеризация и многомерное шкалирование ===
+
== Нейронные сети: градиентные методы оптимизации ==
-
* Псевдокод алгоритма: [[агломеративная кластеризация]]. [[Формула Ланса-Вильямса]].
+
Презентация: [[Media:Voron-ML-ANN-slides.pdf|(PDF,&nbsp;1,5&nbsp;МБ)]] {{важно|— обновление 20.09.2024}}.
-
* Алгоритм построения [[дендрограмма|дендрограммы]]. Определение числа кластеров.
+
Видеозапись: [https://youtu.be/g5B-OiSb9EQ?list=PLk4h7dmY2eYH8dtnVUD51XylWpFYDcPKy Лекция] [https://youtu.be/6AyE5bzFWQs Семинар]
-
* Свойства сжатия/растяжения, монотонности и редуктивности. Псевдокод редуктивной версии алгоритма.
+
* Биологический нейрон, [[модель МакКаллока-Питтса]] как [[линейный классификатор]]. Функции активации.
-
Потоковые (субквадратичные) алгоритмы кластеризации.
+
* Проблема полноты. [[Задача исключающего или]]. Полнота двухслойных сетей в пространстве булевых функций.
-
* [[Многомерное шкалирование]]. Размещение одной точки методом Ньютона-Рафсона. Субквадратичный алгоритм.
+
<!--* ''Теоремы Колмогорова, Стоуна, Горбаня (без доказательства).''-->
-
* Визуализация: [[карта сходства]], [[диаграмма Шепарда]].
+
* [[Алгоритм обратного распространения ошибок]].
-
* Совмещение многомерного шкалирования и иерархической кластеризации.
+
* Быстрые методы стохастического градиента: Поляка, Нестерова, AdaGrad, RMSProp, AdaDelta, Adam, Nadam, [[диагональный метод Левенберга-Марквардта]].
-
* Примеры прикладных задач.
+
* Проблема взрыва градиента и эвристика gradient clipping.
 +
* Метод случайных отключений нейронов (Dropout). Интерпретации Dropout. Обратный Dropout и L2-регуляризация.
 +
* Функции активации ReLU и PReLU. Проблема [[паралич сети|«паралича» сети]].
 +
* Эвристики для формирования начального приближения. Метод послойной настройки сети.
 +
* Подбор структуры сети: методы постепенного усложнения сети, [[оптимальное прореживание нейронных сетей]] (optimal brain damage).
-
=== Лекция 8. Непараметрическая регрессия ===
+
== Метрические методы классификации и регрессии ==
-
* Локально взвешенный [[метод наименьших квадратов]] и [[оценка Надарая-Ватсона]].
+
Презентация: [[Media:Voron-ML-Metric-slides.pdf|(PDF,&nbsp;3,9&nbsp;МБ)]] {{важно|— обновление 03.10.2024}}.
-
* [[Сглаживание]].
+
Видеозапись: [https://youtu.be/-HBRFLcEk0U?list=PLk4h7dmY2eYH8dtnVUD51XylWpFYDcPKy Лекция] [https://youtu.be/BlPOOpFhhQE Семинар]
-
* Выбор функции ядра. Выбор ширины окна сглаживания. Сглаживание с переменной шириной окна.
+
* Гипотезы компактности и непрерывности.
-
* Проблема выбросов и робастная непараметрическая регрессия. Псевдокод: [[алгоритм LOWESS]].
+
* Обобщённый [[метрический классификатор]].
-
* Проблема «проклятия размерности» и проблема выбора метрики.
+
* [[Метод ближайших соседей]] ''k''NN и его обобщения. Подбор числа ''k'' по критерию скользящего контроля.
 +
* [[Метод окна Парзена]] с постоянной и переменной шириной окна.
 +
* [[Метод потенциальных функций]] и его связь с линейной моделью классификации.
 +
* Задача отбора эталонов. [[Полный скользящий контроль]] (CCV), формула быстрого вычисления для метода 1NN. [[Профиль компактности]].
 +
* Отбор эталонных объектов на основе минимизации функционала полного скользящего контроля.
 +
* Непараметрическая регрессия. Локально взвешенный [[метод наименьших квадратов]]. [[Ядерное сглаживание]].
 +
* [[Оценка Надарая-Ватсона]] с постоянной и переменной шириной окна. Выбор функции ядра и ширины окна сглаживания.
 +
* Задача отсева выбросов. Робастная непараметрическая регрессия. [[Алгоритм LOWESS]].
 +
<!--
 +
* ''[[Функция конкурентного сходства]], [[алгоритм FRiS-СТОЛП]]''.
 +
* ''Эффективные структуры данных для быстрого поиска ближайших объектов в прямых и обратных окрестностях — [[метрические деревья]].''
 +
* ''Понятие [[отступ]]а. [[Алгоритм СТОЛП]].''
 +
* ''Задача отбора признаков. Жадный алгоритм построения метрики.''
 +
* ''Концепция вывода на основе прецедентов ([[CBR]]).''
 +
-->
-
=== Лекция 9. Многомерная линейная регрессия ===
+
== Метод опорных векторов ==
 +
Презентация: [[Media:Voron-ML-Lin-SVM.pdf|(PDF,&nbsp;1,3&nbsp;МБ)]] {{важно|— обновление 3.10.2024}}.
 +
Видеозапись: [https://youtu.be/AjIM8f8XgM8?list=PLk4h7dmY2eYH8dtnVUD51XylWpFYDcPKy&t=34 Лекция] [https://youtu.be/Y--tUWQ5JaY Семинар]
 +
* Оптимальная разделяющая гиперплоскость. Понятие [[зазор]]а между классами (margin).
 +
* Случаи линейной разделимости и отсутствия линейной разделимости. Связь с минимизацией регуляризованного эмпирического риска. Кусочно-линейная функция потерь.
 +
* Задача квадратичного программирования и двойственная задача. Понятие [[Опорный вектор|опорных векторов]].
 +
* Рекомендации по выбору константы&nbsp;''C''.
 +
* [[Функция ядра]] (kernel functions), [[спрямляющее пространство]], [[теорема Мерсера]].
 +
* Способы конструктивного построения ядер. Примеры ядер.
 +
* SVM-регрессия.
 +
* Регуляризации для отбора признаков: [[LASSO SVM]], [[Elastic Net SVM]], [[SFM]], [[RFM]].
 +
* Метод релевантных векторов [[RVM]]
 +
<!---
 +
* ''Обучение SVM методом активных ограничений. [[Алгоритм INCAS]]. [[Алгоритм SMO]].''
 +
* ''ню-SVM.''
 +
--->
 +
 
 +
== Линейные модели регрессии ==
 +
Презентация: [[Media:Voron-ML-regression-slides.pdf|(PDF,&nbsp;1,1&nbsp;MБ)]] {{важно|— обновление 11.10.2024}}.
 +
Видеозапись: [https://youtu.be/23F9RRazGzQ?list=PLk4h7dmY2eYH8dtnVUD51XylWpFYDcPKy&t=10 Лекция] [https://youtu.be/t5imStVGC7Y Семинар]
* Задача регрессии, [[многомерная линейная регрессия]].
* Задача регрессии, [[многомерная линейная регрессия]].
-
* [[Метод наименьших квадратов]]. [[Сингулярное разложение]].
+
* [[Метод наименьших квадратов]], его вероятностный смысл и геометрический смысл.
 +
* [[Сингулярное разложение]].
* Проблемы [[мультиколлинеарность|мультиколлинеарности]] и [[переобучение|переобучения]].
* Проблемы [[мультиколлинеарность|мультиколлинеарности]] и [[переобучение|переобучения]].
-
* [[Регуляризация]]. [[Гребневая регрессия]]. [[Лассо Тибширани]]. Линейная монотонная регрессия (симплекс-метод).
+
* [[Регуляризация]]. [[Гребневая регрессия]] через сингулярное разложение.
-
* Линейные преобразования признакового пространства. [[Метод главных компонент]] и [[декоррелирующее преобразование]] Карунена-Лоэва.
+
* Методы отбора признаков: [[Лассо Тибширани]], [[Elastic Net]], сравнение с гребневой регрессией.
-
* [[Робастная регрессия]].
+
* [[Метод главных компонент]] и [[декоррелирующее преобразование]] Карунена-Лоэва, его связь с сингулярным разложением.
-
 
+
* Спектральный подход к решению задачи наименьших квадратов.
-
=== Лекция 10. Шаговая регрессия ===
+
* Задачи и методы низкоранговых матричных разложений.
 +
<!---
 +
=== Шаговая регрессия ===
* [[Модифицированная ортогонализация Грама-Шмидта]], достоинства и недостатки.
* [[Модифицированная ортогонализация Грама-Шмидта]], достоинства и недостатки.
* [[Отбор признаков]] в процессе ортогонализации, критерии выбора и останова.
* [[Отбор признаков]] в процессе ортогонализации, критерии выбора и останова.
-
* [[Метод наименьших углов]], его связь с лассо и шаговой регрессией.
+
* [[Метод наименьших углов]] (LARS), его связь с лассо и шаговой регрессией.
 +
-->
-
=== Лекция 11. Нелинейная параметрическая регрессия ===
+
== Нелинейная регрессия ==
 +
Презентация: [[Media:Voron-ML-regress-non-slides.pdf|(PDF,&nbsp;0,8&nbsp;MБ)]] {{важно|— обновление 24.10.2024}}.
 +
Видеозапись: [https://youtu.be/B1GSBTmZh9s?list=PLk4h7dmY2eYH8dtnVUD51XylWpFYDcPKy Лекция] [https://youtu.be/WhQT3J1PJfI Семинар]
* [[Метод Ньютона-Рафсона]], [[метод Ньютона-Гаусса]].
* [[Метод Ньютона-Рафсона]], [[метод Ньютона-Гаусса]].
-
* Одномерные нелинейные преобразования признаков: [[метод обратной настройки]] (backfitting) Хасти-Тибширани.
+
* Обобщённая аддитивная модель (GAM): [[метод настройки с возвращениями]] (backfitting) Хасти-Тибширани.
-
* [[Обобщённая линейная модель]] (GLM).
+
* [[Логистическая регрессия]]. [[Метод наименьших квадратов с итеративным пересчётом весов]] (IRLS). Пример прикладной задачи: кредитный скоринг. Бинаризация признаков. Скоринговые карты и оценивание вероятности дефолта. ''Риск кредитного портфеля банка.''
-
* Неквадратичные функции потерь, примеры прикладных задач.
+
* [[Обобщённая линейная модель]] (GLM). Экспоненциальное семейство распределений.
 +
* Неквадратичные функции потерь. Метод наименьших модулей. Квантильная регрессия. Пример прикладной задачи: прогнозирование потребительского спроса.
 +
* Робастная регрессия, функции потерь с горизонтальными асимптотами.
-
=== Лекция 12. Логистическая регрессия ===
+
== Качество классификации и отбор признаков ==
-
* [[Линейный классификатор]]. «Наивное» сведение задачи классификации к задаче регрессии, его недостатки.
+
Текст лекций: [[Media:Voron-ML-Modeling.pdf|(PDF,&nbsp;330&nbsp;КБ)]].<br/>
-
* Гладкие аппроксимации пороговой функции потерь.
+
Презентация: [[Media:Voron-ML-Quality-slides.pdf|(PDF,&nbsp;1,6&nbsp;МБ)]] {{важно|— обновление 24.10.2024}}.
-
* Обоснование [[Логистическая регрессия|логистической регрессии]]: теорема об экспонентных плотностях.
+
Видеозапись: [https://youtu.be/AMcg9YBseSI?list=PLk4h7dmY2eYH8dtnVUD51XylWpFYDcPKy Лекция] [https://youtu.be/fdb_cmG6hl8 Семинар]
-
* [[Метод наименьших квадратов с итеративным пересчетом весов]] (IRLS).
+
* Критерии качества классификации: чувствительность и специфичность, ROC-кривая и AUC, точность и полнота, AUC-PR.
-
* Настройка порога решающего правила по критерию числа ошибок I и II рода, [[кривая ошибок]] (lift curve), отказы от классификации.
+
* Внутренние и [[внешние критерии]]. Эмпирические и аналитические критерии.
-
* Пример прикладной задачи: кредитный скоринг и скоринговые карты.
+
* [[Скользящий контроль]], разновидности эмпирических оценок скользящего контроля. [[Критерий непротиворечивости]].
 +
* Разновидности аналитических оценок. [[Регуляризация]]. [[Критерий Акаике]] (AIC). [[Байесовский информационный критерий]] (BIC). Оценка Вапника-Червоненкиса.
 +
* Сложность задачи [[отбор признаков|отбора признаков]]. [[Полный перебор]].
 +
* [[Метод добавления и удаления]], шаговая регрессия.
 +
* [[Поиск в глубину]], метод ветвей и границ.
 +
* Усечённый [[поиск в ширину]], [[многорядный итерационный алгоритм МГУА]].
 +
* [[Генетический алгоритм]], его сходство с МГУА.
 +
* [[Случайный поиск]] и [[Случайный поиск с адаптацией]] (СПА).
 +
<!---
 +
* ''Агрегированные и многоступенчатые критерии''.
 +
* ''Статистические критерии: [[коэффициент детерминации]], [[критерий Фишера]], [[анализ регрессионных остатков]].''
 +
== Теория обобщающей способности ==
 +
* [[Теория Вапника-Червоненкиса]]. Функционал равномерного отклонения частот ошибок. [[Функция роста]], [[ёмкость]] семейства алгоритмов. [[Структурная минимизация риска]].
 +
* ''Оценка «бритвы Оккама»''.
 +
* ''[[Радемахеровская сложность]] семейства алгоритмов.''
 +
* [[Комбинаторная теория переобучения (виртуальный семинар)|Комбинаторная теория переобучения]]. Функционал вероятности переобучения. Граф расслоения-связности. Оценки расслоения-связности.
 +
--->
-
=== Лекция 13. Элементы теории обобщающей способности ===
+
== Логические методы классификации ==
-
* [[Принцип равномерной сходимости]]. [[Скользящий контроль]]. [[Теория Вапника-Червоненкиса]].
+
Текст лекций: [[Media:Voron-ML-Logic.pdf|(PDF,&nbsp;625&nbsp;КБ)]].<br/>
-
* [[Функция роста]] и [[ёмкость]].
+
Презентация: [[Media:Voron-ML-Logic-slides.pdf|(PDF,&nbsp;1.3&nbsp;МБ)]] {{важно| — обновление 03.11.2024}}.
-
* Ёмкость некоторых семейств алгоритмов.
+
Видеозапись: [https://www.youtube.com/watch?v=M1z7d1ksbA8&list=PLk4h7dmY2eYH8dtnVUD51XylWpFYDcPKy Лекция] <!--[https://youtu.be/OP2rsn478Fk 2020]-->
-
* [[Метод структурной минимизации риска]].
+
[https://youtu.be/Ap55F1IoTfk Семинар]
-
* [[Принцип минимума длины описания]].
+
* [[Решающее дерево]]. Жадная нисходящая стратегия «разделяй и властвуй». [[Алгоритм ID3]]. Недостатки жадной стратегии и способы их устранения. Проблема переобучения.
-
* Достаточная длина обучающей выборки.
+
* Вывод критериев ветвления. Мера нечистоты (impurity) распределения. Энтропийный критерий, критерий Джини.
-
* Причины завышенности оценок Вапника-Червоненкиса.
+
* [[Редукция решающих деревьев]]: [[предредукция]] и [[постредукция]]. [[Алгоритм C4.5]].
-
* Эффекты локализации (расслоения) семейства алгоритмов и различности алгоритмов.
+
* Деревья регрессии. [[Алгоритм CART]].
-
* Оценки, зависящие от данных. Оценки, зависящие от отступов. Принцип самоограничения сложности. Понятие стабильности обучения.
+
* Понятие [[логическая закономерность|логической закономерности]].
-
* Эмпирическое оценивание обобщающей способности. Анализ вариации и смещения.
+
* Параметрические семейства закономерностей: конъюнкции пороговых правил, синдромные правила, шары, гиперплоскости.
 +
* Преобразование решающего дерева в покрывающий набор конъюнкций.
 +
* Переборные алгоритмы синтеза конъюнкций: [[стохастический локальный поиск]], [[стабилизация]], [[редукция]].
 +
* Двухкритериальный отбор информативных закономерностей, парето-оптимальный фронт в (p,n)-пространстве.
 +
* Статистический критерий информативности, [[точный тест Фишера]]. Сравнение областей эвристических и статистических закономерностей. Разнообразие критериев информативности в (p,n)-пространстве.
 +
* [[Решающий список]] (decision list). Жадный алгоритм синтеза списка.
 +
* [[Небрежные решающие деревья]] (oblivious decision tree).
 +
* Решающий пень (decision stump). [[Бинаризация признаков]]. Алгоритм разбиения области значений признака на информативные зоны.
 +
<!---
 +
'''Факультатив'''
 +
* Асимптотическая эквивалентность статистического и энтропийного критерия информативности.
 +
--->
-
=== Лекция 14. Оценивание и выбор моделей ===
+
== Линейные ансамбли ==
-
* Внутренние и [[внешние критерии]].
+
Текст лекций: [[Media:Voron-ML-Compositions.pdf|(PDF,&nbsp;1&nbsp;MБ)]].<br/>
-
* [[Скользящий контроль]].
+
Презентация: [[Media:Voron-ML-Compositions1-slides.pdf|(PDF,&nbsp;1.5&nbsp;МБ)]] {{важно|— обновление 04.05.2024}}.
-
* [[Критерий непротиворечивости]].
+
Видеозапись: [https://youtu.be/96xMfQ7ZnGc?list=PLk4h7dmY2eYH8dtnVUD51XylWpFYDcPKy Лекция] [https://youtu.be/ZS82juA9098 Семинар]
-
* [[Регуляризация]].
+
* Основные понятия: [[базовый алгоритм]], [[корректирующая операция]].
-
* Критерии, основанные на оценках обобщающей способности: Вапника-Червоненкиса, [[критерий Акаике]] (AIC), [[байесовский информационный критерий]] (BIC).
+
* [[Простое голосование]] (комитет большинства).
-
* Статистические критерии: [[коэффициент детерминации]], [[критерий Фишера]], [[анализ остатков]].
+
* Стохастические методы: [[бэггинг]] и [[метод случайных подпространств]].
 +
* [[Случайный лес]] (Random Forest).
 +
* [[Взвешенное голосование]]. Преобразование простого голосования во взвешенное.
 +
* [[Алгоритм AdaBoost]]. Экспоненциальная аппроксимация пороговой функции потерь. Процесс последовательного обучения базовых алгоритмов. Теорема о сходимости [[бустинг]]а. Идентификация нетипичных объектов (выбросов).
 +
* Теоретические обоснования. Обобщающая способность бустинга.
 +
* Базовые алгоритмы в бустинге. Решающие пни.
 +
* Сравнение бэггинга и бустинга.
 +
* [[Алгоритм ComBoost]]. Обобщение на большое число классов.
-
=== Лекция 15. Методы отбора признаков ===
+
== Продвинутые методы ансамблирования ==
-
* Сложность задачи [[отбор признаков|отбора признаков]]. [[Полный перебор]].
+
Презентация: [[Media:Voron-ML-Compositions-slides2.pdf|(PDF,&nbsp;1.5&nbsp;МБ)]] {{важно|— обновление 04.05.2024}}.
-
* [[Метод добавления и удаления]] (шаговая регрессия).
+
Видеозапись: [https://youtu.be/IG7XySody7w?list=PLk4h7dmY2eYH8dtnVUD51XylWpFYDcPKy Лекция] [https://youtu.be/JaxB8PdbeUw Семинар]
-
* [[Поиск в глубину]] (метод ветвей и границ).
+
* Виды ансамблей. Теоретические обоснования. Анализ смещения и разброса для простого голосования.
-
* Усечённый [[поиск в ширину]] ([[многорядный итерационный алгоритм МГУА]]).
+
* [[Градиентный бустинг]]. Стохастический градиентный бустинг.
-
* [[Генетический алгоритм]], его сходство с МГУА.
+
* Варианты бустинга: регрессия, [[Алгоритм AnyBoost]], [[GentleBoost]], [[LogitBoost]], [[BrownBoost]], и другие.
-
* [[Случайный поиск с адаптацией]] (СПА).
+
* [[Алгоритм XGBoost]].
 +
* [[Алгоритм CatBoost]]. Обработка категориальных признаков.
 +
* [[Стэкинг]]. Линейный стэкинг, взвешенный по признакам.
 +
* [[Смесь алгоритмов]] (квазилинейная композиция), [[область компетентности]], примеры функций компетентности.
 +
* Выпуклые функции потерь. Методы построения смесей: последовательный и иерархический.
 +
* Построение смеси алгоритмов с помощью EM-подобного алгоритма.
 +
<!---
 +
* ''Нелинейная монотонная корректирующая операция. Случай классификации. Случай регрессии. Задача монотонизации выборки, изотонная регрессия.''
 +
=== Бустинг алгоритмов ранжирования ===
 +
* Задача ранжирования. Примеры: ранжирование результатов текстового поиска, задача [[Netflix]].
 +
* Функционал качества — число дефектных пар.
 +
* Бустинг алгоритмов ранжирования — аналоги AdaBoost и AnyBoost.
 +
* Двудольная задача. Сведение попарного функционала качества к поточечному.
 +
=== Взвешенное голосование логических закономерностей ===
 +
* [[Решающий лес]] и бустинг над решающими деревьями. ''[[Алгоритм TreeNet]].''
 +
* ''Методы синтеза конъюнктивных закономерностей. Псевдокод: [[алгоритм КОРА]], [[алгоритм ТЭМП]].''
 +
* ''[[Чередующиеся решающие деревья]] (alternating decision tree).''
 +
=== Алгоритмы вычисления оценок ===
 +
* [[Принцип частичной прецедентности]]. Структура [[Алгоритмы вычисления оценок|Алгоритмов вычисления оценок]].
 +
* [[Тупиковые тесты]].
 +
* [[Тупиковые представительные наборы]].
 +
* Проблема оптимизации АВО. АВО как композиция метрических закономерностей.
 +
* Применение бустинга, ТЭМП и СПА для оптимизации АВО.
 +
--->
-
== Второй семестр ==
+
== Оценивание плотности и байесовская классификация ==
 +
Презентация: [[Media:Voron-Density-Bayes-slides.pdf|(PDF,&nbsp;1,8&nbsp;МБ)]] {{важно|— обновление 04.05.2024}}.
 +
Видеозапись: [https://youtu.be/dujnHz0vHY8?list=PLk4h7dmY2eYH8dtnVUD51XylWpFYDcPKy Лекция] [https://youtu.be/M8A0Wu5iPwQ Семинар]
 +
<!---Видеозапись: [https://youtu.be/hv3a_XOKUXk Лекция] [https://youtu.be/M8A0Wu5iPwQ Семинар]--->
 +
<!---Видеозапись: [https://youtu.be/ly7v6W9-lB8 Лекция] [https://youtu.be/M8A0Wu5iPwQ Семинар]--->
 +
* Параметрическое оценивание плотности. [[Многомерное нормальное распределение]], геометрическая интерпретация.
 +
* Выборочные оценки параметров многомерного нормального распределения. Проблемы [[мультиколлинеарность|мультиколлинеарности]] и [[переобучение|переобучения]]. [[Регуляризация]] ковариационной матрицы.
 +
* Непараметрическое оценивание плотности. [[Ядерная оценка плотности Парзена-Розенблатта]]. Одномерный и многомерный случаи.
 +
* [[Смесь распределений]]. [[EM-алгоритм]] как метод простых итераций.
 +
<!---
 +
* ''Матричное дифференцирование. Вывод оценок параметров многомерного нормального распределения.''
 +
* Детали реализации EM-алгоритма. Критерий останова. Выбор начального приближения.
 +
* Обобщённый EM-алгоритм. Стохастический EM-алгоритм.
 +
* Выбор числа компонентов смеси. Пошаговая стратегия. Иерархический EM-алгоритм.
 +
== Байесовская теория классификации ==
 +
Презентация: [[Media:Voron-ML-BTC-slides.pdf|(PDF,&nbsp;1,1&nbsp;МБ)]] {{важно|— обновление 27.11.2021}}.
 +
Видеозапись: [https://youtu.be/ly7v6W9-lB8 Лекция] [https://youtu.be/M8A0Wu5iPwQ Семинар]
 +
--->
 +
* Байесовская теория классификации. Оптимальный байесовский классификатор.
 +
* Генеративные и дискриминативные модели классификации.
 +
* Наивный байесовский классификатор. Линейный наивный байесовский классификатор в случае экспоненциального семейства распределений.
 +
* [[Метод парзеновского окна]]. Выбор функции ядра. Выбор ширины окна, переменная ширина окна.
 +
* [[Нормальный дискриминантный анализ]]. [[Квадратичный дискриминант]]. Вид разделяющей поверхности. [[Подстановочный алгоритм]], его недостатки и способы их устранения. [[Линейный дискриминант Фишера]].
 +
* Смесь многомерных нормальных распределений. [[Сеть радиальных базисных функций]] (RBF) и применение EM-алгоритма для её настройки. Сравнение RBF-сети и SVM с гауссовским ядром.
 +
<!---
 +
* Мультиномиальный наивный байесовский классификатор для классификации текстов.
 +
* ''Связь линейного дискриминанта Фишера с [[метод наименьших квадратов|методом наименьших квадратов]].''
 +
* Жадное добавление признаков в линейном дискриминанте, ''[[метод редукции размерности]] Шурыгина.''
 +
* ''Робастное оценивание. Цензурирование выборки (отсев объектов-выбросов).''
 +
--->
-
=== Лекция 1. Однослойный персептрон ===
+
== Кластеризация и частичное обучение ==
-
* Естественный нейрон, [[модель МакКаллока-Питтса]].
+
Презентация: [[Media:Voron-ML-Clustering-SSL-slides.pdf|(PDF,&nbsp;2,3&nbsp;МБ)]] {{важно|— обновление 04.05.2024}}.
-
* [[Персептрон Розенблатта]].
+
Видеозапись: [https://youtu.be/Rm4rJiDFi2k?list=PLk4h7dmY2eYH8dtnVUD51XylWpFYDcPKy Лекция] [https://youtu.be/pobOLM1MVfc Семинар]
-
* [[Метод стохастического градиента]]. [[Теорема Новикова]] о сходимости.
+
<!--[https://youtu.be/VxedxFC5d2I 2020]-->
-
* Связь однослойного персептрона с логистической регрессией и обоснование сигмоидной функции потерь.
+
-
* [[Проблема исключающего или]]. Проблема полноты. Полнота двухслойных сетей в пространстве булевских функций. Теоремы Колмогорова, Стоуна, Горбаня (без доказательства).
+
-
=== Лекция 2. Многослойные нейронные сети ===
+
* Постановка задачи [[кластеризация|кластеризации]]. Примеры прикладных задач. Типы кластерных структур.
-
* [[Алгоритм обратного распространения ошибок]]. Недостатки алгоритма, способы их устранения.
+
* Постановка задачи Semisupervised Learning, примеры приложений.
-
* Проблема переобучения.
+
* Критерии качества кластеризации, коэффициент силуэта, BCubed-меры точности и полноты.
-
* Проблема [[паралич сети|«паралича» сети]].
+
* [[Алгоритм k-средних]] и [[ЕМ-алгоритм]] для разделения гауссовской смеси.
-
* [[Редукция весов]] (weight decay).
+
* [[Алгоритм DBSCAN]].
-
* Подбор структуры сети.
+
* [[Агломеративная кластеризация]], [[Алгоритм Ланса-Вильямса]] и его частные случаи.
-
* [[Метод оптимального прореживания сети]] (optimal brain damage).
+
* Алгоритм построения [[дендрограмма|дендрограммы]]. Определение числа кластеров.
 +
* Свойства сжатия/растяжения и монотонности.
 +
* Простые эвристические методы частичного обучения: self-training, co-training, co-learning.
 +
* Трансдуктивный метод опорных векторов TSVM.
 +
* Алгоритм Expectation-Regularization на основе многоклассовой регуляризированной логистической регрессии.
 +
<!--
 +
* [[Графовые алгоритмы кластеризации]]. Выделение связных компонент. [[Кратчайший незамкнутый путь]].
 +
* [[Алгоритм ФОРЭЛ]].
 +
* Свойства сжатия/растяжения, монотонности и редуктивности. Псевдокод редуктивной версии алгоритма.
 +
* ''Потоковые (субквадратичные) алгоритмы кластеризации.''
 +
* [[Многомерное шкалирование]], примеры прикладных задач.
 +
* Субквадратичный алгоритм, псевдокод. Минимизация функционала стресса методом Ньютона-Рафсона.
 +
* Визуализация: [[карта сходства]], [[диаграмма Шепарда]].
 +
* Совмещение многомерного шкалирования и иерархической кластеризации.
 +
* [[Алгоритм t-SNE]]
 +
-->
-
=== Лекция 3. Обучающееся векторное квантование (сети Кохонена) ===
+
== Детекция аномалий и робастные методы ==
-
* [[Сеть Кохонена]]. [[Конкурентное обучение]], стратегии WTA и WTM.
+
Презентация: [[Media:Voron-ML-outliers.pdf|(PDF,&nbsp;1.8&nbsp;МБ)]] {{важно| — обновление 04.05.2024}}.
-
* [[Самоорганизующаяся карта Кохонена]]. Применение для визуального анализа данных.
+
* Задачи выявления аномалий. Эвристические методы выявления аномалий. Алгоритм LOWESS.
-
* [[Сети встречного распространения]], их применение для кусочно-постоянной и гладкой аппроксимации функций.
+
* Теория робастного обучения. Схема итерационного перевзвешивания объектов IRS.
 +
* Семейство робастных агрегирующих функций.
 +
* Итерационное перевзвешивание для произвольной агрегирующей функции. Алгоритм IR-ERM.
 +
* Робастная регрессия. Робастная классификация. Робастная кластеризация.
 +
* Выявление аномалий с помощью одноклассового SVM.
 +
* Парадигмы обучения PU-Learning, One-Class Classification, Open-Set Recognition, Open-World Recognition.
-
=== Лекция 4. Метод опорных векторов ===
+
= Семестр 2. Прикладные модели машинного обучения =
-
* Оптимальная разделяющая гиперплоскость. Понятие [[зазор]]а между классами (margin).
+
-
* Случай линейной разделимости. Задача квадратичного программирования и двойственная задача. Понятие [[Опорный вектор|опорных векторов]].
+
-
* Случай отсутствия линейной разделимости. Двойственная задача. Отличие от предыдущего случая. Выбор константы&nbsp;''C''.
+
-
* [[Функция ядра]] (kernel functions), [[спрямляющее пространство]], [[теорема Мерсера]].
+
-
* Способы построения ядер. Примеры ядер.
+
-
* Сопоставление SVM и RBF-сети.
+
-
=== Лекция 5. Оптимизационные техники решения задачи SVM ===
+
== Глубокие нейронные сети ==
-
* Обучение SVM методом последовательной оптимизации минимумов. Псевдокод: [[алгоритм SMO]].
+
Презентация: [[Media:Voron-ML-DeepLearning-slides.pdf|(PDF,&nbsp;4,1&nbsp;МБ)]] {{важно|— обновление 05.05.2024}}.
-
* Обучение SVM методом активных ограничений. Псевдокод: [[алгоритм INCAS]].
+
Видеозапись: [https://youtu.be/x3TKdZi7Mo4 Лекция] [https://youtu.be/_zhKsIze8QU Семинар]
-
* SVM-регрессия.
+
-
=== Лекция 6. Алгоритмические композиции ===
+
* Обоснования глубоких нейронных сетей: выразительные возможности, скорость сходимости при избыточной параметризации.
-
* Основные понятия: [[базовый алгоритм]] ([[алгоритмический оператор]]), [[корректирующая операция]].
+
* Свёрточные нейронные сети (CNN) для изображений. Свёрточный нейрон. Pooling нейрон. Выборка размеченных изображений ImageNet.
-
* Линейные (выпуклые) алгоритмические композиции.
+
* ResNet: остаточная нейронная сеть (residual NN). Сквозные связи между слоями (skip connection).
-
* Процесс последовательного обучения базовых алгоритмов.
+
* Свёрточные сети для сигналов, текстов, графов, игр.
-
* [[Простое голосование]] (комитет большинства). Эвристический алгоритм.
+
* Рекуррентные нейронные сети (RNN). Обучение рекуррентных сетей: Backpropagation Through Time (BPTT).
-
* [[Решающий список]] (комитет старшинства). Эвристический алгоритм.
+
* Сети долгой кратковременной памяти (Long short-term memory, LSTM).
 +
* Рекуррентные сети Gated Recurrent Unit (GRU) и Simple Recurrent Unit (SRU).
-
=== Лекция 7. Бустинг, бэггинг и аналоги ===
+
== Нейронные сети с обучением без учителя ==
-
* [[Взвешенное голосование]].
+
Презентация: [[Media:Voron-ML-ANN-Unsupervised-slides.pdf|(PDF,&nbsp;2,3&nbsp;МБ)]] {{важно|— обновление 09.02.2024}}.
-
* Экспоненциальная аппроксимация пороговой функции потерь. Теорема о сходимости [[бустинг]]а.
+
Видеозапись: [https://youtu.be/wfbe2yaXAkI Лекция] [https://youtu.be/wCX-8AiYYzk Семинар]
-
* Псевдокод: [[алгоритм AdaBoost]].
+
-
* Варианты бустинга: GentleBoost, LogitBoost, BrownBoost, и другие.
+
-
* Стохастические методы: [[бэггинг]] и [[метод случайных подпространств]].
+
-
=== Лекция 8. Метод комитетов ===
+
* [[Нейронная сеть Кохонена]]. [[Конкурентное обучение]], стратегии WTA и WTM.
-
* Общее понятие: [[комитет]] системы ограничений. Комитеты большинства, простое и взвешенное голосование (''z,p''-комитеты).
+
* [[Самоорганизующаяся карта Кохонена]]. Применение для визуального анализа данных. Искусство интерпретации карт Кохонена.
-
* Теоремы о существовании комитетного решения.
+
* [[Автокодировщик]]. Линейный AE, SAE, DAE, CAE, RAE, VAE, AE для классификации, многослойный AE.
-
* Сопоставление комитета линейных неравенств с нейронной сетью.
+
* Пред-обучение нейронных сетей (pre-training).
-
* [[Максимальная совместная подсистема]], [[минимальный комитет]]. Теоремы об ''NP''-полноте задачи поиска минимального комитета.
+
* Перенос обучения (transfer learning).
-
* Алгоритм построения комитета, близкого к минимальному. Верхняя оценка числа членов комитета.
+
* Многозадачное обучение (multi-task learning).
 +
* Самостоятельное обучение (self-supervised learning).
 +
* Дистилляция моделей или суррогатное моделирование.
 +
* Обучение с использованием привилегированной информации (learning using priveleged information, LUPI).
 +
* Генеративные состязательные сети (generative adversarial net, GAN).
-
=== Лекция 9. Нелинейные алгоритмические композиции ===
+
== Векторные представления текстов и графов ==
-
* [[Смесь экспертов]], [[область компетентности]] алгоритма.
+
Презентация: [[Media:Voron-ML-Embeddings-slides.pdf|(PDF,&nbsp;1,6&nbsp;МБ)]] {{важно|— обновление 05.05.2024}}.
-
* Выпуклые функции потерь. Методы построения смесей: последовательный и иерархический.
+
Видеозапись: [https://youtu.be/QJK8PRfKD2g Лекция] [https://youtu.be/NtS9Dp4XhGE Семинар]
-
* Построение смесей экспертов с помощью EM-алгоритма.
+
-
* Нелинейная монотонная корректирующая операция. Случай классификации. Случай регрессии.
+
-
=== Лекция 10. Логические алгоритмы классификации ===
+
* Векторные представления текста. Гипотеза дистрибутивной семантики.
-
* Понятие [[логическая закономерность|логической закономерности]]. Эвристическое, статичтическое, энтропийное определение [[информативность|информативности]]. Асимптотическая эквивалентность статичтического и энтропийного определения. Принципиальные отличия эвристического и статичтического определения.
+
* Модели CBOW и SGNS из программы [[word2vec]]. Иерархический SoftMax.
-
* Разновидности закономерностей: шары, гиперплоскости, гиперпараллелепипеды (конъюнкции).
+
* Модель [[FastText]].
-
* [[Бинаризация признаков]], алгоритм выделения информативных зон.
+
* Векторные представления графов.
-
* «Градиентный» алгоритм синтеза конъюнкций, частные случаи: жадный алгоритм, [[стохастический локальный поиск]], [[стабилизация]], [[редукция]].
+
* [[Многомерное шкалирование]] (multidimensional scaling, MDS).
 +
* Векторное представление соседства (stochastic neighbor embedding, SNE и tSNE).
 +
* Матричные разложения (graph factorization).
 +
* Модели случайных блужданий [[DeepWalk]], [[node2vec]].
 +
* Обобщённый автокодировщик на графах [[GraphEDM]].
 +
* Представление о графовых нейронных сетях (graph neural network, GNN). Передача сообщений по графу (message passing).
-
=== Лекция 11. Решающие списки и деревья ===
+
== Модели внимания и трансформеры ==
-
* [[Решающий список]]. Жадный алгоритм синтеза списка.
+
Презентация: [[Media:Voron-ML-Attention-slides.pdf|(PDF,&nbsp;1,1&nbsp;МБ)]] {{важно|— обновление 05.05.2024}}.
-
* [[Решающее дерево]]. Псевдокод: жадный [[алгоритм ID3]]. Недостатки алгоритма и способы их устранения. Проблема переобучения.
+
Видеозапись: [https://youtu.be/KhMweP00S44 Лекция] [https://youtu.be/GfUadGOcwtc Семинар]
-
* [[Редукция решающих деревьев]]: [[предредукция]] и [[постредукция]].
+
-
* Преобразование решающего дерева в решающий список.
+
-
* [[Решающий лес]] и бустинг над решающими деревьями.
+
-
* [[Переключающиеся решающие деревья]] (alternating decision tree).
+
-
=== Лекция 12. Взвешенное голосование логических закономерностей ===
+
* Задачи обработки и преобразования последовательностей (sequence to sequence).
-
* Принцип голосования. Проблема различности (диверсификации) закономерностей.
+
* Рекуррентная сеть с моделью внимания.
-
* Методы синтеза конъюнктивных закономерностей. Псевдокод: [[алгоритм КОРА]], [[алгоритм ТЭМП]].
+
* Разновидности моделей внимания: многомерное, иерархическое, Query–Key–Value, внутреннее (self-attention).
-
* Алгоритм бустинга. Теорема сходимости.
+
* Модели внимания на графах (Graph Attention Network). Задача классификации вершин графа.
-
* Примеры прикладных задач: кредитный скоринг, прогнозирование ухода клиентов.
+
* Трансформеры. Особенности архитектуры кодировщика и декодировщка.
 +
* Критерии обучения и оценивание качества (предобучение). Модель BERT.
 +
<!-- * Эквивалентность MHSA и CNN-->
 +
* Прикладные задачи: машинный перевод, аннотирование изображений.
 +
* Модели внимания и трансформеры для текстов, изображений, графов.
-
=== Лекция 13. Алгоритмы вычисления оценок ===
+
== Тематическое моделирование ==
-
* [[Принцип частичной прецедентности]]. Структура [[АВО]].
+
<!---
-
* [[Тупиковые тесты]].
+
Текст лекций: [[Media:Voron-ML-TopicModels.pdf|(PDF,&nbsp;830&nbsp;КБ)]].<br/>
-
* [[Тупиковые представительные наборы]].
+
Презентация 1: [[Media:Voron-ML-TopicModels-slides.pdf|(PDF,&nbsp;2.8&nbsp;МБ)]] {{важно| — обновление 16.11.2015}}.
-
* Проблема оптимизации АВО. АВО как композиция метрических закономерностей.
+
Презентация 2: [[Media:Voron-ML-TopicModels-slides-2.pdf|(PDF,&nbsp;6.1&nbsp;МБ)]] {{важно| — обновление 16.11.2015}}.
-
* Применение бустинга, ТЭМП и СПА для оптимизации АВО.
+
Семинар 15.11.2020: [[Media:Voron-ML-TopicModeling-seminar-slides.pdf|(PDF,&nbsp;3.8&nbsp;МБ)]]
 +
--->
 +
Презентация: [[Media:Voron-ML-TopicModeling-slides.pdf|(PDF,&nbsp;3.9&nbsp;МБ)]] {{важно| — обновление 05.05.2024}}.
 +
Видеозапись: [https://youtu.be/Eqm8-YqUzAc Лекция] [https://youtu.be/xxwMuxM4AEg Семинар]
-
=== Лекция 14. Поиск ассоциативных правил ===
+
* Задача [[тематическое моделирование|тематического моделирования]] коллекции текстовых документов. [[Метод максимума правдоподобия]].
-
* Пример прикладной задачи: [[анализ рыночных корзин]].
+
* Лемма о максимизации гладкой функции на симплексах (применение условий Каруша–Куна–Таккера).
 +
* [[Аддитивная регуляризация тематических моделей]]. Регуляризованный EM-алгоритм, теорема о стационарной точке. Элементарная интерпретация EM-алгоритма.
 +
* [[Вероятностный латентный семантический анализ]] PLSA. [[ЕМ-алгоритм]].
 +
* [[Латентное размещение Дирихле]] LDA. [[Метод максимума апостериорной вероятности]]. Сглаженная частотная оценка условной вероятности. Небайесовская интерпретация LDA.
 +
* Регуляризаторы разреживания, сглаживания, частичного обучения, декоррелирования.
 +
* Мультимодальная тематическая модель. Мультиязычная тематическая модель.
 +
* Регуляризаторы классификации и регрессии.
 +
* Модель битермов WNTM. Модель связанных документов. Иерархическая тематическая модель.
 +
* Внутренние и внешние критерии качества тематических моделей.
 +
 
 +
== Обучение ранжированию ==
 +
Презентация: [[Media:Voron-ML-Ranking-slides.pdf|(PDF,&nbsp;0,9&nbsp;МБ)]] {{важно|— обновление 05.05.2024}}.
 +
Видеозапись: [https://youtu.be/kQ5PeshAO1w Лекция] [https://youtu.be/cN5WoTRJYtY Семинар]
 +
 
 +
* Постановка задачи [[Обучение ранжированию|обучения ранжированию]]. Примеры.
 +
* Поточечные методы Ранговая регрессия. Ранговая классификация, OC-SVM.
 +
* Попарные методы: RankingSVM, RankNet, LambdaRank.
 +
* Списочные методы.
 +
* Признаки в задаче ранжирования поисковой выдачи: текстовые, ссылочные, кликовые. [[TF-IDF]], [[Okapi BM25]], [[PageRank]].
 +
* Критерии качества ранжирования: Precision, MAP, AUC, DCG, NDCG, pFound.
 +
* Глубокая структурированная семантическая модель [[DSSM]] (Deep Structured Semantic Model).
 +
 
 +
== Рекомендательные системы ==
 +
Презентация: [[Media:Voron-ML-CF.pdf|(PDF,&nbsp;0.9&nbsp;МБ)]] {{важно| — обновление 05.05.2024}}.
 +
Видеозапись: [https://youtu.be/FW5UdtMwlpw Лекция] [https://youtu.be/Rge1_Bnr8JI Семинар]
 +
 
 +
* Задачи [[коллаборативная фильтрация|коллаборативной фильтрации]], [[транзакционные данные]].
 +
* Корреляционные методы user-based, item-based. Задача восстановления пропущенных значений. Меры сходства.
 +
* Разреженная линейная модель (Sparse LInear Method, SLIM).
 +
* Латентные методы на основе матричных разложений. [[Метод главных компонент]] для разреженных данных (LFM, Latent Factor Model). [[Метод стохастического градиента]].
 +
* Неотрицательные матричные разложения NNMF. Метод чередующихся наименьших квадратов ALS. [[Вероятностный латентный семантический анализ]] PLSA.
 +
* Модель с учётом неявной информации (implicit feedback).
 +
* Автокодировщики для коллаборативной фильтрации.
 +
* Учёт дополнительных признаковых данных в матричных разложениях и автокодировщиках.
 +
* Линейная и квадратичная регрессионные модели, [[libFM]].
 +
* Гиперграфовая транзакционная тематическая модель для учёта дополнительных данных.
 +
* Измерение качества рекомендаций. Меры разнообразия (diversity), новизны (novelty), покрытия (coverage), догадливости (serendipity).
 +
 
 +
== Поиск ассоциативных правил ==
 +
Презентация: [[Media:Voron-ML-AssocRules-slides.pdf|(PDF,&nbsp;1.8&nbsp;МБ)]] {{важно| — обновление 05.05.2024}}.
 +
Видеозапись: [https://youtu.be/jKl2jFQVh94 Лекция] [https://youtu.be/WmJKfCl9P7Y Семинар]
* Понятие [[Ассоциативное правило|ассоциативного правила]] и его связь с понятием логической закономерности.
* Понятие [[Ассоциативное правило|ассоциативного правила]] и его связь с понятием логической закономерности.
-
* Псевдокод: [[алгоритм APriori]], его недостатки и пути усовершенствования.
+
* Примеры прикладных задач: [[анализ рыночных корзин]], выделение терминов и тематики текстов.
 +
* [[Алгоритм APriori]]. Два этапа: поиск частых наборов и рекурсивное порождение ассоциативных правил. Недостатки и пути усовершенствования алгоритма APriori.
 +
* [[Алгоритм FP-growth]]. Понятия FP-дерева и условного FP-дерева. Два этапа поиска частых наборов в FP-growth: построение FP-дерева и рекурсивное порождение частых наборов.
 +
* Общее представление о динамических и иерархических методах поиска ассоциативных правил.
 +
* [[Алгоритм TopMine]] для поиска коллокаций и терминов в текстах.
 +
<!---
 +
== Адаптивные методы прогнозирования ==
 +
Презентация: [[Media:Voron-ML-forecasting-slides.pdf|(PDF,&nbsp;0,9&nbsp;MБ)]] {{важно|— обновление 14.12.2019}}.
 +
Видеозапись: [https://youtu.be/HyWm8FKzyPw Лекция] [https://youtu.be/hxKdtWVqEhg Семинар]
 +
[https://youtu.be/u433nrxdf5k Видеозапись лекции Евгения Рябенко]
 +
 
 +
* Задача прогнозирования временных рядов. Примеры приложений.
 +
* [[Экспоненциальное сглаживание|Экспоненциальное скользящее среднее]]. [[Модель Хольта]]. [[Модель Тейла-Вейджа]]. [[Модель Хольта-Уинтерса]].
 +
* Адаптивная авторегрессионная модель.
 +
* [[Следящий контрольный сигнал]]. [[Модель Тригга-Лича]].
 +
* Адаптивная селективная модель. Адаптивная композиция моделей.
 +
* Локальная адаптация весов с регуляризацией.
 +
--->
 +
 
 +
== Инкрементное и онлайновое обучение ==
 +
Презентация: [[Media:Voron-ML-incremental-slides.pdf|(PDF,&nbsp;1,1&nbsp;MБ)]] {{важно|— обновление 05.05.2024}}.
 +
Видеозапись: [https://youtu.be/3KflU279d_w Лекция] [ Семинар]
 +
 
 +
* Задачи инкрементного и онлайнового обучения. Оценивание инкрементного обучения. Кривые обучения.
 +
* Ленивое обучение (метрические и непараметрические методы). Онлайновый отбор эталонных объектов.
 +
* Онлайновый наивный байесовский классификатор.
 +
* Онлайновый градиентный спуск OGD. Алгоритм Perceptron. Алгоритм Passive-Aggressive.
 +
* Инкрементные решающие деревья ID5R.
 +
* Рекуррентный метод наименьших квадратов RLS. Формула Шермана-Моррисона.
 +
* Задача прогнозирования временных рядов. Эконометрические временные ряды с трендом и сезонностью.
 +
* [[Экспоненциальное сглаживание|Экспоненциальное скользящее среднее]]. [[Модель Хольта]]. [[Модель Тейла-Вейджа]]. [[Модель Хольта-Уинтерса]].
 +
* Адаптивная селективная модель. Адаптивная композиция моделей.
 +
* Онлайновое обучение ансамбля. Алгоритм Hedge, его свойства и интерпретация в задаче портфельного инвестирования.
 +
* Онлайновое глубокое обучение. Алгоритм Hedge BackProp.
 +
<!---* Онлайновое обучение новым классам. Проблема катастрофического забывания. Алгоритм iCaRL.--->
 +
 
 +
== Обучение с подкреплением ==
 +
Презентация: [[Media:Voron-ML-RL-slides.pdf|(PDF,&nbsp;1.9&nbsp;МБ)]] {{важно| — обновление 05.05.2024}}.
 +
Видеозапись: [https://youtu.be/B4Fk2KNHzFY Лекция] [https://youtu.be/3Xex0Z5D6O8 Семинар]
 +
 
 +
* Задача о многоруком бандите. Жадные и эпсилон-жадные стратегии. Метод UCB (upper confidence bound).
 +
* Адаптивные стратегии на основе скользящих средних. Метод сравнения с подкреплением. Метод преследования.
 +
* Постановка задачи в случае, когда агент влияет на среду. Ценность состояния среды. Ценность действия.
 +
* Жадные стратегии максимизации ценности. Уравнения оптимальности Беллмана.
 +
* Метод SARSA. Метод Q-обучения. Типизация методов на on-policy и off-policy.
 +
* Глубокое Q-обучение нейронной сети DQN на примере обучения играм Atari.
 +
<!---* Метод временных разностей TD. Многошаговое TD-прогнозирование. Обобщения методов временных разностей, SARSA, Q-обучения. --->
 +
* Градиентная оптимизация стратегии (policy gradient). Связь с максимизацией log-правдоподобия.
 +
* Модели актор-критик. Модели с непрерывным управлением.
 +
* Постановка задачи при моделировании среды. Типизация методов на model-free и model-based.
 +
* Контекстный многорукий бандит. Линейная регрессионная модель с верхней доверительной оценкой LinUCB.
 +
* Оценивание новой стратегии по большим историческим данным, сформированным при старых стратегиях.
 +
 
 +
== Активное обучение ==
 +
Презентация: [[Media:Voron-ML-AL-slides.pdf|(PDF,&nbsp;2.3&nbsp;МБ)]] {{важно| — обновление 26.04.2024}}.
 +
Видеозапись: [https://youtu.be/kGJ7PPTcUHw Лекция] [https://youtu.be/JlPLaNQXNO8 Семинар]
 +
 
 +
* Постановка задачи машинного обучения. Основные стратегии: отбор объектов из выборки и из потока, синтез объектов. Приложения активного обучения.
 +
* Почему активное обучение быстрее пассивного. Оценивание качества активного обучения. Кривые обучения.
 +
* Сэмплирование по неуверенности.
 +
* Сэмплирование по несогласию в комитете. Сокращение пространства решений.
 +
* Сэмплирование по ожидаемому изменению модели.
 +
* Сэмплирование по ожидаемому сокращению ошибки.
 +
* Синтез объектов методами безградиентной оптимизации. [[Метод Нелдера-Мида]].
 +
* Синтез объектов по критерию сокращения дисперсии.
 +
* Взвешивание по плотности.
 +
* Введение изучающих действий в стратегию активного обучении. Алгоритмы ε-active и EG-active.
 +
* Использование активного обучения в краудсорсинге. Согласование оценок аннотаторов. Назначение заданий аннотаторам.
 +
<!---* Применение обучения с подкреплением для активного обучения. Активное томпсоновское сэмплирование.--->
 +
 
 +
== Интерпретируемость и объяснимость ==
 +
Презентация: [[Media:Voron-ML-xai.pdf|(PDF,&nbsp;3.8&nbsp;МБ)]] {{важно| — обновление 04.05.2024}}.
 +
 
 +
* Интерпретируемость и объяснимость — цели, задачи, основные понятия.
 +
* Интерпретируемые модели машинного обучения.
 +
* Оценки значимости признаков в линейной регрессии.
 +
* Графики частичной зависимости (Partial Dependence Plot, PDP).
 +
* Графики индивидуальных условных зависимостей (ICE).
 +
* Перестановочные оценки значимости признаков.
 +
* Вектор Шепли (из теории кооперативных игр), его свойства, способы оценивания, применение в линейной регрессии.
 +
* Суррогатное моделирование в окрестности объекта.
 +
* Метод LIME (Local Interpretable Model-agnostic Explanations).
 +
* Метод якорей (Anchors).
 +
* Метод SHAP (SHapley Additive exPlanations).
 +
* Метод Shapley Kernel.
 +
* Метод SAGE (Shapley Additive Global importancE).
 +
* Вектор Шепли для объектов, метод Gradient Shapley.
 +
* Контрфактическое объяснение, метод поиска контрфактов (Counterfactual explanations).
 +
 
 +
= Дополнительные лекции =
 +
 
 +
== Теория переобучения ==
 +
Презентация: [[Media:Voron-ML-overfitting.pdf|(PDF,&nbsp;1.6&nbsp;МБ)]] {{важно| — обновление 3.11.2024}}.
 +
* Задача оценивания вероятности переобучения. Матрица ошибок конечного множества алгоритмов.
 +
* [[Теория Вапника–Червоненкиса]]. Размерность Вапника–Червоненкиса (VC-dimension, [[ёмкость]]). [[Метод структурной минимизации риска]].
 +
* Бритва Оккама (Occam's razor bound).
 +
* Эксперименты с переобучением. Монотонная цепь алгоритмов.
 +
* Переобучение при выборе из двух алгоритмов.
 +
* Комбинаторная теория переобучения. Граф расслоения-связности конечного множества алгоритмов.
 +
* Порождающие и запрещающие множества. Связность и неоптимальность алгоритма. Оценка расслоения-связности.
 +
 
 +
== Обзор оптимизационных задач машинного обучения ==
 +
Презентация: [[Media:Voron-ML-final.pdf|(PDF,&nbsp;3.9&nbsp;МБ)]] {{важно| — обновление 4.05.2021}}.
 +
Видеозапись: [https://youtu.be/eDptWKPrIy4 Лекция]
-
== Файлы ==
+
= См. также =
 +
* [https://www.coursera.org/learn/vvedenie-mashinnoe-obuchenie Курс «Введение в машинное обучение», К.В.Воронцов (ВШЭ и Яндекс)].[https://habrahabr.ru/company/yandex/blog/269175 Хабр об этом курсе].
 +
* [https://www.coursera.org/specializations/machine-learning-data-analysis Специализация «Машинное обучение и анализ данных» (МФТИ и Яндекс)]. [https://habrahabr.ru/company/yandex/blog/277427 Хабр об этом курсе].
 +
* [https://drive.google.com/open?id=0B-3LhgkjkY_OSDJncFdxTkFaOG8 Машинное обучение (семинары,ФУПМ МФТИ)]
 +
* [[Машинное обучение (семинары, ВМК МГУ)]]
 +
* [[Машинное обучение (курс лекций, Н.Ю.Золотых)]]
 +
* [[Машинное обучение (курс лекций, СГАУ, С.Лисицын)]]
-
Экзаменационные билеты
+
= Литература =
 +
# ''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 с.
-
Практикум
+
= Список подстраниц =
 +
{{Служебная:Prefixindex/Машинное обучение (курс лекций, К.В.Воронцов)/}}
[[Категория:Учебные курсы]]
[[Категория:Учебные курсы]]

Текущая версия

Содержание

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

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

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

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

На семинарах разбираются дополнительные примеры, аспекты практического применения, работа с данными, программирование, проведение вычислительных экспериментов.

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

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

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

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

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

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

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

Презентация: (PDF, 1,7 МБ) — обновление 13.09.2024. Видеозапись: Лекция Семинар

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

Презентация: (PDF, 1,2 МБ) — обновление 13.09.2024. Видеозапись: Лекция Семинар

  • Линейный классификатор, модель МакКаллока-Питтса, непрерывные аппроксимации пороговой функции потерь.
  • Бинарная классификация и многоклассовая классификация.
  • Метод стохастического градиента SG.
  • Эвристики: инерция и ускоренный градиент, инициализация весов, порядок предъявления объектов, выбор величины градиентного шага, «выбивание» из локальных минимумов.
  • Проблема мультиколлинеарности и переобучения, регуляризация или редукция весов (weight decay).
  • Вероятностная постановка задачи классификации. Принцип максимума правдоподобия.
  • Вероятностная интерпретация регуляризации, совместное правдоподобие данных и модели. Принцип максимума апостериорной вероятности.
  • Гауссовский и лапласовский регуляризаторы.
  • Логистическая регрессия. Принцип максимума правдоподобия и логарифмическая функция потерь. Метод стохастического градиента для логарифмической функции потерь. Многоклассовая логистическая регрессия. Регуляризованная логистическая регрессия.

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

Презентация: (PDF, 1,5 МБ) — обновление 20.09.2024. Видеозапись: Лекция Семинар

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

Презентация: (PDF, 3,9 МБ) — обновление 03.10.2024. Видеозапись: Лекция Семинар

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

Презентация: (PDF, 1,3 МБ) — обновление 3.10.2024. Видеозапись: Лекция Семинар

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

Линейные модели регрессии

Презентация: (PDF, 1,1 MБ) — обновление 11.10.2024. Видеозапись: Лекция Семинар

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

Презентация: (PDF, 0,8 MБ) — обновление 24.10.2024. Видеозапись: Лекция Семинар

Качество классификации и отбор признаков

Текст лекций: (PDF, 330 КБ).
Презентация: (PDF, 1,6 МБ) — обновление 24.10.2024. Видеозапись: Лекция Семинар

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

Текст лекций: (PDF, 625 КБ).
Презентация: (PDF, 1.3 МБ) — обновление 03.11.2024. Видеозапись: Лекция Семинар

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

Текст лекций: (PDF, 1 MБ).
Презентация: (PDF, 1.5 МБ) — обновление 04.05.2024. Видеозапись: Лекция Семинар

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

Презентация: (PDF, 1.5 МБ) — обновление 04.05.2024. Видеозапись: Лекция Семинар

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

Презентация: (PDF, 1,8 МБ) — обновление 04.05.2024. Видеозапись: Лекция Семинар

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

Презентация: (PDF, 2,3 МБ) — обновление 04.05.2024. Видеозапись: Лекция Семинар

  • Постановка задачи кластеризации. Примеры прикладных задач. Типы кластерных структур.
  • Постановка задачи Semisupervised Learning, примеры приложений.
  • Критерии качества кластеризации, коэффициент силуэта, BCubed-меры точности и полноты.
  • Алгоритм k-средних и ЕМ-алгоритм для разделения гауссовской смеси.
  • Алгоритм DBSCAN.
  • Агломеративная кластеризация, Алгоритм Ланса-Вильямса и его частные случаи.
  • Алгоритм построения дендрограммы. Определение числа кластеров.
  • Свойства сжатия/растяжения и монотонности.
  • Простые эвристические методы частичного обучения: self-training, co-training, co-learning.
  • Трансдуктивный метод опорных векторов TSVM.
  • Алгоритм Expectation-Regularization на основе многоклассовой регуляризированной логистической регрессии.

Детекция аномалий и робастные методы

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

  • Задачи выявления аномалий. Эвристические методы выявления аномалий. Алгоритм LOWESS.
  • Теория робастного обучения. Схема итерационного перевзвешивания объектов IRS.
  • Семейство робастных агрегирующих функций.
  • Итерационное перевзвешивание для произвольной агрегирующей функции. Алгоритм IR-ERM.
  • Робастная регрессия. Робастная классификация. Робастная кластеризация.
  • Выявление аномалий с помощью одноклассового SVM.
  • Парадигмы обучения PU-Learning, One-Class Classification, Open-Set Recognition, Open-World Recognition.

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

Глубокие нейронные сети

Презентация: (PDF, 4,1 МБ) — обновление 05.05.2024. Видеозапись: Лекция Семинар

  • Обоснования глубоких нейронных сетей: выразительные возможности, скорость сходимости при избыточной параметризации.
  • Свёрточные нейронные сети (CNN) для изображений. Свёрточный нейрон. Pooling нейрон. Выборка размеченных изображений ImageNet.
  • ResNet: остаточная нейронная сеть (residual NN). Сквозные связи между слоями (skip connection).
  • Свёрточные сети для сигналов, текстов, графов, игр.
  • Рекуррентные нейронные сети (RNN). Обучение рекуррентных сетей: Backpropagation Through Time (BPTT).
  • Сети долгой кратковременной памяти (Long short-term memory, LSTM).
  • Рекуррентные сети Gated Recurrent Unit (GRU) и Simple Recurrent Unit (SRU).

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

Презентация: (PDF, 2,3 МБ) — обновление 09.02.2024. Видеозапись: Лекция Семинар

  • Нейронная сеть Кохонена. Конкурентное обучение, стратегии WTA и WTM.
  • Самоорганизующаяся карта Кохонена. Применение для визуального анализа данных. Искусство интерпретации карт Кохонена.
  • Автокодировщик. Линейный AE, SAE, DAE, CAE, RAE, VAE, AE для классификации, многослойный AE.
  • Пред-обучение нейронных сетей (pre-training).
  • Перенос обучения (transfer learning).
  • Многозадачное обучение (multi-task learning).
  • Самостоятельное обучение (self-supervised learning).
  • Дистилляция моделей или суррогатное моделирование.
  • Обучение с использованием привилегированной информации (learning using priveleged information, LUPI).
  • Генеративные состязательные сети (generative adversarial net, GAN).

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

Презентация: (PDF, 1,6 МБ) — обновление 05.05.2024. Видеозапись: Лекция Семинар

  • Векторные представления текста. Гипотеза дистрибутивной семантики.
  • Модели CBOW и SGNS из программы word2vec. Иерархический SoftMax.
  • Модель FastText.
  • Векторные представления графов.
  • Многомерное шкалирование (multidimensional scaling, MDS).
  • Векторное представление соседства (stochastic neighbor embedding, SNE и tSNE).
  • Матричные разложения (graph factorization).
  • Модели случайных блужданий DeepWalk, node2vec.
  • Обобщённый автокодировщик на графах GraphEDM.
  • Представление о графовых нейронных сетях (graph neural network, GNN). Передача сообщений по графу (message passing).

Модели внимания и трансформеры

Презентация: (PDF, 1,1 МБ) — обновление 05.05.2024. Видеозапись: Лекция Семинар

  • Задачи обработки и преобразования последовательностей (sequence to sequence).
  • Рекуррентная сеть с моделью внимания.
  • Разновидности моделей внимания: многомерное, иерархическое, Query–Key–Value, внутреннее (self-attention).
  • Модели внимания на графах (Graph Attention Network). Задача классификации вершин графа.
  • Трансформеры. Особенности архитектуры кодировщика и декодировщка.
  • Критерии обучения и оценивание качества (предобучение). Модель BERT.
  • Прикладные задачи: машинный перевод, аннотирование изображений.
  • Модели внимания и трансформеры для текстов, изображений, графов.

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

Презентация: (PDF, 3.9 МБ) — обновление 05.05.2024. Видеозапись: Лекция Семинар

Обучение ранжированию

Презентация: (PDF, 0,9 МБ) — обновление 05.05.2024. Видеозапись: Лекция Семинар

  • Постановка задачи обучения ранжированию. Примеры.
  • Поточечные методы Ранговая регрессия. Ранговая классификация, OC-SVM.
  • Попарные методы: RankingSVM, RankNet, LambdaRank.
  • Списочные методы.
  • Признаки в задаче ранжирования поисковой выдачи: текстовые, ссылочные, кликовые. TF-IDF, Okapi BM25, PageRank.
  • Критерии качества ранжирования: Precision, MAP, AUC, DCG, NDCG, pFound.
  • Глубокая структурированная семантическая модель DSSM (Deep Structured Semantic Model).

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

Презентация: (PDF, 0.9 МБ) — обновление 05.05.2024. Видеозапись: Лекция Семинар

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

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

Презентация: (PDF, 1.8 МБ) — обновление 05.05.2024. Видеозапись: Лекция Семинар

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

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

Презентация: (PDF, 1,1 MБ) — обновление 05.05.2024. Видеозапись: Лекция [ Семинар]

  • Задачи инкрементного и онлайнового обучения. Оценивание инкрементного обучения. Кривые обучения.
  • Ленивое обучение (метрические и непараметрические методы). Онлайновый отбор эталонных объектов.
  • Онлайновый наивный байесовский классификатор.
  • Онлайновый градиентный спуск OGD. Алгоритм Perceptron. Алгоритм Passive-Aggressive.
  • Инкрементные решающие деревья ID5R.
  • Рекуррентный метод наименьших квадратов RLS. Формула Шермана-Моррисона.
  • Задача прогнозирования временных рядов. Эконометрические временные ряды с трендом и сезонностью.
  • Экспоненциальное скользящее среднее. Модель Хольта. Модель Тейла-Вейджа. Модель Хольта-Уинтерса.
  • Адаптивная селективная модель. Адаптивная композиция моделей.
  • Онлайновое обучение ансамбля. Алгоритм Hedge, его свойства и интерпретация в задаче портфельного инвестирования.
  • Онлайновое глубокое обучение. Алгоритм Hedge BackProp.

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

Презентация: (PDF, 1.9 МБ) — обновление 05.05.2024. Видеозапись: Лекция Семинар

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

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

Презентация: (PDF, 2.3 МБ) — обновление 26.04.2024. Видеозапись: Лекция Семинар

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

Интерпретируемость и объяснимость

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

  • Интерпретируемость и объяснимость — цели, задачи, основные понятия.
  • Интерпретируемые модели машинного обучения.
  • Оценки значимости признаков в линейной регрессии.
  • Графики частичной зависимости (Partial Dependence Plot, PDP).
  • Графики индивидуальных условных зависимостей (ICE).
  • Перестановочные оценки значимости признаков.
  • Вектор Шепли (из теории кооперативных игр), его свойства, способы оценивания, применение в линейной регрессии.
  • Суррогатное моделирование в окрестности объекта.
  • Метод LIME (Local Interpretable Model-agnostic Explanations).
  • Метод якорей (Anchors).
  • Метод SHAP (SHapley Additive exPlanations).
  • Метод Shapley Kernel.
  • Метод SAGE (Shapley Additive Global importancE).
  • Вектор Шепли для объектов, метод Gradient Shapley.
  • Контрфактическое объяснение, метод поиска контрфактов (Counterfactual explanations).

Дополнительные лекции

Теория переобучения

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

  • Задача оценивания вероятности переобучения. Матрица ошибок конечного множества алгоритмов.
  • Теория Вапника–Червоненкиса. Размерность Вапника–Червоненкиса (VC-dimension, ёмкость). Метод структурной минимизации риска.
  • Бритва Оккама (Occam's razor bound).
  • Эксперименты с переобучением. Монотонная цепь алгоритмов.
  • Переобучение при выборе из двух алгоритмов.
  • Комбинаторная теория переобучения. Граф расслоения-связности конечного множества алгоритмов.
  • Порождающие и запрещающие множества. Связность и неоптимальность алгоритма. Оценка расслоения-связности.

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

Презентация: (PDF, 3.9 МБ) — обновление 4.05.2021. Видеозапись: Лекция

См. также

Литература

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