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

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

(Различия между версиями)
Перейти к: навигация, поиск
(расширена программа курса)
Строка 164: Строка 164:
=== Алгоритмические композиции ===
=== Алгоритмические композиции ===
* Основные понятия: [[базовый алгоритм]] ([[алгоритмический оператор]]), [[корректирующая операция]].
* Основные понятия: [[базовый алгоритм]] ([[алгоритмический оператор]]), [[корректирующая операция]].
-
 
-
=== Бустинг, бэггинг и аналоги ===
 
* [[Взвешенное голосование]].
* [[Взвешенное голосование]].
-
* Экспоненциальная аппроксимация пороговой функции потерь.
+
* [[Алгоритм AdaBoost]]. Экспоненциальная аппроксимация пороговой функции потерь. Процесс последовательного обучения базовых алгоритмов. Теорема о сходимости [[бустинг]]а.
-
* Процесс последовательного обучения базовых алгоритмов.
+
* Варианты бустинга: [[GentleBoost]], [[LogitBoost]], [[BrownBoost]], и другие.
-
* Теорема о сходимости [[бустинг]]а.
+
* Обобщение бустинга как процесса градиентного спуска. Теорема сходимости. [[Алгоритм AnyBoost]].
-
* Псевдокод: [[алгоритм AdaBoost]].
+
-
<!---* Варианты бустинга: GentleBoost, LogitBoost, BrownBoost, и другие.--->
+
-
* Стохастические методы: [[бэггинг]] и [[метод случайных подпространств]].
+
-
<!---
+
 +
=== Эвристические и стохастические методы построения композиций ===
* [[Простое голосование]] (комитет большинства). Эвристический алгоритм. Идентификация нетипичных объектов (выбросов). Обобщение на большое число классов.
* [[Простое голосование]] (комитет большинства). Эвристический алгоритм. Идентификация нетипичных объектов (выбросов). Обобщение на большое число классов.
* [[Решающий список]] (комитет старшинства). Эвристический алгоритм. Стратегия выбора классов для базовых алгоритмов.
* [[Решающий список]] (комитет старшинства). Эвристический алгоритм. Стратегия выбора классов для базовых алгоритмов.
 +
* Стохастические методы: [[бэггинг]] и [[метод случайных подпространств]].
=== Метод комитетов ===
=== Метод комитетов ===
Строка 184: Строка 180:
* [[Максимальная совместная подсистема]], [[минимальный комитет]]. Теоремы об ''NP''-полноте задачи поиска минимального комитета.
* [[Максимальная совместная подсистема]], [[минимальный комитет]]. Теоремы об ''NP''-полноте задачи поиска минимального комитета.
* Алгоритм построения комитета, близкого к минимальному. Верхняя оценка числа членов комитета.
* Алгоритм построения комитета, близкого к минимальному. Верхняя оценка числа членов комитета.
-
--->
 
=== Нелинейные алгоритмические композиции ===
=== Нелинейные алгоритмические композиции ===
Строка 190: Строка 185:
* Выпуклые функции потерь. Методы построения смесей: последовательный и иерархический.
* Выпуклые функции потерь. Методы построения смесей: последовательный и иерархический.
* Построение смесей экспертов с помощью EM-алгоритма.
* Построение смесей экспертов с помощью EM-алгоритма.
-
<!---* Нелинейная монотонная корректирующая операция. Случай классификации. Случай регрессии. --->
+
* ''Нелинейная монотонная корректирующая операция. Случай классификации. Случай регрессии.''
=== Оценивание и выбор моделей ===
=== Оценивание и выбор моделей ===
Строка 197: Строка 192:
* [[Критерий непротиворечивости]].
* [[Критерий непротиворечивости]].
* [[Регуляризация]].
* [[Регуляризация]].
-
* Критерии, основанные на оценках обобщающей способности: Вапника-Червоненкиса, [[критерий Акаике]] (AIC), [[байесовский информационный критерий]] (BIC).
+
* Критерий, основанные на теории Вапника-Червоненкиса.
-
<!---* Статистические критерии: [[коэффициент детерминации]], [[критерий Фишера]], [[анализ регрессионных остатков]]. --->
+
* [[Критерий Акаике]] (AIC).
 +
* [[Байесовский информационный критерий]] (BIC).
 +
