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

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

(Различия между версиями)
Перейти к: навигация, поиск
(Кластеризация)
(96 промежуточных версий не показаны.)
Строка 1: Строка 1:
{{TOCright}}
{{TOCright}}
-
'''Теория обучения машин''' (machine learning, машинное обучение) находится на стыке [[Прикладная статистика|прикладной статистики]], [[Методы оптимизации|численных методов оптимизации]], [[Дискретный анализ|дискретного анализа]], и за последние 50 лет оформилась в самостоятельную математическую дисциплину. Методы [[Машинное обучение|машинного обучения]] составляют основу ещё более молодой дисциплины — ''[[Интеллектуальный анализ данных|интеллектуального анализа данных]]'' (data mining).
+
'''Теория обучения машин''' (machine learning, машинное обучение) находится на стыке [[Прикладная статистика|прикладной статистики]], [[Методы оптимизации|численных методов оптимизации]], [[Дискретный анализ|дискретного анализа]], и за последние 60 лет оформилась в самостоятельную математическую дисциплину. Методы [[Машинное обучение|машинного обучения]] составляют основу ещё более молодой дисциплины — ''[[Интеллектуальный анализ данных|интеллектуального анализа данных]]'' (data mining).
-
В курсе рассматриваются основные задачи обучения по прецедентам: [[классификация]], [[кластеризация]], [[регрессия]], [[понижение размерности]]. Изучаются методы их решения, как классические, так и новые, созданные за последние 10–15 лет. Упор делается на глубокое понимание математических основ, взаимосвязей, достоинств и ограничений рассматриваемых методов. Отдельные теоремы приводятся с доказательствами.
+
В курсе рассматриваются основные задачи обучения по прецедентам: [[классификация]], [[кластеризация]], [[регрессия]], [[понижение размерности]]. Изучаются методы их решения, как классические, так и новые, созданные за последние 10–15 лет. Упор делается на глубокое понимание математических основ, взаимосвязей, достоинств и ограничений рассматриваемых методов. Теоремы в основном приводятся без доказательств.
Все методы излагаются по единой схеме:
Все методы излагаются по единой схеме:
Строка 10: Строка 10:
* анализ достоинств, недостатков и границ применимости;
* анализ достоинств, недостатков и границ применимости;
* пути устранения недостатков;
* пути устранения недостатков;
-
* сравнение с другими методами.
+
* сравнение и взаимосвязи с другими методами.
* примеры прикладных задач.
* примеры прикладных задач.
Строка 20: Строка 20:
* студентам [[Школа анализа данных Яндекса|Школы анализа данных Яндекса]] с 2009 года.
* студентам [[Школа анализа данных Яндекса|Школы анализа данных Яндекса]] с 2009 года.
-
На материал данного курса опираются последующие кафедральные курсы.
+
От студентов требуются знания курсов линейной алгебры, математического анализа, теории вероятностей. Знание [[Математическая статистика|математической статистики]], [[Методы оптимизации|методов оптимизации]] и языка программирования [[Python]] желательно, но не обязательно.
-
На кафедре ММП ВМиК МГУ параллельно с данным курсом и в дополнение к нему читается спецкурс [[Теория надёжности обучения по прецедентам (курс лекций, К. В. Воронцов)|Теория надёжности обучения по прецедентам]], посвящённый проблемам [[Переобучение|переобучения]] и оценивания [[Обобщающая способность|обобщающей способности]].
+
-
От студентов требуются знания курсов линейной алгебры, математического анализа, теории вероятностей. Знание [[Математическая статистика|математической статистики]], [[Методы оптимизации|методов оптимизации]] и какого-либо языка программирования желательно, но не обязательно.
+
<!---На материал данного курса опираются последующие кафедральные курсы.
 +
