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

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

(Различия между версиями)
Перейти к: навигация, поиск
(уточнение)
(дополнение, уточнение, ссылки)
Строка 17: Строка 17:
Курс читается студентам 3 курса кафедры [[Интеллектуальные системы (кафедра МФТИ)|«Интеллектуальные системы / интеллектуальный анализ данных» ФУПМ МФТИ]] с 2004 года и студентам 3 курса кафедры [[Математические методы прогнозирования (кафедра ВМиК МГУ)|«Математические методы прогнозирования» ВМиК МГУ]] с 2007 года.
Курс читается студентам 3 курса кафедры [[Интеллектуальные системы (кафедра МФТИ)|«Интеллектуальные системы / интеллектуальный анализ данных» ФУПМ МФТИ]] с 2004 года и студентам 3 курса кафедры [[Математические методы прогнозирования (кафедра ВМиК МГУ)|«Математические методы прогнозирования» ВМиК МГУ]] с 2007 года.
На материал данного курса существенно опираются последующие кафедральные курсы.
На материал данного курса существенно опираются последующие кафедральные курсы.
-
На кафедре ММП ВМиК МГУ параллельно с данным курсом и в дополнение к нему читается спецкурс [[Теория надёжности обучения по прецедентам (курс лекций, К.В.Воронцов)|Теория надёжности обучения по прецедентам]].
+
На кафедре ММП ВМиК МГУ параллельно с данным курсом и в дополнение к нему читается спецкурс [[Теория надёжности обучения по прецедентам (курс лекций, К.В.Воронцов)|Теория надёжности обучения по прецедентам]], посвящённый проблемам [[Переобучение|переобучения]] и оценивания [[Обобщающая способность|обобщающей способности]].
От студентов требуются знания курсов линейной алгебры, математического анализа, теории вероятностей. Знание [[Математическая статистика|математической статистики]], [[Методы оптимизации|методов оптимизации]] и какого-либо языка программирования желательно, но не обязательно.
От студентов требуются знания курсов линейной алгебры, математического анализа, теории вероятностей. Знание [[Математическая статистика|математической статистики]], [[Методы оптимизации|методов оптимизации]] и какого-либо языка программирования желательно, но не обязательно.
Строка 69: Строка 69:
* Проблема [[паралич сети|«паралича» сети]].
* Проблема [[паралич сети|«паралича» сети]].
* [[Редукция весов]] (weight decay).
* [[Редукция весов]] (weight decay).
-
* Подбор структуры сети. Методы постепенного усложнения сети.
+
* Подбор структуры сети: методы постепенного усложнения сети, [[метод оптимального прореживания сети]] (optimal brain damage).
-
* [[Метод оптимального прореживания сети]] (optimal brain damage).
+
=== Метод опорных векторов ===
=== Метод опорных векторов ===
Строка 80: Строка 79:
* Сопоставление SVM и RBF-сети.
* Сопоставление SVM и RBF-сети.
-
=== Оптимизационные техники решения задачи SVM ===
+
=== Методы оптимизации SVM ===
* Обучение SVM методом последовательной минимизации. Псевдокод: [[алгоритм SMO]].
* Обучение SVM методом последовательной минимизации. Псевдокод: [[алгоритм SMO]].
* Обучение SVM методом активных ограничений. Псевдокод: [[алгоритм INCAS]].
* Обучение SVM методом активных ограничений. Псевдокод: [[алгоритм INCAS]].
Строка 95: Строка 94:
=== Непараметрическая регрессия ===
=== Непараметрическая регрессия ===
-
* Локально взвешенный [[метод наименьших квадратов]] и [[оценка Надарая-Ватсона]].
+
* [[Сглаживание]]. Локально взвешенный [[метод наименьших квадратов]] и [[оценка Надарая-Ватсона]].
-
* [[Сглаживание]].
+
* Выбор функции ядра. Выбор ширины окна сглаживания. Сглаживание с переменной шириной окна.
* Выбор функции ядра. Выбор ширины окна сглаживания. Сглаживание с переменной шириной окна.
* Проблема выбросов и робастная непараметрическая регрессия. Псевдокод: [[алгоритм LOWESS]].
* Проблема выбросов и робастная непараметрическая регрессия. Псевдокод: [[алгоритм LOWESS]].
Строка 139: Строка 137:
* Алгоритм построения [[дендрограмма|дендрограммы]]. Определение числа кластеров.
* Алгоритм построения [[дендрограмма|дендрограммы]]. Определение числа кластеров.
* Свойства сжатия/растяжения, монотонности и редуктивности. Псевдокод редуктивной версии алгоритма.
* Свойства сжатия/растяжения, монотонности и редуктивности. Псевдокод редуктивной версии алгоритма.
-
Потоковые (субквадратичные) алгоритмы кластеризации.
+
* Потоковые (субквадратичные) алгоритмы кластеризации.
-
* [[Многомерное шкалирование]]. Размещение одной точки методом Ньютона-Рафсона. Субквадратичный алгоритм.
+
* [[Многомерное шкалирование]], примеры прикладных задач.
 +
