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

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

(Различия между версиями)
Перейти к: навигация, поиск
(перестановка)
(4 промежуточные версии не показаны)
Строка 36: Строка 36:
* О найденных ошибках и опечатках [[Служебная:EmailUser/Vokov|сообщайте мне]]. — ''[[Участник:Vokov|К.В.Воронцов]] 18:24, 19 января 2009 (MSK)''
* О найденных ошибках и опечатках [[Служебная:EmailUser/Vokov|сообщайте мне]]. — ''[[Участник:Vokov|К.В.Воронцов]] 18:24, 19 января 2009 (MSK)''
* Материал, который есть в pdf-тексте, но не рассказывался на лекциях, обычно не входит в программу экзамена.
* Материал, который есть в pdf-тексте, но не рассказывался на лекциях, обычно не входит в программу экзамена.
 +
* Короткая ссылка на эту страницу: [https://bit.ly/1bCmE3Z https://bit.ly/1bCmE3Z].
= Первый семестр =
= Первый семестр =
Строка 73: Строка 74:
* Градиентный метод максимизации AUC.
* Градиентный метод максимизации AUC.
-->
-->
 +
 +
== Нейронные сети: градиентные методы оптимизации ==
 +
Презентация: [[Media:Voron-ML-NeuralNets1-2018-slides.pdf|(PDF, 1,4 МБ)]] {{важно|— обновление 11.09.2018}}.
 +
* Биологический нейрон, [[модель МакКаллока-Питтса]] как [[линейный классификатор]]. Функции активации.
 +
* Проблема полноты. [[Задача исключающего или]]. Полнота двухслойных сетей в пространстве булевых функций.
 +
<!--* ''Теоремы Колмогорова, Стоуна, Горбаня (без доказательства).''-->
 +
* [[Алгоритм обратного распространения ошибок]].
 +
* Быстрые методы стохастического градиента: Поляка, Нестерова, AdaGrad, RMSProp, AdaDelta, Adam, Nadam, [[диагональный метод Левенберга-Марквардта]].
 +
* Проблема взрыва градиента и эвристика gradient clipping.
 +
* Метод случайных отключений нейронов (Dropout). Интерпретации Dropout. Обратный Dropout и L2-регуляризация.
 +
* Функции активации ReLU и PReLU. Проблема [[паралич сети|«паралича» сети]].
 +
* Эвристики для формирования начального приближения. Метод послойной настройки сети.
 +
* Подбор структуры сети: методы постепенного усложнения сети, [[оптимальное прореживание нейронных сетей]] (optimal brain damage).
 +
<!--* [[Нейронная сеть Кохонена]]. [[Конкурентное обучение]], стратегии WTA и WTM.
 +
* [[Самоорганизующаяся карта Кохонена]]. Применение для визуального анализа данных. Искусство интерпретации карт Кохонена.* [[Сети встречного распространения]], их применение для кусочно-постоянной и гладкой аппроксимации функций.
 +
-->
 +
 +
== Нейронные сети глубокого обучения ==
 +
Презентация: [[Media:Voron-ML-DeepLearning-slides.pdf|(PDF,&nbsp;3,4&nbsp;МБ)]] {{важно|— обновление 1.11.2017}}.
 +
* Свёрточные нейронные сети (CNN). Свёрточный нейрон. Pooling нейрон. Выборка размеченных изображений ImageNet.
 +
* Идея обобщения CNN на любые структурированные данные.
 +
* Рекуррентные нейронные сети (RNN). Обучение рекуррентных сетей: Backpropagation Through Time (BPTT).
 +
* Сети долгой кратковременной памяти (Long short-term memory, LSTM).
 +
* Автокодировщики. Векторные представления дискретных данных.
== Метрические методы классификации и регрессии ==
== Метрические методы классификации и регрессии ==
Строка 92: Строка 117:
* ''Концепция вывода на основе прецедентов ([[CBR]]).''
* ''Концепция вывода на основе прецедентов ([[CBR]]).''
-->
-->
-
 
-
== Логические методы классификации ==
 
-
Текст лекций: [[Media:Voron-ML-Logic.pdf|(PDF,&nbsp;625&nbsp;КБ)]].<br/>
 
-
Презентация: [[Media:Voron-ML-Logic-slides.pdf|(PDF,&nbsp;1.8&nbsp;МБ)]] {{важно| — обновление 13.03.2018}}.
 
-
 
-
* Понятие [[логическая закономерность|логической закономерности]].
 
-
* Параметрические семейства закономерностей: конъюнкции пороговых правил, синдромные правила, шары, гиперплоскости.
 
-
* Переборные алгоритмы синтеза конъюнкций: [[стохастический локальный поиск]], [[стабилизация]], [[редукция]].
 
-
* Двухкритериальный отбор информативных закономерностей, парето-оптимальный фронт в (p,n)-пространстве.
 
-
* [[Решающее дерево]]. Жадная нисходящая стратегия «разделяй и властвуй». [[Алгоритм ID3]]. Недостатки жадной стратегии и способы их устранения. Проблема переобучения.
 
-
* Вывод критериев ветвления. Мера нечистоты (impurity) распределения. Энтропийный критерий, критерий Джини.
 
-
* [[Редукция решающих деревьев]]: [[предредукция]] и [[постредукция]]. [[Алгоритм C4.5]].
 
-
* Деревья регрессии. [[Алгоритм CART]].
 
-
* [[Небрежные решающие деревья]] (oblivious decision tree).
 
-
* Решающий лес. [[Случайный лес]] (Random Forest).
 
-
 
-
'''Факультатив'''
 
-
* Статистический критерий информативности, [[точный тест Фишера]]. Сравнение областей эвристических и статистических закономерностей. Асимптотическая эквивалентность статистического и энтропийного критерия информативности. Разнообразие критериев информативности в (p,n)-пространстве.
 
-
* Решающий пень. [[Бинаризация признаков]]. Алгоритм разбиения области значений признака на информативные зоны.
 
-
* [[Решающий список]]. Жадный алгоритм синтеза списка.
 
-
* Преобразование решающего дерева в решающий список.
 
== Метод опорных векторов ==
== Метод опорных векторов ==
Строка 192: Строка 196:
* [[Комбинаторная теория переобучения (виртуальный семинар)|Комбинаторная теория переобучения]]. Функционал вероятности переобучения. Граф расслоения-связности. Оценки расслоения-связности.
* [[Комбинаторная теория переобучения (виртуальный семинар)|Комбинаторная теория переобучения]]. Функционал вероятности переобучения. Граф расслоения-связности. Оценки расслоения-связности.
--->
--->
 +
 +
== Логические методы классификации ==
 +
Текст лекций: [[Media:Voron-ML-Logic.pdf|(PDF,&nbsp;625&nbsp;КБ)]].<br/>
 +
Презентация: [[Media:Voron-ML-Logic-slides.pdf|(PDF,&nbsp;1.8&nbsp;МБ)]] {{важно| — обновление 13.03.2018}}.
 +
 +
* Понятие [[логическая закономерность|логической закономерности]].
 +
* Параметрические семейства закономерностей: конъюнкции пороговых правил, синдромные правила, шары, гиперплоскости.
 +
* Переборные алгоритмы синтеза конъюнкций: [[стохастический локальный поиск]], [[стабилизация]], [[редукция]].
 +
* Двухкритериальный отбор информативных закономерностей, парето-оптимальный фронт в (p,n)-пространстве.
 +
* [[Решающее дерево]]. Жадная нисходящая стратегия «разделяй и властвуй». [[Алгоритм ID3]]. Недостатки жадной стратегии и способы их устранения. Проблема переобучения.
 +
* Вывод критериев ветвления. Мера нечистоты (impurity) распределения. Энтропийный критерий, критерий Джини.
 +
* [[Редукция решающих деревьев]]: [[предредукция]] и [[постредукция]]. [[Алгоритм C4.5]].
 +
* Деревья регрессии. [[Алгоритм CART]].
 +
* [[Небрежные решающие деревья]] (oblivious decision tree).
 +
* Решающий лес. [[Случайный лес]] (Random Forest).
 +
 +
'''Факультатив'''
 +
* Статистический критерий информативности, [[точный тест Фишера]]. Сравнение областей эвристических и статистических закономерностей. Асимптотическая эквивалентность статистического и энтропийного критерия информативности. Разнообразие критериев информативности в (p,n)-пространстве.
 +
* Решающий пень. [[Бинаризация признаков]]. Алгоритм разбиения области значений признака на информативные зоны.
 +
* [[Решающий список]]. Жадный алгоритм синтеза списка.
 +
* Преобразование решающего дерева в решающий список.
 +
 +
== Поиск ассоциативных правил ==
 +
Презентация: [[Media:Voron-ML-AssocRules-slides.pdf|(PDF,&nbsp;1.1&nbsp;МБ)]] {{важно| — обновление 20.10.2015}}.
 +
* Понятие [[Ассоциативное правило|ассоциативного правила]] и его связь с понятием логической закономерности.
 +
* Примеры прикладных задач: [[анализ рыночных корзин]], выделение терминов и тематики текстов.
 +
* [[Алгоритм APriori]]. Два этапа: поиск частых наборов и рекурсивное порождение ассоциативных правил. Недостатки и пути усовершенствования алгоритма APriori.
 +
* [[Алгоритм FP-growth]]. Понятия FP-дерева и условного FP-дерева. Два этапа поиска частых наборов в FP-growth: построение FP-дерева и рекурсивное порождение частых наборов.
 +
* Общее представление о динамических и иерархических методах поиска ассоциативных правил.
== Байесовская классификация и оценивание плотности ==
== Байесовская классификация и оценивание плотности ==
Строка 247: Строка 280:
* [[Алгоритм t-SNE]]
* [[Алгоритм t-SNE]]
-->
-->
-
 
-
== Поиск ассоциативных правил ==
 
-
Презентация: [[Media:Voron-ML-AssocRules-slides.pdf|(PDF,&nbsp;1.1&nbsp;МБ)]] {{важно| — обновление 20.10.2015}}.
 
-
* Понятие [[Ассоциативное правило|ассоциативного правила]] и его связь с понятием логической закономерности.
 
-
* Примеры прикладных задач: [[анализ рыночных корзин]], выделение терминов и тематики текстов.
 
-
* [[Алгоритм APriori]]. Два этапа: поиск частых наборов и рекурсивное порождение ассоциативных правил. Недостатки и пути усовершенствования алгоритма APriori.
 
-
* [[Алгоритм FP-growth]]. Понятия FP-дерева и условного FP-дерева. Два этапа поиска частых наборов в FP-growth: построение FP-дерева и рекурсивное порождение частых наборов.
 
-
* Общее представление о динамических и иерархических методах поиска ассоциативных правил.
 
= Второй семестр =
= Второй семестр =
-
 
-
== Нейронные сети ==
 
-
Презентация: [[Media:Voron-ML-NeuralNets-slides.pdf|(PDF,&nbsp;1,4&nbsp;МБ)]] {{важно|— обновление 13.10.2015}}.
 
-
* Биологический нейрон, [[модель МакКаллока-Питтса]] как [[линейный классификатор]]. Функции активации.
 
-
* Проблема полноты. [[Задача исключающего или]]. Полнота двухслойных сетей в пространстве булевых функций.
 
-
* ''Теоремы Колмогорова, Стоуна, Горбаня (без доказательства).''
 
-
* [[Алгоритм обратного распространения ошибок]].
 
-
* Эвристики: формирование начального приближения, ускорение сходимости, [[диагональный метод Левенберга-Марквардта]]. Проблема [[паралич сети|«паралича» сети]].
 
-
* Метод послойной настройки сети.
 
-
* Подбор структуры сети: методы постепенного усложнения сети, [[оптимальное прореживание нейронных сетей]] (optimal brain damage).
 
-
* [[Нейронная сеть Кохонена]]. [[Конкурентное обучение]], стратегии WTA и WTM.
 
-
* [[Самоорганизующаяся карта Кохонена]]. Применение для визуального анализа данных. Искусство интерпретации карт Кохонена.
 
-
<!--* [[Сети встречного распространения]], их применение для кусочно-постоянной и гладкой аппроксимации функций.
 
-
-->
 
-
 
-
== Нейронные сети глубокого обучения ==
 
-
Презентация: [[Media:Voron-ML-DeepLearning-slides.pdf|(PDF,&nbsp;3,4&nbsp;МБ)]] {{важно|— обновление 1.11.2017}}.
 
-
* Быстрые методы стохастического градиента: Поляка, Нестерова, AdaGrad, RMSProp, AdaDelta, Adam, Nadam.
 
-
* Проблема взрыва градиента и эвристика gradient clipping
 
-
* Метод случайных отключений нейронов (Dropout). Интерпретации Dropout. Обратный Dropout и L2-регуляризация.
 
-
* Функции активации ReLU и PReLU.
 
-
* Свёрточные нейронные сети (CNN). Свёрточный нейрон. Pooling нейрон. Выборка размеченных изображений ImageNet.
 
-
* Идея обобщения CNN на любые структурированные данные.
 
-
* Рекуррентные нейронные сети (RNN). Обучение рекуррентных сетей: Backpropagation Through Time (BPTT).
 
-
* Сети долгой кратковременной памяти (Long short-term memory, LSTM)
 
== Линейные композиции, бустинг ==
== Линейные композиции, бустинг ==

Версия 13:45, 17 сентября 2018

Содержание

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

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

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

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

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

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

На материал данного курса опираются последующие кафедральные курсы.

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Свёрточные нейронные сети (CNN). Свёрточный нейрон. Pooling нейрон. Выборка размеченных изображений ImageNet.
  • Идея обобщения CNN на любые структурированные данные.
  • Рекуррентные нейронные сети (RNN). Обучение рекуррентных сетей: Backpropagation Through Time (BPTT).
  • Сети долгой кратковременной памяти (Long short-term memory, LSTM).
  • Автокодировщики. Векторные представления дискретных данных.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Факультатив

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

См. также

Литература

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