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

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

(Различия между версиями)
Перейти к: навигация, поиск
м (Отбор эталонов и оптимизация метрики: уточнение)
(один PDF файл на весь 1-й семестр)
Строка 1: Строка 1:
{{TOCright}}
{{TOCright}}
-
'''Машинное обучение''' возникло на стыке [[Прикладная статистика|прикладной статистики]], [[Методы оптимизации|оптимизации]], [[Дискретный анализ|дискретного анализа]], и за последние 30 лет оформилось в самостоятельную математическую дисциплину. Методы [[Машинное обучение|машинного обучения]] составляют основу ещё более молодой дисциплины — ''[[Интеллектуальный анализ данных|интеллектуального анализа данных]]'' (data mining).
+
'''Теория обучения машин''' (machine learning, машинное обучение) возникла на стыке [[Прикладная статистика|прикладной статистики]], [[Методы оптимизации|оптимизации]], [[Дискретный анализ|дискретного анализа]], и за последние 50 лет оформилась в самостоятельную математическую дисциплину. Методы [[Машинное обучение|машинного обучения]] составляют основу ещё более молодой дисциплины — ''[[Интеллектуальный анализ данных|интеллектуального анализа данных]]'' (data mining).
В курсе рассматриваются основные задачи обучения по прецедентам: [[классификация]], [[кластеризация]], [[регрессия]], [[понижение размерности]]. Изучаются методы их решения, как классические, так и новые, созданные за последние 10–15 лет. Упор делается на глубокое понимание математических основ, взаимосвязей, достоинств и ограничений рассматриваемых методов. Отдельные теоремы приводятся с доказательствами.
В курсе рассматриваются основные задачи обучения по прецедентам: [[классификация]], [[кластеризация]], [[регрессия]], [[понижение размерности]]. Изучаются методы их решения, как классические, так и новые, созданные за последние 10–15 лет. Упор делается на глубокое понимание математических основ, взаимосвязей, достоинств и ограничений рассматриваемых методов. Отдельные теоремы приводятся с доказательствами.
Строка 16: Строка 16:
Курс читается
Курс читается
-
студентам 3 курса кафедры [[Интеллектуальные системы (кафедра МФТИ)|«Интеллектуальные системы / интеллектуальный анализ данных» ФУПМ МФТИ]] с 2004 года;
+
* студентам 3 курса кафедры [[Интеллектуальные системы (кафедра МФТИ)|«Интеллектуальные системы / интеллектуальный анализ данных» ФУПМ МФТИ]] с 2004 года;
-
студентам 3 курса кафедры [[Математические методы прогнозирования (кафедра ВМиК МГУ)|«Математические методы прогнозирования» ВМиК МГУ]] с 2007 года;
+
* студентам 3 курса кафедры [[Математические методы прогнозирования (кафедра ВМиК МГУ)|«Математические методы прогнозирования» ВМиК МГУ]] с 2007 года;
-
студентам [[Школа анализа данных Яндекса|Школы анализа данных Яндекса]] с 2009 года.
+
* студентам [[Школа анализа данных Яндекса|Школы анализа данных Яндекса]] с 2009 года.
На материал данного курса опираются последующие кафедральные курсы.
На материал данного курса опираются последующие кафедральные курсы.
Строка 32: Строка 32:
'''Замечание 1.'''
'''Замечание 1.'''
-
В этих лекциях есть материал, который не входит в программу курса.
+
Матриал, который есть в pdf-тексте, но не рассказывался на лекциях, не входит в программу экзамена.
-
Он включён «для общего развития» и на экзамене спрашиваться не будет.
+
'''Замечание 2.'''
'''Замечание 2.'''
Строка 44: Строка 43:
= Первый семестр =
= Первый семестр =
 +
 +
Текст лекций: [[Media:Voron-ML-1.pdf|(PDF, 3 МБ)]].
=== Основные понятия и примеры прикладных задач ===
=== Основные понятия и примеры прикладных задач ===
-
Текст лекции: [[Media:Voron-ML-Intro1.pdf|(PDF, 287 КБ)]].
 
* Постановка задач обучения по прецедентам. Объекты и признаки. Типы шкал: бинарные, номинальные, порядковые, количественные.
* Постановка задач обучения по прецедентам. Объекты и признаки. Типы шкал: бинарные, номинальные, порядковые, количественные.
Строка 55: Строка 55:
== Статистичесие (байесовские) методы классификации ==
== Статистичесие (байесовские) методы классификации ==
-
Текст лекций: [[Media:Voron-ML-Bayes1.pdf|(PDF,&nbsp;610&nbsp;КБ)]].<br/>
 
Презентация: [[Media:Voron-ML-Bayes-slides.pdf|(PDF,&nbsp;1,37&nbsp;МБ)]]
Презентация: [[Media:Voron-ML-Bayes-slides.pdf|(PDF,&nbsp;1,37&nbsp;МБ)]]
Строка 89: Строка 88:
== Метрические методы классификации ==
== Метрические методы классификации ==
-
Текст лекций: [[Media:Voron-ML-Metric1.pdf|(PDF,&nbsp;191&nbsp;КБ)]].<br/>
 