* Субквадратичный алгоритм, псевдокод. Размещение одной точки методом Ньютона-Рафсона.
* Визуализация: [[карта сходства]], [[диаграмма Шепарда]].
* Визуализация: [[карта сходства]], [[диаграмма Шепарда]].
-
* Совмещение многомерного шкалирования и иерархической кластеризации.
+
* Совмещение многомерного шкалирования и иерархической кластеризации.
-
* Примеры прикладных задач.
+
=== Сети Кохонена и обучающееся векторное квантование ===
=== Сети Кохонена и обучающееся векторное квантование ===
Строка 224: Строка 222:
* Понятие [[Ассоциативное правило|ассоциативного правила]] и его связь с понятием логической закономерности.
* Понятие [[Ассоциативное правило|ассоциативного правила]] и его связь с понятием логической закономерности.
* Псевдокод: [[алгоритм APriori]], его недостатки и пути усовершенствования.
* Псевдокод: [[алгоритм APriori]], его недостатки и пути усовершенствования.
-
 
-
== Файлы ==
 
-
 
-
Экзаменационные билеты
 
-
 
-
Практикум
 
[[Категория:Учебные курсы]]
[[Категория:Учебные курсы]]

Версия 12:38, 29 августа 2008

Содержание

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

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

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

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

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

Курс читается студентам 3 курса кафедры «Интеллектуальные системы / интеллектуальный анализ данных» ФУПМ МФТИ с 2004 года и студентам 3 курса кафедры «Математические методы прогнозирования» ВМиК МГУ с 2007 года. На материал данного курса существенно опираются последующие кафедральные курсы. На кафедре ММП ВМиК МГУ параллельно с данным курсом и в дополнение к нему читается спецкурс Теория надёжности обучения по прецедентам, посвящённый проблемам переобучения и оценивания обобщающей способности.

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

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

Вводная лекция

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

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

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

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

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

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

  • Гипотеза экспоненциальности функций правдоподобия классов. Теорема о линейности байесовского оптимального классификатора. Оценивание апостериорных вероятностей классов с помощью сигмоидной функции активации.
  • Логистическая регрессия. Принцип максимума правдоподобия и логарифмическая функция потерь.
  • Настройка порога решающего правила по критерию числа ошибок I и II рода, кривая ошибок (lift curve), отказы от классификации.
  • Пример прикладной задачи: кредитный скоринг и скоринговые карты.

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

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

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

Методы оптимизации SVM

  • Обучение SVM методом последовательной минимизации. Псевдокод: алгоритм SMO.
  • Обучение SVM методом активных ограничений. Псевдокод: алгоритм INCAS.
  • SVM-регрессия.

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

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

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

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

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

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

  • Аддитивная модель временного ряда: тренд, сезонность, цикличность. Модель Бокса-Дженкинса. Модель ARIMA — авторегрессии и интегрированного скользящего среднего.
  • Адаптивные модели. Примеры экономических приложений.
  • Неквадратичные функции потерь, примеры прикладных задач.

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

Кластеризация: эвристические и статистические алгоритмы

Иерерхическая кластеризация и многомерное шкалирование

Сети Кохонена и обучающееся векторное квантование

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

Бустинг, бэггинг и аналоги

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

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

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

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

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

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

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

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

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

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

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

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