На&nbsp;кафедре ММП ВМиК МГУ параллельно с данным курсом и в&nbsp;дополнение к&nbsp;нему читается спецкурс [[Теория надёжности обучения по прецедентам (курс лекций, К. В. Воронцов)|Теория надёжности обучения по прецедентам]], посвящённый проблемам [[Переобучение|переобучения]] и оценивания [[Обобщающая способность|обобщающей способности]].
Ниже представлена расширенная программа — в полном объёме она занимает больше, чем могут вместить в себя два семестра.
Ниже представлена расширенная программа — в полном объёме она занимает больше, чем могут вместить в себя два семестра.
-
Каждый параграф приблизительно соответствует одной лекции.
+
Каждый параграф приблизительно соответствует одной лекции. --->
''Курсивом'' выделен дополнительный материал, который может разбираться на семинарах.
''Курсивом'' выделен дополнительный материал, который может разбираться на семинарах.
=== Замечания для студентов ===
=== Замечания для студентов ===
-
* Видеолекции [http://shad.yandex.ru/lectures/machine_learning.xml ШАД Яндекс].
+
* Осенью 2020 года курс читается в дистанционном режиме. [https://zoom.us/j/95829589904?pwd=eTVZdGpKUnN1Q0hSYlZ3cWpGMGh2UT09 Подключиться к конференции Zoom] {{Важно|Обновлено: 12-09-2020}}
 +
* [https://github.com/andriygav/MachineLearningSeminars/blob/master/README.rst Ссылка на семинары для студентов МФТИ]
 +
* [https://ya-r.ru/2020/05/07/vorontsov-kurs-mashinnoe-obuchenie-2019-shkola-analiza-dannyh/ Видеолекции ШАД Яндекс]. {{Важно|Обновлено: 2019 год}}
 +
* [https://www.coursera.org/learn/vvedenie-mashinnoe-obuchenie «Введение в машинное обучение» на Курсэре] содержит примерно втрое меньше материала, чем в годовом курсе, представленном на этой странице. Там очень многое упрощено, спрятано, пропущено. Действительно введение.
* На подстранице имеется перечень [[Машинное обучение (курс лекций, К.В.Воронцов)/Вопросы|вопросов к устному экзамену]]. Очень помогает при подготовке к устному экзамену!
* На подстранице имеется перечень [[Машинное обучение (курс лекций, К.В.Воронцов)/Вопросы|вопросов к устному экзамену]]. Очень помогает при подготовке к устному экзамену!
* О найденных ошибках и опечатках [[Служебная:EmailUser/Vokov|сообщайте мне]]. —&nbsp;''[[Участник:Vokov|К.В.Воронцов]] 18:24, 19 января 2009 (MSK)''
* О найденных ошибках и опечатках [[Служебная:EmailUser/Vokov|сообщайте мне]]. —&nbsp;''[[Участник:Vokov|К.В.Воронцов]] 18:24, 19 января 2009 (MSK)''
* Материал, который есть в pdf-тексте, но не рассказывался на лекциях, обычно не входит в программу экзамена.
* Материал, который есть в pdf-тексте, но не рассказывался на лекциях, обычно не входит в программу экзамена.
 +
* Короткая ссылка на эту страницу: [https://bit.ly/1bCmE3Z https://bit.ly/1bCmE3Z].
-
= Первый семестр =
+
= Семестр 1. Математические основы машинного обучения =
'''Текст лекций:''' [[Media:Voron-ML-1.pdf|(PDF,&nbsp;3&nbsp;МБ)]] {{важно|— обновление 4.10.2011}}.
'''Текст лекций:''' [[Media:Voron-ML-1.pdf|(PDF,&nbsp;3&nbsp;МБ)]] {{важно|— обновление 4.10.2011}}.
== Основные понятия и примеры прикладных задач ==
== Основные понятия и примеры прикладных задач ==
-
Презентация: [[Media:Voron-ML-Intro-slides.pdf|(PDF,&nbsp;1,4&nbsp;МБ)]] {{важно|— обновление 09.02.2015}}.
+
Презентация: [[Media:Voron-ML-Intro-slides.pdf|(PDF,&nbsp;1,4&nbsp;МБ)]] {{важно|— обновление 05.09.2020}}.
-
 
+
* Постановка задач обучения по прецедентам. Объекты и признаки. Типы шкал: бинарные, номинальные, порядковые, количественные.
* Постановка задач обучения по прецедентам. Объекты и признаки. Типы шкал: бинарные, номинальные, порядковые, количественные.
* Типы задач: [[классификация]], [[регрессия]], [[прогнозирование]], [[ранжирование]].
* Типы задач: [[классификация]], [[регрессия]], [[прогнозирование]], [[ранжирование]].
Строка 51: Строка 54:
* Конкурсы по анализу данных [http://kaggle.com kaggle.com]. [[Полигон алгоритмов классификации]].
* Конкурсы по анализу данных [http://kaggle.com kaggle.com]. [[Полигон алгоритмов классификации]].
* [[CRISP-DM]] — межотраслевой стандарт ведения проектов [[Data Mining | интеллектуального анализа данных]].
* [[CRISP-DM]] — межотраслевой стандарт ведения проектов [[Data Mining | интеллектуального анализа данных]].
 +
 +
== Линейный классификатор и стохастический градиент ==
 +
Презентация: [[Media:Voron-ML-Lin-SG.pdf|(PDF,&nbsp;1,1&nbsp;МБ)]] {{важно|— обновление 12.09.2020}}.
 +
* [[Линейный классификатор]], модель МакКаллока-Питтса, непрерывные аппроксимации пороговой функции потерь.
 +
* [[Метод стохастического градиента]] SG.
 +
* [[Метод стохастического среднего градиента]] SAG.
 +
<!--
 +
* Частные случаи: [[адаптивный линейный элемент]] ADALINE, [[перcептрон Розенблатта]], [[правило Хэбба]].
 +
* [[Теорема Новикова]] о сходимости. Доказательство теоремы Новикова
 +
-->
 +
* Эвристики: инициализация весов, порядок предъявления объектов, выбор величины градиентного шага, «выбивание» из локальных минимумов.
 +
* Проблема мультиколлинеарности и переобучения, регуляризация или [[редукция весов]] (weight decay).
 +
* Вероятностная постановка задачи классификации. Принцип максимума правдоподобия.
 +
* Вероятностная интерпретация регуляризации, совместное правдоподобие данных и модели. Принцип максимума апостериорной вероятности.
 +
* Гауссовский и лапласовский регуляризаторы.
 +
* [[Логистическая регрессия]]. Принцип максимума правдоподобия и логарифмическая функция потерь. [[Метод стохастического градиента]] для логарифмической функции потерь. Многоклассовая логистическая регрессия. Регуляризованная логистическая регрессия. [[Калибровка Платта]].
 +
<!--
 +
* Функции потерь, зависящие от цены ошибок. [[Кривая ошибок]] (ROC curve). Алгоритм эффективного построения ROC-кривой.
 +
* Градиентный метод максимизации AUC.
 +
-->
 +
 +
== Нейронные сети: градиентные методы оптимизации ==
 +
Презентация: [[Media:Voron-ML-ANN-slides.pdf|(PDF,&nbsp;1,4&nbsp;МБ)]] {{важно|— обновление 19.09.2020}}.
 +
* Биологический нейрон, [[модель МакКаллока-Питтса]] как [[линейный классификатор]]. Функции активации.
 +
* Проблема полноты. [[Задача исключающего или]]. Полнота двухслойных сетей в пространстве булевых функций.
 +
<!--* ''Теоремы Колмогорова, Стоуна, Горбаня (без доказательства).''-->
 +
* [[Алгоритм обратного распространения ошибок]].
 +
* Быстрые методы стохастического градиента: Поляка, Нестерова, AdaGrad, RMSProp, AdaDelta, Adam, Nadam, [[диагональный метод Левенберга-Марквардта]].
 +
* Проблема взрыва градиента и эвристика gradient clipping.
 +
* Метод случайных отключений нейронов (Dropout). Интерпретации Dropout. Обратный Dropout и L2-регуляризация.
 +
* Функции активации ReLU и PReLU. Проблема [[паралич сети|«паралича» сети]].
 +
* Эвристики для формирования начального приближения. Метод послойной настройки сети.
 +
* Подбор структуры сети: методы постепенного усложнения сети, [[оптимальное прореживание нейронных сетей]] (optimal brain damage).
 +
<!--* [[Нейронная сеть Кохонена]]. [[Конкурентное обучение]], стратегии WTA и WTM.
 +
* [[Самоорганизующаяся карта Кохонена]]. Применение для визуального анализа данных. Искусство интерпретации карт Кохонена.* [[Сети встречного распространения]], их применение для кусочно-постоянной и гладкой аппроксимации функций.
 +
-->
== Метрические методы классификации и регрессии ==
== Метрические методы классификации и регрессии ==
-
Презентация: [[Media:Voron-ML-Metric-slides.pdf|(PDF,&nbsp;3,5&nbsp;МБ)]] {{важно|— обновление 18.02.2015}}.
+
Презентация: [[Media:Voron-ML-Metric-slides.pdf|(PDF,&nbsp;3,2&nbsp;МБ)]] {{важно|— обновление 05.03.2020}}.
* Гипотезы компактности и непрерывности.
* Гипотезы компактности и непрерывности.
Строка 60: Строка 99:
* [[Метод окна Парзена]] с постоянной и переменной шириной окна.
* [[Метод окна Парзена]] с постоянной и переменной шириной окна.
* [[Метод потенциальных функций]] и его связь с линейной моделью классификации.
* [[Метод потенциальных функций]] и его связь с линейной моделью классификации.
 +
* Задача отбора эталонов. [[Полный скользящий контроль]] (CCV), формула быстрого вычисления для метода 1NN. [[Профиль компактности]].
 +
* Отбор эталонных объектов на основе минимизации функционала полного скользящего контроля.
* Непараметрическая регрессия. Локально взвешенный [[метод наименьших квадратов]]. [[Ядерное сглаживание]].
* Непараметрическая регрессия. Локально взвешенный [[метод наименьших квадратов]]. [[Ядерное сглаживание]].
-
* [[Оценка Надарая-Ватсона]] с постоянной и переменной шириной окна. Выбор функции ядра.
+
* [[Оценка Надарая-Ватсона]] с постоянной и переменной шириной окна. Выбор функции ядра и ширины окна сглаживания.
* Задача отсева выбросов. Робастная непараметрическая регрессия. [[Алгоритм LOWESS]].
* Задача отсева выбросов. Робастная непараметрическая регрессия. [[Алгоритм LOWESS]].
-
* Задача отбора эталонов. Понятие [[отступ]]а. [[Алгоритм СТОЛП]].
 
-
* Задача отбора признаков. Жадный алгоритм построения метрики.
 
<!--
<!--
* ''[[Функция конкурентного сходства]], [[алгоритм FRiS-СТОЛП]]''.
* ''[[Функция конкурентного сходства]], [[алгоритм FRiS-СТОЛП]]''.
-
* ''[[Функционал полного скользящего контроля]], формула быстрого вычисления для метода 1NN. [[Профиль компактности]]. Функция вклада объекта. Отбор эталонных объектов на основе минимизации функционала полного скользящего контроля. Эффективные структуры данных для быстрого поиска ближайших объектов в прямых и обратных окрестностях — [[метрические деревья]].''
+
* ''Эффективные структуры данных для быстрого поиска ближайших объектов в прямых и обратных окрестностях — [[метрические деревья]].''
 +
* ''Понятие [[отступ]]а. [[Алгоритм СТОЛП]].''
 +
* ''Задача отбора признаков. Жадный алгоритм построения метрики.''
* ''Концепция вывода на основе прецедентов ([[CBR]]).''
* ''Концепция вывода на основе прецедентов ([[CBR]]).''
-->
-->
-
 
-
== Логические методы классификации ==
 
-
Текст лекций: [[Media:Voron-ML-Logic.pdf|(PDF,&nbsp;625&nbsp;КБ)]].<br/>
 
-
Презентация: [[Media:Voron-ML-Logic-slides.pdf|(PDF,&nbsp;1.8&nbsp;МБ)]] {{важно| — обновление 26.02.2015}}.
 
-
 
-
* Понятие [[логическая закономерность|логической закономерности]]. Эвристическое, статистическое, энтропийное определение [[информативность|информативности]]. Индекс Джини. Сравнение областей эвристических и статистических закономерностей. ''Асимптотическая эквивалентность статистического и энтропийного определения.''
 
-
* Разновидности закономерностей: конъюнкции пороговых предикатов (гиперпараллелепипеды), синдромные правила, шары, гиперплоскости.
 
-
* Жадные алгоритмы синтеза конъюнкций: ''[[стохастический локальный поиск]], [[стабилизация]], [[редукция]].''
 
-
* Решающий пень. [[Бинаризация признаков]]. Алгоритм разбиения области значений признака на информативные зоны.
 
-
* [[Решающий список]]. Жадный алгоритм синтеза списка.
 
-
* [[Решающее дерево]]. Жадный [[алгоритм ID3]]. Недостатки алгоритма и способы их устранения. Проблема переобучения.
 
-
* [[Редукция решающих деревьев]]: [[предредукция]] и [[постредукция]].
 
-
* Преобразование решающего дерева в решающий список.
 
-
* ''[[Небрежные решающие деревья]] (oblivious decision tree).''
 
-
* Решающий лес. [[Случайный лес]] (Random Forest).
 
-
 
-
== Критерии выбора моделей и методы отбора признаков ==
 
-
Текст лекций: [[Media:Voron-ML-Modeling.pdf|(PDF,&nbsp;330&nbsp;КБ)]].<br/>
 
-
Презентация: [[Media:Voron-ML-Modeling-slides.pdf|(PDF,&nbsp;1,0&nbsp;МБ)]] {{важно|— обновление 05.03.2015}}.
 
-
 
-
* Внутренние и [[внешние критерии]]. Эмпирические и аналитические критерии.
 
-
* [[Скользящий контроль]], разновидности эмпирических оценок скользящего контроля. [[Критерий непротиворечивости]].
 
-
* Разновидности аналитических оценок. [[Регуляризация]]. [[Критерий Акаике]] (AIC). [[Байесовский информационный критерий]] (BIC). Оценка Вапника-Червоненкиса.
 
-
* ''Статистические критерии: [[коэффициент детерминации]], [[критерий Фишера]], [[анализ регрессионных остатков]].''
 
-
* ''Агрегированные и многоступенчатые критерии''.
 
-
* Сложность задачи [[отбор признаков|отбора признаков]]. [[Полный перебор]].
 
-
* [[Метод добавления и удаления]], шаговая регрессия.
 
-
* [[Поиск в глубину]], метод ветвей и границ.
 
-
* Усечённый [[поиск в ширину]], [[многорядный итерационный алгоритм МГУА]].
 
-
* [[Генетический алгоритм]], его сходство с МГУА.
 
-
* [[Случайный поиск]] и [[Случайный поиск с адаптацией]] (СПА).
 
-
<!---
 
-
=== Теория обобщающей способности ===
 
-
* [[Теория Вапника-Червоненкиса]]. Функционал равномерного отклонения частот ошибок. [[Функция роста]], [[ёмкость]] семейства алгоритмов. [[Структурная минимизация риска]].
 
-
* ''Оценка «бритвы Оккама»''.
 
-
* ''[[Радемахеровская сложность]] семейства алгоритмов.''
 
-
* [[Комбинаторная теория переобучения (виртуальный семинар)|Комбинаторная теория переобучения]]. Функционал вероятности переобучения. Граф расслоения-связности. Оценки расслоения-связности.
 
-
--->
 
-
 
-
== Градиентные методы обучения ==
 
-
 
-
Презентация: [[Media:Voron-ML-Lin-SG.pdf|(PDF,&nbsp;1,6&nbsp;МБ)]] {{важно|— обновление 09.03.2015}}.
 
-
* [[Линейный классификатор]], модель МакКаллока-Питтса, непрерывные аппроксимации пороговой функции потерь.
 
-
* [[Метод стохастического градиента]] SG.
 
-
* [[Метод стохастического среднего градиента]] SAG.
 
-
* Частные случаи: [[адаптивный линейный элемент]] ADALINE, [[перcептрон Розенблатта]], [[правило Хэбба]].
 
-
* [[Теорема Новикова]] о сходимости. Доказательство теоремы Новикова
 
-
* Эвристики: инициализация весов, порядок предъявления объектов, выбор величины градиентного шага, «выбивание» из локальных минимумов.
 
-
* Проблема мультиколлинеарности и переобучения, [[редукция весов]] (weight decay).
 
-
* Функции потерь, зависящие от цены ошибок. [[Кривая ошибок]] (ROC curve). Алгоритм эффективного построения ROC-кривой.
 
-
* Градиентный метод максимизации AUC.
 
== Метод опорных векторов ==
== Метод опорных векторов ==
-
Презентация: [[Media:Voron-ML-Lin-SVM.pdf|(PDF,&nbsp;1,2&nbsp;МБ)]] {{важно|— обновление 16.03.2015}}.
+
Презентация: [[Media:Voron-ML-Lin-SVM.pdf|(PDF,&nbsp;1,1&nbsp;МБ)]] {{важно|— обновление 24.03.2020}}.
* Оптимальная разделяющая гиперплоскость. Понятие [[зазор]]а между классами (margin).
* Оптимальная разделяющая гиперплоскость. Понятие [[зазор]]а между классами (margin).
* Случаи линейной разделимости и отсутствия линейной разделимости. Связь с минимизацией регуляризованного эмпирического риска. Кусочно-линейная функция потерь.
* Случаи линейной разделимости и отсутствия линейной разделимости. Связь с минимизацией регуляризованного эмпирического риска. Кусочно-линейная функция потерь.
Строка 132: Строка 122:
* SVM-регрессия.
* SVM-регрессия.
* Регуляризации для отбора признаков: [[LASSO SVM]], [[Elastic Net SVM]], [[SFM]], [[RFM]].
* Регуляризации для отбора признаков: [[LASSO SVM]], [[Elastic Net SVM]], [[SFM]], [[RFM]].
-
* Вероятностная интерпретация регуляризации. Принцип максимума совместного правдоподобия данных и модели. Гауссовский и лапласовский регуляризаторы.
 
* Метод релевантных векторов [[RVM]]
* Метод релевантных векторов [[RVM]]
 +
<!---
* ''Обучение SVM методом активных ограничений. [[Алгоритм INCAS]]. [[Алгоритм SMO]].''
* ''Обучение SVM методом активных ограничений. [[Алгоритм INCAS]]. [[Алгоритм SMO]].''
* ''ню-SVM.''
* ''ню-SVM.''
 +
--->
== Многомерная линейная регрессия ==
== Многомерная линейная регрессия ==
-
Презентация: [[Media:Voron-ML-regression-slides.pdf|(PDF,&nbsp;0,7&nbsp;MБ)]] {{важно|— обновление 24.03.2015}}.
+
Презентация: [[Media:Voron-ML-regression-slides.pdf|(PDF,&nbsp;0,7&nbsp;MБ)]] {{важно|— обновление 14.12.2019}}.
* Задача регрессии, [[многомерная линейная регрессия]].
* Задача регрессии, [[многомерная линейная регрессия]].
* [[Метод наименьших квадратов]], его вероятностный смысл и геометрический смысл.
* [[Метод наименьших квадратов]], его вероятностный смысл и геометрический смысл.
Строка 146: Строка 137:
* Методы отбора признаков: [[Лассо Тибширани]], [[Elastic Net]], сравнение с гребневой регрессией.
* Методы отбора признаков: [[Лассо Тибширани]], [[Elastic Net]], сравнение с гребневой регрессией.
* [[Метод главных компонент]] и [[декоррелирующее преобразование]] Карунена-Лоэва, его связь с сингулярным разложением.
* [[Метод главных компонент]] и [[декоррелирующее преобразование]] Карунена-Лоэва, его связь с сингулярным разложением.
 +
* Спектральный подход к решению задачи наименьших квадратов.
 +
* Задачи и методы низкоранговых матричных разложений.
<!---
<!---
=== Шаговая регрессия ===
=== Шаговая регрессия ===
Строка 154: Строка 147:
== Нелинейная регрессия ==
== Нелинейная регрессия ==
-
Презентация: [[Media:Voron-ML-regress-non-slides.pdf|(PDF,&nbsp;0,7&nbsp;MБ)]] {{важно|— обновление 02.04.2015}}.
+
Презентация: [[Media:Voron-ML-regress-non-slides.pdf|(PDF,&nbsp;0,7&nbsp;MБ)]] {{важно|— обновление 14.12.2019}}.
* [[Метод Ньютона-Рафсона]], [[метод Ньютона-Гаусса]].
* [[Метод Ньютона-Рафсона]], [[метод Ньютона-Гаусса]].
* Обобщённая аддитивная модель (GAM): [[метод настройки с возвращениями]] (backfitting) Хасти-Тибширани.
* Обобщённая аддитивная модель (GAM): [[метод настройки с возвращениями]] (backfitting) Хасти-Тибширани.
-
* [[Логистическая регрессия]]. Метод наименьших квадратов с итерационным взвешиванием (IRLS).
+
* [[Логистическая регрессия]]. [[Метод наименьших квадратов с итеративным пересчётом весов]] (IRLS). Пример прикладной задачи: кредитный скоринг. Бинаризация признаков. Скоринговые карты и оценивание вероятности дефолта. ''Риск кредитного портфеля банка.''
* [[Обобщённая линейная модель]] (GLM). Экспоненциальное семейство распределений.
* [[Обобщённая линейная модель]] (GLM). Экспоненциальное семейство распределений.
* Неквадратичные функции потерь. Метод наименьших модулей. Квантильная регрессия. Пример прикладной задачи: прогнозирование потребительского спроса.
* Неквадратичные функции потерь. Метод наименьших модулей. Квантильная регрессия. Пример прикладной задачи: прогнозирование потребительского спроса.
* Робастная регрессия, функции потерь с горизонтальными асимптотами.
* Робастная регрессия, функции потерь с горизонтальными асимптотами.
 +
<!---
 +
* [[Логистическая регрессия]]. Гипотеза экспоненциальности функций правдоподобия классов. Теорема о линейности байесовского оптимального классификатора. Оценивание апостериорных вероятностей классов с помощью сигмоидной функции активации.
 +
--->
-
== Прогнозирование временных рядов ==
+
== Критерии выбора моделей и методы отбора признаков ==
-
Презентация: [[Media:Voron-ML-forecasting-slides.pdf|(PDF,&nbsp;0,9&nbsp;)]] {{важно|— обновление 06.04.2015}}.
+
Текст лекций: [[Media:Voron-ML-Modeling.pdf|(PDF,&nbsp;330&nbsp;КБ)]].<br/>
-
* Задача прогнозирования временных рядов. Примеры приложений.
+
Презентация: [[Media:Voron-ML-Quality-slides.pdf|(PDF,&nbsp;1,5&nbsp;МБ)]] {{важно|— обновление 14.12.2019}}.
-
* [[Экспоненциальное сглаживание|Экспоненциальное скользящее среднее]]. [[Модель Хольта]]. [[Модель Тейла-Вейджа]]. [[Модель Хольта-Уинтерса]].
+
-
* Адаптивная авторегрессионная модель.
+
-
* [[Следящий контрольный сигнал]]. [[Модель Тригга-Лича]].
+
-
* Адаптивная селективная модель. Адаптивная композиция моделей. Адаптация весов с регуляризацией.
+
-
== Байесовская теория классификации ==
+
* Критерии качества классификации: чувствительность и специфичность, ROC-кривая и AUC, точность и полнота, AUC-PR.
-
Презентация: [[Media:Voron-ML-Bayes1-slides.pdf|(PDF,&nbsp;1,1&nbsp;МБ)]] {{важно|— обновление 13.04.2015}}.
+
* Внутренние и [[внешние критерии]]. Эмпирические и аналитические критерии.
 +
* [[Скользящий контроль]], разновидности эмпирических оценок скользящего контроля. [[Критерий непротиворечивости]].
 +
* Разновидности аналитических оценок. [[Регуляризация]]. [[Критерий Акаике]] (AIC). [[Байесовский информационный критерий]] (BIC). Оценка Вапника-Червоненкиса.
 +
* Сложность задачи [[отбор признаков|отбора признаков]]. [[Полный перебор]].
 +
* [[Метод добавления и удаления]], шаговая регрессия.
 +
* [[Поиск в глубину]], метод ветвей и границ.
 +
* Усечённый [[поиск в ширину]], [[многорядный итерационный алгоритм МГУА]].
 +
* [[Генетический алгоритм]], его сходство с МГУА.
 +
* [[Случайный поиск]] и [[Случайный поиск с адаптацией]] (СПА).
 +
<!---
 +
* ''Агрегированные и многоступенчатые критерии''.
 +
* ''Статистические критерии: [[коэффициент детерминации]], [[критерий Фишера]], [[анализ регрессионных остатков]].''
 +
== Теория обобщающей способности ==
 +
* [[Теория Вапника-Червоненкиса]]. Функционал равномерного отклонения частот ошибок. [[Функция роста]], [[ёмкость]] семейства алгоритмов. [[Структурная минимизация риска]].
 +
* ''Оценка «бритвы Оккама»''.
 +
* ''[[Радемахеровская сложность]] семейства алгоритмов.''
 +
* [[Комбинаторная теория переобучения (виртуальный семинар)|Комбинаторная теория переобучения]]. Функционал вероятности переобучения. Граф расслоения-связности. Оценки расслоения-связности.
 +
--->
 +
 
 +
== Логические методы классификации ==
 +
Текст лекций: [[Media:Voron-ML-Logic.pdf|(PDF,&nbsp;625&nbsp;КБ)]].<br/>
 +
Презентация: [[Media:Voron-ML-Logic-slides.pdf|(PDF,&nbsp;1.8&nbsp;МБ)]] {{важно| — обновление 05.03.2030}}.
 +
 
 +
* Понятие [[логическая закономерность|логической закономерности]].
 +
* Параметрические семейства закономерностей: конъюнкции пороговых правил, синдромные правила, шары, гиперплоскости.
 +
* Переборные алгоритмы синтеза конъюнкций: [[стохастический локальный поиск]], [[стабилизация]], [[редукция]].
 +
* Двухкритериальный отбор информативных закономерностей, парето-оптимальный фронт в (p,n)-пространстве.
 +
* [[Решающее дерево]]. Жадная нисходящая стратегия «разделяй и властвуй». [[Алгоритм ID3]]. Недостатки жадной стратегии и способы их устранения. Проблема переобучения.
 +
* Вывод критериев ветвления. Мера нечистоты (impurity) распределения. Энтропийный критерий, критерий Джини.
 +
* [[Редукция решающих деревьев]]: [[предредукция]] и [[постредукция]]. [[Алгоритм C4.5]].
 +
* Деревья регрессии. [[Алгоритм CART]].
 +
* [[Небрежные решающие деревья]] (oblivious decision tree).
 +
* Решающий лес. [[Случайный лес]] (Random Forest).
 +
 
 +
'''Факультатив'''
 +
* Статистический критерий информативности, [[точный тест Фишера]]. Сравнение областей эвристических и статистических закономерностей. Асимптотическая эквивалентность статистического и энтропийного критерия информативности. Разнообразие критериев информативности в (p,n)-пространстве.
 +
* Решающий пень. [[Бинаризация признаков]]. Алгоритм разбиения области значений признака на информативные зоны.
 +
* [[Решающий список]]. Жадный алгоритм синтеза списка.
 +
* Преобразование решающего дерева в решающий список.
 +
 
 +
== Линейные композиции, бустинг ==
 +
Текст лекций: [[Media:Voron-ML-Compositions.pdf|(PDF,&nbsp;1&nbsp;MБ)]].<br/>
 +
Презентация: [[Media:Voron-ML-Compositions-slides.pdf|(PDF,&nbsp;0.9&nbsp;МБ)]] {{важно|— обновление 14.12.2019}}.
 +
* Основные понятия: [[базовый алгоритм]] ([[алгоритмический оператор]]), [[корректирующая операция]].
 +
* [[Взвешенное голосование]].
 +
* [[Алгоритм AdaBoost]]. Экспоненциальная аппроксимация пороговой функции потерь. Процесс последовательного обучения базовых алгоритмов. Теорема о сходимости [[бустинг]]а.
 +
* Обобщающая способность бустинга.
 +
* Базовые алгоритмы в бустинге. Решающие пни.
 +
* ''Варианты бустинга: [[GentleBoost]], [[LogitBoost]], [[BrownBoost]], и другие.''
 +
* [[Градиентный бустинг]]. Стохастический градиентный бустинг.
 +
* [[Алгоритм AnyBoost]].
 +
* [[Алгоритм XGBoost]].
 +
 
 +
== Байесовская классификация и оценивание плотности ==
 +
Презентация: [[Media:Voron-ML-BTC-EM-slides.pdf|(PDF,&nbsp;1,6&nbsp;МБ)]] {{важно|— обновление 14.12.2019}}.
* Принцип максимума апостериорной вероятности. Теорема об оптимальности байесовского классификатора.
* Принцип максимума апостериорной вероятности. Теорема об оптимальности байесовского классификатора.
Строка 180: Строка 226:
* Параметрическое оценивание плотности. [[Нормальный дискриминантный анализ]].
* Параметрическое оценивание плотности. [[Нормальный дискриминантный анализ]].
* [[Многомерное нормальное распределение]], геометрическая интерпретация. Выборочные оценки параметров многомерного нормального распределения.
* [[Многомерное нормальное распределение]], геометрическая интерпретация. Выборочные оценки параметров многомерного нормального распределения.
-
* ''Матричное дифференцирование. Вывод оценок параметров многомерного нормального распределения.''
 
* [[Квадратичный дискриминант]]. Вид разделяющей поверхности. [[Подстановочный алгоритм]], его недостатки и способы их устранения.
* [[Квадратичный дискриминант]]. Вид разделяющей поверхности. [[Подстановочный алгоритм]], его недостатки и способы их устранения.
-
* [[Линейный дискриминант Фишера]]. ''Связь с [[метод наименьших квадратов|методом наименьших квадратов]].''
+
* [[Линейный дискриминант Фишера]].
* Проблемы [[мультиколлинеарность|мультиколлинеарности]] и [[переобучение|переобучения]]. [[Регуляризация]] ковариационной матрицы.
* Проблемы [[мультиколлинеарность|мультиколлинеарности]] и [[переобучение|переобучения]]. [[Регуляризация]] ковариационной матрицы.
* Параметрический наивный байесовский классификатор.
* Параметрический наивный байесовский классификатор.
 +
* [[Смесь распределений]].
 +
* [[EM-алгоритм]] как метод простых итераций для решения системы нелинейных уравнений.
 +
* Выбор числа компонентов смеси. Пошаговая стратегия. Априорное распределение Дирихле.
 +
* Смесь многомерных нормальных распределений. [[Сеть радиальных базисных функций]] (RBF) и применение EM-алгоритма для её настройки.
 +
* Сравнение RBF-сети и SVM с гауссовским ядром.
 +
<!---
 +
* ''Связь линейного дискриминанта Фишера с [[метод наименьших квадратов|методом наименьших квадратов]].''
 +
* ''Матричное дифференцирование. Вывод оценок параметров многомерного нормального распределения.''
* Жадное добавление признаков в линейном дискриминанте, ''[[метод редукции размерности]] Шурыгина.''
* Жадное добавление признаков в линейном дискриминанте, ''[[метод редукции размерности]] Шурыгина.''
* ''Робастное оценивание. Цензурирование выборки (отсев объектов-выбросов).''
* ''Робастное оценивание. Цензурирование выборки (отсев объектов-выбросов).''
 +
== Разделение смеси распределений ==
 +
Презентация: [[Media:Voron-ML-Bayes2-slides.pdf|(PDF,&nbsp;1,7&nbsp;МБ)]] {{важно|— обновление 27.04.2017}}.
 +
* Детали реализации EM-алгоритма. Критерий останова. Выбор начального приближения.
 +
* Обобщённый EM-алгоритм. Стохастический EM-алгоритм. Иерархический EM-алгоритм.
 +
* Задача кластеризации. [[EM-алгоритм]] и [[Алгоритм k средних]] (k-means).
 +
* Задача частичного обучения.
 +
--->
-
== Логистическая регрессия. Разделение смеси распределений ==
+
== Кластеризация и частичное обучение ==
-
Презентация: [[Media:Voron-ML-Bayes2-slides.pdf|(PDF,&nbsp;0,8&nbsp;МБ)]] {{важно|— обновление 20.04.2015}}.
+
Презентация: [[Media:Voron-ML-Clustering-SSL-slides.pdf|(PDF,&nbsp;1,8&nbsp;МБ)]] {{важно|— обновление 14.12.2019}}.
-
 
+
-
* Гипотеза экспоненциальности функций правдоподобия классов. Теорема о линейности байесовского оптимального классификатора. Оценивание апостериорных вероятностей классов с помощью сигмоидной функции активации.
+
-
* [[Логистическая регрессия]]. Принцип максимума правдоподобия и логарифмическая функция потерь.
+
-
* [[Метод стохастического градиента]] для логарифмической функции потерь. Сглаженное правило Хэбба.
+
-
* [[Метод наименьших квадратов с итеративным пересчётом весов]] (IRLS).
+
-
* Пример прикладной задачи: кредитный скоринг. Бинаризация признаков. Скоринговые карты и оценивание вероятности дефолта. ''Риск кредитного портфеля банка.''
+
-
* [[Смесь распределений]].
+
-
* [[EM-алгоритм]]: основная идея, понятие скрытых переменных. Теорема об эквивалентной системе уравнений. ЕМ алгоритм как метод простых итераций.
+
-
* Детали реализации EM-алгоритма. Критерий останова. Выбор начального приближения. Выбор числа компонентов смеси.
+
-
* Стохастический EM-алгоритм.
+
-
* Смесь многомерных нормальных распределений. [[Сеть радиальных базисных функций]] (RBF) и применение EM-алгоритма для её настройки.
+
-
* Сопоставление RBF-сети и SVM с гауссовским ядром.
+
-
 
+
-
== Кластеризация ==
+
-
Презентация: [[Media:Voron-ML-Clustering-slides.pdf|(PDF,&nbsp;1,7&nbsp;МБ)]] {{важно|— обновление 27.04.2015}}.
+
* Постановка задачи [[кластеризация|кластеризации]]. Примеры прикладных задач. Типы кластерных структур.
* Постановка задачи [[кластеризация|кластеризации]]. Примеры прикладных задач. Типы кластерных структур.
-
* Статистические алгоритмы: [[EM-алгоритм]] и [[Алгоритм k средних]] (k-means).
+
* Постановка задачи Semisupervised Learning, примеры приложений.
 +
* Оптимизационные постановки задач кластеризации и частичного обучения.
 +
* [[Алгоритм k-средних]] и [[ЕМ-алгоритм]] для разделения гауссовской смеси.
* [[Графовые алгоритмы кластеризации]]. Выделение связных компонент. [[Кратчайший незамкнутый путь]].
* [[Графовые алгоритмы кластеризации]]. Выделение связных компонент. [[Кратчайший незамкнутый путь]].
* [[Алгоритм ФОРЭЛ]].
* [[Алгоритм ФОРЭЛ]].
-
* Функционалы качества кластеризации.
+
* [[Алгоритм DBSCAN]].
 +
* [[Агломеративная кластеризация]], [[Алгоритм Ланса-Вильямса]] и его частные случаи.
 +
* Алгоритм построения [[дендрограмма|дендрограммы]]. Определение числа кластеров.
 +
* Свойства сжатия/растяжения, монотонности и редуктивности. Псевдокод редуктивной версии алгоритма.
 +
* Простые эвристические методы частичного обучения: self-training, co-training, co-learning.
 +
* Трансдуктивный метод опорных векторов TSVM.
 +
* Алгоритм Expectation-Regularization на основе многоклассовой регуляризированной логистической регрессии.
 +
<!--
 +
* ''Потоковые (субквадратичные) алгоритмы кластеризации.''
 +
* [[Многомерное шкалирование]], примеры прикладных задач.
 +
* Субквадратичный алгоритм, псевдокод. Минимизация функционала стресса методом Ньютона-Рафсона.
 +
* Визуализация: [[карта сходства]], [[диаграмма Шепарда]].
 +
* Совмещение многомерного шкалирования и иерархической кластеризации.
 +
* [[Алгоритм t-SNE]]
 +
-->
-
= Второй семестр =
+
= Семестр 2. Прикладные модели машинного обучения =
-
== Нейросетевые методы классификации и регрессии ==
+
== Прогнозирование временных рядов ==
-
Презентация: [[Media:Voron-ML-NeuralNets-slides.pdf|(PDF,&nbsp;1,8&nbsp;МБ)]] {{важно|— обновление 16.04.2012}}.
+
Презентация: [[Media:Voron-ML-forecasting-slides.pdf|(PDF,&nbsp;0,9&nbsp;)]] {{важно|— обновление 14.12.2019}}.
 +
* Задача прогнозирования временных рядов. Примеры приложений.
 +
* [[Экспоненциальное сглаживание|Экспоненциальное скользящее среднее]]. [[Модель Хольта]]. [[Модель Тейла-Вейджа]]. [[Модель Хольта-Уинтерса]].
 +
* Адаптивная авторегрессионная модель.
 +
* [[Следящий контрольный сигнал]]. [[Модель Тригга-Лича]].
 +
* Адаптивная селективная модель. Адаптивная композиция моделей.
 +
* Локальная адаптация весов с регуляризацией.
-
=== Многослойные нейронные сети ===
+
== Поиск ассоциативных правил ==
-
* Биологический нейрон, [[модель МакКаллока-Питтса]] как [[линейный классификатор]]. Функции активации.
+
Презентация: [[Media:Voron-ML-AssocRules-slides.pdf|(PDF,&nbsp;1.1&nbsp;МБ)]] {{важно| — обновление 14.12.2019}}.
-
* Проблема полноты. [[Задача исключающего или]]. Полнота двухслойных сетей в пространстве булевых функций. Теоремы Колмогорова, Стоуна, Горбаня (без доказательства).
+
* Понятие [[Ассоциативное правило|ассоциативного правила]] и его связь с понятием логической закономерности.
-
* [[Алгоритм обратного распространения ошибок]].
+
* Примеры прикладных задач: [[анализ рыночных корзин]], выделение терминов и тематики текстов.
-
* Эвристики: формирование начального приближения, ускорение сходимости, [[диагональный метод Левенберга-Марквардта]]. Проблема [[паралич сети|«паралича» сети]].
+
* [[Алгоритм APriori]]. Два этапа: поиск частых наборов и рекурсивное порождение ассоциативных правил. Недостатки и пути усовершенствования алгоритма APriori.
-
* Метод послойной настройки сети.
+
* [[Алгоритм FP-growth]]. Понятия FP-дерева и условного FP-дерева. Два этапа поиска частых наборов в FP-growth: построение FP-дерева и рекурсивное порождение частых наборов.
-
* Подбор структуры сети: методы постепенного усложнения сети, [[оптимальное прореживание нейронных сетей]] (optimal brain damage).
+
* Общее представление о динамических и иерархических методах поиска ассоциативных правил.
-
== Композиционные методы классификации и регрессии ==
+
== Нейронные сети глубокого обучения ==
-
Текст лекций: [[Media:Voron-ML-Compositions.pdf|(PDF,&nbsp;1&nbsp;MБ)]].<br/>
+
Презентация: [[Media:Voron-ML-DeepLearning-slides.pdf|(PDF,&nbsp;3,4&nbsp;МБ)]] {{важно|— обновление 14.12.2019}}.
-
Презентация: [[Media:Voron-ML-Compositions-slides.pdf|(PDF,&nbsp;1.1&nbsp;МБ)]] {{важно|— обновление 04.03.2014}}.
+
* Свёрточные нейронные сети (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).
-
=== Линейные композиции, бустинг ===
+
== Эвристические, стохастические, нелинейные композиции ==
-
* Основные понятия: [[базовый алгоритм]] ([[алгоритмический оператор]]), [[корректирующая операция]].
+
Презентация: [[Media:Voron-ML-Compositions-slides2.pdf|(PDF,&nbsp;0.9&nbsp;МБ)]] {{важно|— обновление 14.12.2019}}.
-
* [[Взвешенное голосование]].
+
-
* [[Алгоритм AdaBoost]]. Экспоненциальная аппроксимация пороговой функции потерь. Процесс последовательного обучения базовых алгоритмов. Теорема о сходимости [[бустинг]]а.
+
-
* Базовые алгоритмы в бустинге. Решающие пни.
+
-
* ''Варианты бустинга: [[GentleBoost]], [[LogitBoost]], [[BrownBoost]], и другие.''
+
-
* [[Алгоритм AnyBoost]].
+
-
* [[Градиентный бустинг]].
+
-
 
+
-
=== Эвристические и стохастические методы ===
+
-
* [[Простое голосование]] (комитет большинства). Эвристический алгоритм ComBoost. Идентификация нетипичных объектов (выбросов). Обобщение на большое число классов.
+
-
* ''[[Решающий список]] (комитет старшинства). Эвристический алгоритм. Стратегия выбора классов для базовых алгоритмов.''
+
* Стохастические методы: [[бэггинг]] и [[метод случайных подпространств]].
* Стохастические методы: [[бэггинг]] и [[метод случайных подпространств]].
 +
* [[Простое голосование]] (комитет большинства). Алгоритм ComBoost. Идентификация нетипичных объектов (выбросов).
 +
* Преобразование простого голосования во взвешенное.
 +
* Обобщение на большое число классов.
 +
* Случайный лес.
 +
* Анализ смещения и вариации для простого голосования.
 +
* [[Смесь алгоритмов]] (квазилинейная композиция), [[область компетентности]], примеры функций компетентности.
 +
* Выпуклые функции потерь. Методы построения смесей: последовательный и иерархический.
 +
* Построение смеси алгоритмов с помощью EM-подобного алгоритма.
<!---
<!---
 +
* ''[[Решающий список]] (комитет старшинства). Алгоритм обучения. Стратегия выбора классов для базовых алгоритмов.''
 +
* ''Нелинейная монотонная корректирующая операция. Случай классификации. Случай регрессии. Задача монотонизации выборки, изотонная регрессия.''
=== Метод комитетов ===
=== Метод комитетов ===
* Общее понятие: [[комитет]] системы ограничений. Комитеты большинства, простое и взвешенное голосование (''z,p''-комитеты).
* Общее понятие: [[комитет]] системы ограничений. Комитеты большинства, простое и взвешенное голосование (''z,p''-комитеты).
Строка 267: Строка 342:
* Применение бустинга, ТЭМП и СПА для оптимизации АВО.
* Применение бустинга, ТЭМП и СПА для оптимизации АВО.
--->
--->
-
 
-
=== Нелинейные алгоритмические композиции ===
 
-
* [[Смесь алгоритмов]], [[область компетентности]] алгоритма.
 
-
* Выпуклые функции потерь. Методы построения смесей: последовательный и иерархический.
 
-
* Построение смеси алгоритмов с помощью EM-подобного алгоритма.
 
-
* ''Нелинейная монотонная корректирующая операция. Случай классификации. Случай регрессии. Задача монотонизации выборки, изотонная регрессия.''
 
-
 
== Ранжирование ==
== Ранжирование ==
-
Презентация: [[Media:Voron-ML-Ranking-slides.pdf|(PDF,&nbsp;0,5&nbsp;МБ)]] {{важно|— обновление 27.11.2013}}.
+
Презентация: [[Media:Voron-ML-Ranking-slides.pdf|(PDF,&nbsp;0,5&nbsp;МБ)]] {{важно|— обновление 14.12.2019}}.
-
 
+
* Постановка задачи [[Обучение ранжированию|обучения ранжированию]]. Примеры.
* Постановка задачи [[Обучение ранжированию|обучения ранжированию]]. Примеры.
* Признаки в задаче ранжирования поисковой выдачи: текстовые, ссылочные, кликовые. [[TF-IDF]]. [[PageRank]].
* Признаки в задаче ранжирования поисковой выдачи: текстовые, ссылочные, кликовые. [[TF-IDF]]. [[PageRank]].
Строка 284: Строка 351:
* Попарный подход: RankingSVM, RankNet, LambdaRank.
* Попарный подход: RankingSVM, RankNet, LambdaRank.
-
== Обучение без учителя ==
+
== Рекомендательные системы ==
-
 
+
Презентация: [[Media:Voron-ML-CF.pdf|(PDF,&nbsp;0.8&nbsp;МБ)]] {{важно| — обновление 14.12.2019}}.
-
=== Сети Кохонена ===
+
-
* [[Нейронная сеть Кохонена]]. [[Конкурентное обучение]], стратегии WTA и WTM.
+
-
* [[Самоорганизующаяся карта Кохонена]]. Применение для визуального анализа данных. Искусство интерпретации карт Кохонена.
+
-
* [[Сети встречного распространения]], их применение для кусочно-постоянной и гладкой аппроксимации функций.
+
-
 
+
-
=== Таксономия ===
+
-
* [[Агломеративная кластеризация]], [[Алгоритм Ланса-Вильямса]] и его частные случаи.
+
-
* Алгоритм построения [[дендрограмма|дендрограммы]]. Определение числа кластеров.
+
-
* Свойства сжатия/растяжения, монотонности и редуктивности. Псевдокод редуктивной версии алгоритма.
+
-
* ''Потоковые (субквадратичные) алгоритмы кластеризации.''
+
-
 
+
-
<!---
+
-
=== Многомерное шкалирование ===
+
-
* [[Многомерное шкалирование]], примеры прикладных задач.
+
-
* Субквадратичный алгоритм, псевдокод. Минимизация функционала стресса методом Ньютона-Рафсона.
+
-
* Визуализация: [[карта сходства]], [[диаграмма Шепарда]].
+
-
* Совмещение многомерного шкалирования и иерархической кластеризации.
+
-
--->
+
-
 
+
-
=== Поиск ассоциативных правил ===
+
-
Презентация: [[Media:Voron-ML-AssocRules-slides.pdf|(PDF,&nbsp;1.1&nbsp;МБ)]] {{важно| — обновление 21.06.2014}}.
+
-
 
+
-
* Понятие [[Ассоциативное правило|ассоциативного правила]] и его связь с понятием логической закономерности.
+
-
* Примеры прикладных задач: [[анализ рыночных корзин]], выделение терминов и тематики текстов.
+
-
* [[Алгоритм APriori]]. Два этапа: поиск частых наборов и рекурсивное порождение ассоциативных правил. Недостатки и пути усовершенствования алгоритма APriori.
+
-
* [[Алгоритм FP-growth]]. Понятия FP-дерева и условного FP-дерева. Два этапа поиска частых наборов в FP-growth: построение FP-дерева и рекурсивное порождение частых наборов.
+
-
* Общее представление о динамических и иерархических методах поиска ассоциативных правил.
+
-
 
+
-
=== Задачи с частичным обучением ===
+
-
Презентация: [[Media:Voron-ML-SSL.pdf|(PDF,&nbsp;0.9&nbsp;МБ)]] {{важно| — обновление 21.06.2014}}.
+
-
 
+
-
* Постановка задачи Semisupervised Learning, примеры приложений.
+
-
* Простые эвристические методы: self-training, co-training, co-learning.
+
-
* Адаптация алгоритмов кластеризации для решения задач с частичным обучением. Кратчайшиё незамкнутый путь. Алгоритм Ланса-Уильямса. Алгоритм k-средних.
+
-
* Трансдуктивный метод опорных векторов TSVM.
+
-
* Алгоритм Expectation-Regularization на основе многоклассовой регуляризированной логистической регрессии.
+
-
 
+
-
=== Коллаборативная фильтрация ===
+
-
Презентация: [[Media:Voron-ML-CF.pdf|(PDF,&nbsp;1.5&nbsp;МБ)]] {{важно| — обновление 13.04.2014}}.
+
-
 
+
* Задачи [[коллаборативная фильтрация|коллаборативной фильтрации]], [[транзакционные данные]] и матрица субъекты—объекты.
* Задачи [[коллаборативная фильтрация|коллаборативной фильтрации]], [[транзакционные данные]] и матрица субъекты—объекты.
-
* Корреляционные методы user-based, item-based.
+
* Корреляционные методы user-based, item-based. Задача восстановления пропущенных значений. Меры сходства субъектов и объектов.
-
* Латентные методы на основе [[би-кластеризация|би-кластеризации]]. [[Алгоритм Брегмана]].
+
* ''Латентные методы на основе [[би-кластеризация|би-кластеризации]]. [[Алгоритм Брегмана]].''
-
* Латентные методы на основе матричных разложений. [[Метод главных компонент]] для разреженных данных. [[Метод стохастического градиента]].
+
* Латентные методы на основе матричных разложений. [[Метод главных компонент]] для разреженных данных (LFM, Latent Factor Model). [[Метод стохастического градиента]].
-
* Неотрицательные матричные разложения. Разреженный SVD. Метод чередующихся наименьших квадратов ALS.
+
* Неотрицательные матричные разложения. Метод чередующихся наименьших квадратов ALS.
 +
* Модель с учётом неявной информации (implicit feedback).
 +
* Рекомендации с учётом дополнительных признаковых данных. Линейная и квадратичная регрессионные модели, [[libFM]].
 +
* Измерение качества рекомендаций. Меры разнообразия (diversity), новизны (novelty), покрытия (coverage), догадливости (serendipity).
-
=== Тематическое моделирование ===
+
== Тематическое моделирование ==
Текст лекций: [[Media:Voron-ML-TopicModels.pdf|(PDF,&nbsp;830&nbsp;КБ)]].<br/>
Текст лекций: [[Media:Voron-ML-TopicModels.pdf|(PDF,&nbsp;830&nbsp;КБ)]].<br/>
-
Презентация: [[Media:Voron-ML-TopicModels-slides.pdf|(PDF,&nbsp;2.5&nbsp;МБ)]] {{важно| — обновление 12.11.2014}}.
+
<!---
-
 
+
Презентация 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}}.
 +
--->
 +
Презентация: [[Media:Voron-ML-TopicModeling-slides.pdf|(PDF,&nbsp;1.6&nbsp;МБ)]] {{важно| — обновление 14.12.2019}}.
* Задача [[тематическое моделирование|тематического моделирования]] коллекции текстовых документов.
* Задача [[тематическое моделирование|тематического моделирования]] коллекции текстовых документов.
-
* [[Метод максимума правдоподобия]]. Униграммная модель документа. Применение метода множителей Лагранжа.
+
* [[Вероятностный латентный семантический анализ]] PLSA. [[Метод максимума правдоподобия]]. [[ЕМ-алгоритм]]. Элементарная интерпретация EM-алгоритма.
-
* [[Вероятностный латентный семантический анализ]] PLSA. [[ЕМ-алгоритм]].
+
* [[Латентное размещение Дирихле]] LDA. [[Метод максимума апостериорной вероятности]]. Сглаженная частотная оценка условной вероятности.
-
* [[Латентное размещение Дирихле]] LDA. Сглаженная частотная оценка условной вероятности.
+
* Небайесовская интерпретация LDA и её преимущества. Регуляризаторы разреживания, сглаживания, частичного обучения.
-
* Аддитивная регуляризация тематических моделей. Регуляризованный EM-алгоритм, теорема о стационарной точке.
+
* Аддитивная регуляризация тематических моделей. Регуляризованный EM-алгоритм, теорема о стационарной точке (применение условий Каруша–Куна–Таккера).
-
* Регуляризаторы разреживания, сглаживания, декоррелирования и отбора тем.
+
* Рациональный EM-алгоритм. Онлайновый EM-алгоритм и его распараллеливание.
-
 
+
* Мультимодальная тематическая модель.
-
=== Обучение с подкреплением ===
+
* Регуляризаторы классификации и регрессии.
-
Презентация: [[Media:Voron-ML-RL-slides.pdf|(PDF,&nbsp;0.9&nbsp;МБ)]] {{важно| — обновление 21.06.2014}}.
+
* Регуляризаторы декоррелирования и отбора тем.
 +
* Внутренние и внешние критерии качества тематических моделей.
 +
== Обучение с подкреплением ==
 +
Презентация: [[Media:Voron-ML-RL-slides.pdf|(PDF,&nbsp;1.0&nbsp;МБ)]] {{важно| — обновление 14.12.2019}}.
* Задача о многоруком бандите. Жадные и эпсилон-жадные стратегии. Метод UCB (upper confidence bound). Стратегия Softmax.
* Задача о многоруком бандите. Жадные и эпсилон-жадные стратегии. Метод UCB (upper confidence bound). Стратегия Softmax.
* Среда для экспериментов.
* Среда для экспериментов.
* Адаптивные стратегии на основе скользящих средних. Метод сравнения с подкреплением. Метод преследования.
* Адаптивные стратегии на основе скользящих средних. Метод сравнения с подкреплением. Метод преследования.
-
* Общая постановка задачи обучения с подкреплением. Ценность состояния среды. Ценность действия.
+
* Постановка задачи в случае, когда агент влияет на среду. Ценность состояния среды. Ценность действия.
-
* Метод временных разностей. Метод SARSA. Метод Q-обучения.
+
* Жадные стратегии максимизации ценности. Уравнения оптимальности Беллмана.
-
* Многошаговое TD-прогнозирование. Обобщения методов временных разностей, SARSA, Q-обучения.
+
* Метод временных разностей TD. Метод Q-обучения.
-
* Адаптивный полужадный метод VDBE.
+
<!---* Многошаговое TD-прогнозирование. Обобщения методов временных разностей, SARSA, Q-обучения. --->
 +
* Градиентная оптимизация стратегии (policy gradient). Связь с максимизацией log-правдоподобия.
 +
* Постановка задачи при наличии информации о среде в случае выбора действия. Контекстный многорукий бандит.
 +
* Линейная регрессионная модель с верхней доверительной оценкой LinUCB.
 +
* Оценивание новой стратегии по большим историческим данным.
 +
<!---* Адаптивный полужадный метод VDBE.--->
-
== Ссылки ==
+
== Активное обучение ==
 +
Презентация: [[Media:Voron-ML-AL-slides.pdf|(PDF,&nbsp;1.2&nbsp;МБ)]] {{важно| — обновление 14.12.2019}}.
 +
* Постановка задачи машинного обучения. Основные стратегии: отбор объектов из выборки и из потока, синтез объектов.
 +
* Сэмплирование по неуверенности. Почему активное обучение быстрее пассивного.
 +
* Сэмплирование по несогласию в комитете. Сокращение пространства решений.
 +
* Сэмплирование по ожидаемому изменению модели.
 +
* Сэмплирование по ожидаемому сокращению ошибки.
 +
* Синтез объектов по критерию сокращения дисперсии.
 +
* Взвешивание по плотности.
 +
* Оценивание качества активного обучения.
 +
* Введение изучающих действий в стратегию активного обучении. Алгоритмы ε-active и EG-active.
 +
* Применение обучения с подкреплением для активного обучения. Активное томпсоновское сэмплирование.
 +
 
 +
== Заключительная лекция ==
 +
Презентация: [[Media:Voron-ML-final.pdf|(PDF,&nbsp;2.0&nbsp;МБ)]] {{важно| — обновление 14.12.2019}}.
 +
 
 +
Обзор курса. Оптимизационные задачи машинного обучения.
 +
 
 +
= См. также =
 +
* [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/Машинное обучение (курс лекций, К.В.Воронцов)/}}
{{Служебная:Prefixindex/Машинное обучение (курс лекций, К.В.Воронцов)/}}
[[Категория:Учебные курсы]]
[[Категория:Учебные курсы]]

Версия 08:36, 19 сентября 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, 0,7 MБ) — обновление 14.12.2019.

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

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

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

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

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

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

Факультатив

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

См. также

Литература

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

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

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