* ''Статистические критерии: [[коэффициент детерминации]], [[критерий Фишера]], [[анализ регрессионных остатков]].''
* Агрегированные и многоступенчатые критерии.
* Агрегированные и многоступенчатые критерии.
Строка 220: Строка 217:
* [[Редукция решающих деревьев]]: [[предредукция]] и [[постредукция]].
* [[Редукция решающих деревьев]]: [[предредукция]] и [[постредукция]].
* Преобразование решающего дерева в решающий список.
* Преобразование решающего дерева в решающий список.
-
* [[Решающий лес]] и бустинг над решающими деревьями.
+
* [[Алгоритм LISTBB]].
* [[Переключающиеся решающие деревья]] (alternating decision tree).
* [[Переключающиеся решающие деревья]] (alternating decision tree).
 +
* [[Решающий лес]] и бустинг над решающими деревьями. [[Алгоритм TreeNet]].
=== Взвешенное голосование закономерностей ===
=== Взвешенное голосование закономерностей ===
Строка 244: Строка 242:
* Постановка задачи [[кластеризация|кластеризации]]. Примеры прикладных задач. Типы кластерных структур.
* Постановка задачи [[кластеризация|кластеризации]]. Примеры прикладных задач. Типы кластерных структур.
* [[Графовые алгоритмы кластеризации]]. Выделение связных компонент. [[Кратчайший незамкнутый путь]].
* [[Графовые алгоритмы кластеризации]]. Выделение связных компонент. [[Кратчайший незамкнутый путь]].
-
* Псевдокод алгоритма: [[ФОРЭЛ]].
+
* [[Алгоритм ФОРЭЛ]].
* Функционалы качества кластеризации.
* Функционалы качества кластеризации.
-
* Статистические алгоритмы: [[EM-алгоритм]] и [[k-means]], псевдокод.
+
* Статистические алгоритмы: [[EM-алгоритм]] и [[Алгоритм k средних]] (k-means).
=== Таксономия ===
=== Таксономия ===
-
* [[Агломеративная кластеризация]]: псевдокод алгоритма, [[формула Ланса-Вильямса]] и её частные случаи.
+
* [[Агломеративная кластеризация]], [[Алгоритм Ланса-Вильямса]] и его частные случаи.
* Алгоритм построения [[дендрограмма|дендрограммы]]. Определение числа кластеров.
* Алгоритм построения [[дендрограмма|дендрограммы]]. Определение числа кластеров.
* Свойства сжатия/растяжения, монотонности и редуктивности. Псевдокод редуктивной версии алгоритма.
* Свойства сжатия/растяжения, монотонности и редуктивности. Псевдокод редуктивной версии алгоритма.
-
<!---* Потоковые (субквадратичные) алгоритмы кластеризации.--->
+
* ''Потоковые (субквадратичные) алгоритмы кластеризации.''
-
<!---
+
 
=== Многомерное шкалирование ===
=== Многомерное шкалирование ===
* [[Многомерное шкалирование]], примеры прикладных задач.
* [[Многомерное шкалирование]], примеры прикладных задач.
Строка 259: Строка 257:
* Визуализация: [[карта сходства]], [[диаграмма Шепарда]].
* Визуализация: [[карта сходства]], [[диаграмма Шепарда]].
* Совмещение многомерного шкалирования и иерархической кластеризации.
* Совмещение многомерного шкалирования и иерархической кластеризации.
-
--->
 
=== Сети Кохонена ===
=== Сети Кохонена ===
* [[Нейронная сеть Кохонена]]. [[Конкурентное обучение]], стратегии WTA и WTM.
* [[Нейронная сеть Кохонена]]. [[Конкурентное обучение]], стратегии WTA и WTM.
* [[Самоорганизующаяся карта Кохонена]]. Применение для визуального анализа данных. Искусство интерпретации карт Кохонена.
* [[Самоорганизующаяся карта Кохонена]]. Применение для визуального анализа данных. Искусство интерпретации карт Кохонена.
-
<!---* [[Сети встречного распространения]], их применение для кусочно-постоянной и гладкой аппроксимации функций.--->
+
* [[Сети встречного распространения]], их применение для кусочно-постоянной и гладкой аппроксимации функций.
[[Категория:Учебные курсы]]
[[Категория:Учебные курсы]]

Версия 22:07, 27 августа 2009

Содержание

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

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

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

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

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

Курс читается студентам 3 курса кафедры «Интеллектуальные системы / интеллектуальный анализ данных» ФУПМ МФТИ с 2004 года; студентам 3 курса кафедры «Математические методы прогнозирования» ВМиК МГУ с 2007 года; студентам Школы анализа данных Яндекса с 2009 года.