Презентация: [[Media:Voron-ML-Metric-slides.pdf|(PDF,&nbsp;1.57&nbsp;МБ)]].
Презентация: [[Media:Voron-ML-Metric-slides.pdf|(PDF,&nbsp;1.57&nbsp;МБ)]].
Строка 106: Строка 104:
== Линейные методы классификации ==
== Линейные методы классификации ==
-
Текст лекций: [[Media:Voron-ML-Lin.pdf|(PDF,&nbsp;1,56&nbsp;МБ)]] ''(ожидается обновление...)''.<br/>
 
Презентация: [[Media:Voron-ML-Lin-slides.pdf|(PDF,&nbsp;1,04&nbsp;МБ)]].
Презентация: [[Media:Voron-ML-Lin-slides.pdf|(PDF,&nbsp;1,04&nbsp;МБ)]].
Строка 138: Строка 135:
== Методы регрессионного анализа ==
== Методы регрессионного анализа ==
-
Текст лекций: [[Media:Voron-ML-Regression.pdf|(PDF,&nbsp;421&nbsp;КБ)]].<br/>
 
Презентация: [[Media:Voron-ML-regression-slides.pdf|(PDF,&nbsp;781&nbsp;КБ)]].
Презентация: [[Media:Voron-ML-regression-slides.pdf|(PDF,&nbsp;781&nbsp;КБ)]].
Строка 170: Строка 166:
== Нейросетевые методы классификации и регрессии ==
== Нейросетевые методы классификации и регрессии ==
-
Текст лекций: [[Media:Voron-ML-NeuralNets.pdf|(PDF,&nbsp;346&nbsp;КБ)]].<br/>
 
Презентация: [[Media:Voron-ML-NeuralNets-slides.pdf|(PDF,&nbsp;577&nbsp;КБ)]].
Презентация: [[Media:Voron-ML-NeuralNets-slides.pdf|(PDF,&nbsp;577&nbsp;КБ)]].
Строка 182: Строка 177:
== Методы кластеризации ==
== Методы кластеризации ==
-
Текст лекций: [[Media:Voron-ML-Clustering.pdf|(PDF,&nbsp;252&nbsp;КБ)]].<br/>
 
Презентация: [[Media:Voron-ML-Clustering-slides.pdf|(PDF,&nbsp;1,43&nbsp;МБ)]].
Презентация: [[Media:Voron-ML-Clustering-slides.pdf|(PDF,&nbsp;1,43&nbsp;МБ)]].
Строка 202: Строка 196:
* [[Самоорганизующаяся карта Кохонена]]. Применение для визуального анализа данных. Искусство интерпретации карт Кохонена.
* [[Самоорганизующаяся карта Кохонена]]. Применение для визуального анализа данных. Искусство интерпретации карт Кохонена.
* [[Сети встречного распространения]], их применение для кусочно-постоянной и гладкой аппроксимации функций.
* [[Сети встречного распространения]], их применение для кусочно-постоянной и гладкой аппроксимации функций.
 +
 +
=== Многомерное шкалирование ===
 +
* [[Многомерное шкалирование]]. Минимизация функцимонала стресса методом Ньютона-Рафсона. Субквадратичный алгоритм.
 +
* [[Карта сходства]] и диаграмма Шепарда.
= Второй семестр =
= Второй семестр =

Версия 12:06, 4 октября 2011

Содержание

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

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

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

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

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

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

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

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

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

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

Замечание 1. Матриал, который есть в pdf-тексте, но не рассказывался на лекциях, не входит в программу экзамена.

Замечание 2. На подстранице имеется перечень вопросов к устному экзамену. Очень помогает при подготовке к устному экзамену!

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

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

Текст лекций: (PDF, 3 МБ).

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

Статистичесие (байесовские) методы классификации

Презентация: (PDF, 1,37 МБ)

Оптимальный байесовский классификатор

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

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

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

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

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

Презентация: (PDF, 1.57 МБ).

Метод ближайших соседей и его обобщения

Отбор эталонов и оптимизация метрики

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

Презентация: (PDF, 1,04 МБ).

Градиентные методы

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

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

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

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

Методы регрессионного анализа

Презентация: (PDF, 781 КБ).

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

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

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

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

Презентация: (PDF, 577 КБ).

Многослойные нейронные сети

Методы кластеризации

Презентация: (PDF, 1,43 МБ).

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

Таксономия

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

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

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

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

Текст лекций: (PDF, 330 КБ).
Презентация: (PDF, 750 КБ).

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

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

Композиционные методы классификации и регрессии

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

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

Эвристические и стохастические методы

Бустинг алгоритмов ранжирования

  • Задача ранжирования. Примеры: ранжирование результатов текстового поиска, задача Netflix.
  • Функционал качества — число дефектных пар.
  • Бустинг алгоритмов ранжирования — аналоги AdaBoost и AnyBoost.
  • Двудольная задача. Сведение попарного функционала качества к поточечному.

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

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

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

Текст лекций: (PDF, 625 КБ).
Презентация: (PDF, 875 КБ).

Понятия закономерности и информативности

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

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

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

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

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

Задачи с частичным обучением

  • Постановка задачи Semisupervised Learning.
  • Простые эвристические методы: self-training, co-training, co-learning.
  • Адаптация алгоритмов кластеризации для решения задач с частичным обучением.
  • Трансдуктивный метод опорных векторов TSVM.
  • Алгоритм Expectation-Regularization.


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

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