На материал данного курса опираются последующие кафедральные курсы. На кафедре ММП ВМиК МГУ параллельно с данным курсом и в дополнение к нему читается спецкурс Теория надёжности обучения по прецедентам, посвящённый проблемам переобучения и оценивания обобщающей способности.

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

Ниже представлена расширенная программа — в полном объёме она занимает больше, чем могут вместить в себя два семестра. Каждый параграф приблизительно соответствует одной лекции. Курсивом выделен дополнительный материал, который может разбираться на семинарах.

Первый семестр

Скачать:

1.1. Основные понятия и примеры прикладных задач (PDF, 929 КБ).

1.2–1.4. Статистические (байесовские) методы классификации (PDF, 776 КБ).

1.5. Метрические методы классификации (PDF, 382 КБ).

1.6–1.9. Линейные методы классификации (PDF, 1,56 МБ).

1.10–1.12. Регрессия (PDF, 421 КБ).

1.13. Нейронные сети (PDF, 346 КБ).

Замечание 1. В этих лекциях есть материал, который не входит в программу курса. Он включён «для общего развития» и на экзамене спрашиваться не будет.

Замечание 2. О найденных ошибках и опечатках сообщайте мне. — К.В.Воронцов 18:24, 19 января 2009 (MSK)

Вопросы к устному экзамену


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

Байесовские алгоритмы классификации

Параметрическое оценивание плотности

Разделение смеси распределений

  • Смесь распределений.
  • EM-алгоритм: основная идея, понятие скрытых переменных. «Вывод» алгоритма без обоснования сходимости. Псевдокод EM-алгоритма. Критерий останова. Выбор начального приближения. Выбор числа компонентов смеси.
  • Стохастический EM-алгоритм.
  • Смесь многомерных нормальных распределений. Сеть радиальных базисных функций (RBF) и применение EM-алгоритма для её настройки.

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

Линейные алгоритмы классификации

Логистическая регрессия

  • Гипотеза экспоненциальности функций правдоподобия классов. Теорема о линейности байесовского оптимального классификатора. Оценивание апостериорных вероятностей классов с помощью сигмоидной функции активации.
  • Логистическая регрессия. Принцип максимума правдоподобия и логарифмическая функция потерь. Снова метод стохастического градиента, аналогия с правилом Хэбба.

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

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

Обобщённый линейный классификатор

  • Задача максимизации совместного правдоподобия данных и модели.
  • Возможные типы априорных предположений о вероятностном распределении в пространстве параметров и их связь с регуляризацией.
  • Некоторые разновидности регуляризаторов, применяемые на практике. Квадратичный регуляризатор. Связь линейного регуляризатора с отбором признаков.
  • Настройка порога решающего правила по критерию числа ошибок I и II рода. Кривая ошибок (ROC curve).
  • Пример прикладной задачи: кредитный скоринг; скоринговые карты; оценивание вероятности дефолта; риск кредитного портфеля банка.

Непараметрическая регрессия

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

Шаговая регрессия

Нелинейная параметрическая регрессия

Нейронные сети

Второй семестр

Алгоритмические композиции

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

Метод комитетов

  • Общее понятие: комитет системы ограничений. Комитеты большинства, простое и взвешенное голосование (z,p-комитеты).
  • Теоремы о существовании комитетного решения.
  • Сопоставление комитета линейных неравенств с нейронной сетью.
  • Максимальная совместная подсистема, минимальный комитет. Теоремы об NP-полноте задачи поиска минимального комитета.
  • Алгоритм построения комитета, близкого к минимальному. Верхняя оценка числа членов комитета.

Нелинейные алгоритмические композиции

  • Смесь экспертов, область компетентности алгоритма.
  • Выпуклые функции потерь. Методы построения смесей: последовательный и иерархический.
  • Построение смесей экспертов с помощью EM-алгоритма.
  • Нелинейная монотонная корректирующая операция. Случай классификации. Случай регрессии.

Оценивание и выбор моделей

Методы отбора признаков

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

Решающие списки и деревья

Взвешенное голосование закономерностей

  • Принцип голосования. Проблема различности (диверсификации) закономерностей.
  • Методы синтеза конъюнктивных закономерностей. Псевдокод: алгоритм КОРА, алгоритм ТЭМП.
  • Алгоритм бустинга. Теорема сходимости. Критерий информативности в бустинге.
  • Примеры прикладных задач: кредитный скоринг, прогнозирование ухода клиентов.

Алгоритмы вычисления оценок

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

Кластеризация

Таксономия

Многомерное шкалирование

Сети Кохонена

Личные инструменты