Математические методы распознавания образов (курс лекций, В.В.Китов)

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

(Различия между версиями)
Перейти к: навигация, поиск
(Применения EM-алгоритма)
(Экзамен)
 
(220 промежуточных версий не показаны.)
Строка 2: Строка 2:
{{TOCright}}
{{TOCright}}
-
Курс посвящен алгоритмам машинного обучения (machine learning), которые сами настраиваются на известных данных, выделяя их характерную структуру и взаимосвязи между ними, для их компактного описания, визуализации и последующего предсказания новых аналогичных данных. Основной акцент курса сделан на задачах предсказания дискретных величин (классификация) и непрерывных величин (регрессия), хотя в курсе также рассматриваются смежные области - эффективное снижение размерности пространства, выделение наиболее значимых признаков для предсказания, методы оценивания и сравнения вероятностных распределений, рекомендательные системы и планирование экспериментов.
+
Курс посвящен алгоритмам машинного обучения (machine learning), которые сами настраиваются на известных данных, выделяя их характерную структуру и взаимосвязи между ними, для их прогнозирования, анализа, компактного описания и визуализации. Основной акцент курса сделан на задачах предсказания дискретных величин (классификация) и непрерывных величин (регрессия), хотя в курсе также рассматриваются смежные области - эффективное снижение размерности пространства, выделение наиболее значимых признаков для предсказания, методы оценивания и сравнения вероятностных распределений, рекомендательные системы и планирование экспериментов.
 +
 
 +
Лектор: [https://victorkitov.github.io Виктор Китов]
 +
 
 +
Семинарист: [[Участник:EvgSokolov|Евгений Соколов]]
 +
 
 +
===О курсе===
Курс читается студентам 3 курса кафедры «Математические методы прогнозирования» ВМиК МГУ, магистрам, зачисленным на эту кафедру, и не проходивших ранее аналогичных курсов, а также для всех желающих. На материал данного курса опираются последующие кафедральные курсы.
Курс читается студентам 3 курса кафедры «Математические методы прогнозирования» ВМиК МГУ, магистрам, зачисленным на эту кафедру, и не проходивших ранее аналогичных курсов, а также для всех желающих. На материал данного курса опираются последующие кафедральные курсы.
Строка 8: Строка 14:
По изложению, рассматриваются математические основы методов, лежащие в их основе предположения о данных, взаимосвязи методов между собой и особенности их практического применения.
По изложению, рассматриваются математические основы методов, лежащие в их основе предположения о данных, взаимосвязи методов между собой и особенности их практического применения.
-
Курс сопровождается [[Машинное обучение (семинары, ВМК МГУ)|семинарами]], раскрывающими дополнительные темы курса и отрабатывающими навыки практического применения рассматриваемых методов. Практическое использование методов машинного обучения в основном будет вестись с использованием языка python и соответствующих библиотек для научных вычислений.
+
Курс сопровождается [https://github.com/esokolov/ml-course-msu семинарами], раскрывающими дополнительные темы курса и отрабатывающими навыки практического применения рассматриваемых методов. Практическое использование методов машинного обучения в основном будет вестись с использованием языка python и соответствующих библиотек для научных вычислений.
-
От студентов требуются знания линейной алгебры, математического анализа и теории вероятностей. Знание математической статистики, методов оптимизации и какого-либо языка программирования желательно, но не обязательно.
+
От студентов требуются знания линейной алгебры, математического анализа, теории вероятностей, математической статистики и методов оптимизации. Практические задания должны выполняться с использованием языка Python и его научных библиотек.
* Курс во многом пересекается с [[Машинное обучение (курс лекций, К.В.Воронцов)|курсом К.В.Воронцова по машинному обучению]], с которым также рекомендуется ознакомиться.
* Курс во многом пересекается с [[Машинное обучение (курс лекций, К.В.Воронцов)|курсом К.В.Воронцова по машинному обучению]], с которым также рекомендуется ознакомиться.
Строка 16: Строка 22:
* Анонимные отзывы и комментарии по лекциям [https://docs.google.com/forms/d/e/1FAIpQLSeeWRdRVQ82GPyu0FIW5RlWV9NwyWPWSlNBDrMHAHvsfln3aA/viewform можно оставлять здесь.]
* Анонимные отзывы и комментарии по лекциям [https://docs.google.com/forms/d/e/1FAIpQLSeeWRdRVQ82GPyu0FIW5RlWV9NwyWPWSlNBDrMHAHvsfln3aA/viewform можно оставлять здесь.]
-
=Экзамен (зимняя экзаменационная сессия)=
+
=Экзамен=
-
 
+
-
Пройдет 15 января (воскресенье) в 9-00 в ауд. 510.
+
-
 
+
-
[[Media:Kitov-ML-exam-autumn_2017.pdf‎|Билеты]]
+
 +
[https://disk.yandex.ru/i/IV-PV5kxhjW1kQ Процедура экзамена и вопросы]
=Программа курса=
=Программа курса=
-
==Первый семестр==
+
==Осенний семестр==
-
 
+
-
===Основные понятия и примеры прикладных задач.===
+
-
 
+
-
[[Media:Kitov-ML-eng-01-Introduction_to_machine_learning.pdf‎|Скачать презентацию (eng)]] {{важно| — обновление 19.12.2016}}.
+
-
 
+
-
[[Media:Kitov-ML-rus-01-Introduction.pdf‎|Скачать презентацию (рус)]]
+
-
 
+
-
===Метрические методы регрессии и классификации.===
+
-
 
+
-
[[Media:Kitov-ML-eng-02-K-NN.pdf‎|Скачать презентацию (KNN базовый, eng)]]
+
-
 
+
-
[[Media:Kitov-ML-eng-02-K-NN_optimization.pdf‎|Скачать презентацию (Оптимизация KNN, eng)]]
+
-
 
+
-
[[Media:Kitov-ML-rus-02-K-NN.pdf‎|Скачать презентацию (рус)]]
+
-
 
+
-
===Линейные методы снижения размерности.===
+
-
+ вывод решения для задачи линейной регрессии методом наименьших квадратов. L1 и L2 регуляризация, вывод решения регрессии с L2 регуляризацией. Свойства существования и единственности решений.
+
===[https://yadi.sk/i/NWVXfPIV3Q3TtD Введение в машинное обучение]===
-
[[Media:Kitov-ML-eng-03-PCA.pdf‎|Скачать презентацию (eng)]]
+
===[https://yadi.sk/i/iBMngr1m3Q3U6A Метод ближайших центроидов и K ближайших соседей]===
-
===Сингулярное разложение.===
+
===[https://yadi.sk/i/GQ5uO2Jb3Q3U7K Сложность моделей. Подготовка данных]===
-
[[Media:Kitov-ML-eng-04-Singular_value_decomposition.pdf‎ | Скачать презентацию (eng)]] {{важно| — обновление 19.12.2016}}.
+
===[https://yadi.sk/i/kCIhwRuo3Q3U8S Метрики близости]===
-
+разреженное кодирование, доказательство существования SVD разложения и доказательство оптимальности (по норме Фробениуса) приближения матрицы сокращенным SVD разложением.
+
===[https://yadi.sk/i/E4RT7Jyg3Q3U99 Оптимизация метода K ближайших соседей]===
-
===Методы решающих деревьев.===
+
===[https://yadi.sk/i/woDoCFT5m-lSfA Линейная регрессия и ее обобщения]===
-
[[Media:Kitov-ML-eng-05-Decision_trees.pdf‎‎ | Скачать презентацию (eng)]]
+
===[https://yadi.sk/i/Ei8ia4l3RYbIqQ Метод стохастического градиентного спуска]===
-
+семинар: Random Forest
+
===[https://yadi.sk/i/o6V18ir93Q3UBw Линейная классификация]===
-
===Оценивание моделей.===
+
===[https://yadi.sk/i/Yk0xH5y53v0q2g Оценивание классификаторов]===
-
[[Media:Kitov-ML-eng-06-Classifier_evaluation.pdf‎ | Скачать презентацию (eng)]]
+
===[https://yadi.sk/i/Pn-1M3sL3Q3UDq Метод опорных векторов]===
 +
+[https://yadi.sk/i/nMG8tf6OaMaJbQ вывод двойственной задачи для классификации опорных векторов]
-
+ROC кривая для случайного классификатора.
+
===[https://yadi.sk/i/xSEBiikXZsC8bw Обобщения методов через ядра Мерсера]===
 +
+начало доказательства, что ridge-регрессия допускает обобщение через ядра
-
===Классификация линейными методами.===
+
===[https://yadi.sk/i/5Gd8HdQ93Q3UG2 Решающие деревья]===
-
[[Media:Kitov-ML-eng-07-Linear_methods_of_classification.pdf‎ | Скачать презентацию (eng)]]
+
-
===Метод опорных векторов.===
+
===[https://yadi.sk/i/OpjStjO-6G9N1Q Ансамбли прогнозирующих алгоритмов. Смещение и дисперсия моделей]===
-
[[Media:Kitov-ML-eng-08-Support_vector_machines.pdf | Скачать презентацию (eng)]] {{важно| — обновление 19.12.2016}}.
+
-
===Обобщение методов через ядра.===
+
===[https://yadi.sk/i/JLKQrfUW3Q3UHM Бустинг]===
-
[[Media:Kitov-ML-eng-09-Kernel_methods.pdf‎‎ | Скачать презентацию (eng)]] {{важно| — обновление 19.12.2016}}.
+
-
===Байесовская теория классификации.===
+
===[https://yadi.sk/i/rDn3NOIFtDc4WQ Усовершенствования бустинга]===
-
[[Media:Kitov-ML-eng-10-Bayes_decision_rule.pdf‎‎‎ | Скачать презентацию (eng)]]
+
+[https://yadi.sk/i/OJiKEw0dg65omA LogitBoost]
-
+доказательство, что Байесовское правило минимальной ошибки действительно приводит к минимизации вероятности неправильной классификации.
+
===[https://yadi.sk/i/BzsGrci40Kwmgw Метод главных компонент]===
 +
+[https://yadi.sk/i/CpG1xsrR3Q3UAZ Свойства симметричных матриц, положительно определенные матрицы, векторное дифференцирование.]
-
+ предположение наивного Байеса.
+
==Весенний семестр==
-
+ модель Бернулли
+
===[https://yadi.sk/i/retsLM0q3Q3UK8 Байесовское решающее правило. Примеры генеративных моделей]===
-
+ Мультиномиальная модель
+
===[https://yadi.sk/i/sp_Jsg9-3XKuCL Отбор признаков]===
-
+ особенности работы с текстами (лемматизация, биграммы, извлечение коллокаций)
+
===[https://yadi.sk/i/NhBsfkgwqEbq6A Выпуклые функции]===
-
===Ядерное сглаживание для оценки плотности.===
+
===[https://disk.yandex.ru/i/u8t6N6garcICng Стандартные распределения]===
-
[[Media:Kitov-ML-eng-11-Kernel_density_estimation.pdf‎‎ | Скачать презентацию (eng)]] {{важно| — обновление 19.12.2016}}.
+
-
===Задачи регрессии.===
+
===[https://yadi.sk/i/FlxGC4Zg3Q3UUS Смеси распределений]===
-
[[Media:Kitov-ML-eng-12-Regression.pdf‎‎‎ | Скачать презентацию (eng)]] {{важно| — обновление 19.12.2016}}.
+
-
==Второй семестр==
+
===[https://yadi.sk/i/V1jMp7Ar3Q3UU2 EM-алгоритм]===
-
===Свойства выпуклых функций. Неравенство Йенсена. ===
+
[https://yadi.sk/i/Z2dLjT0h3Q3UUz Разделение смеси многомерных нормальных распределений]
-
Расстояние Кульбака-Лейблера, его неотрицательность.
+
-
+bias-variance decomposition.
+
-
===EM-алгоритм.===
+
===[https://yadi.sk/i/ySqnbCn4XVlASw Тематические модели]===
 +
(обновлено 01.04.21)
-
===Применения EM-алгоритма===
+
===[https://yadi.sk/i/-Kg--noU3Q3USA Ядерно-сглаженные оценки плотности]===
-
Смеси гауссианов и скрытая марковская модель.
+
-
===Кластеризация.===
+
===[https://yadi.sk/i/5Uu3pOIO3W7KtE Кластеризация]===
 +
(обновлено 10.04.2021)
-
===Ансамбли алгоритмов===
+
===[https://yadi.sk/i/K2EpGFqD3Q3UZM Обнаружение аномалий]===
-
RandomForest, Extra random trees, stacking, фиксированные схемы.
+
-
===Бустинг. xgBoost.===
+
===[https://yadi.sk/i/oYsPa8953W6Fsj Сингулярное разложение]===
-
===Нейросети. Dropout.===
+
[https://yadi.sk/i/60l0YQG93W6G6H Доказательство основных свойств].
-
===Методы отбора признаков.===
+
===[https://yadi.sk/i/vx3ALyzy3WfCPE Рекомендательные системы]===
-
===Нелинейные методы снижения размерности. Снижение размерности с учителем.===
+
===[https://yadi.sk/i/tB-dyX_R3W7LAV Активное обучение]===
-
===Частичное обучение (semi-supervised learning).===
+
===[https://yadi.sk/i/8yi21SL5ig_XHQ Частичное обучение]===
-
===Рекомендательные системы.===
+
===[https://yadi.sk/i/b2Dz8kaV3Q3Ubg Нелинейное снижение размерности]===
 +
[https://ru.wikipedia.org/wiki/%D0%A1%D1%82%D0%BE%D1%85%D0%B0%D1%81%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%B2%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5_%D1%81%D0%BE%D1%81%D0%B5%D0%B4%D0%B5%D0%B9_%D1%81_t-%D1%80%D0%B0%D1%81%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC Метод t-SNE ]
-
===Активное обучение.===
+
===Рекомендуемые ресурсы по Python===
 +
* Примеры для начинающих: [http://nbviewer.ipython.org/gist/voron13e02/83a86f2e0fc5e7f8424d краткое руководство с примерами по Python 2]
 +
* Python from scratch: [http://nbviewer.ipython.org/gist/rpmuller/5920182 A Crash Course in Python for Scientists]
 +
* [https://github.com/ipython/ipython/wiki/A-gallery-of-interesting-IPython-Notebooks Коллекция интересных IPython ноутбуков]
 +
* Лекции [https://github.com/jrjohansson/scientific-python-lectures#online-read-only-versions Scientific Python]
 +
* Книга: [http://www.cin.ufpe.br/~embat/Python%20for%20Data%20Analysis.pdf Wes McKinney «Python for Data Analysis»]
 +
* [http://python.org Официальный сайт]
 +
* Научные библиотеки: [http://www.numpy.org/ NumPy], [http://pandas.pydata.org/ Pandas], [http://scikit-learn.org/stable/ SciKit-Learn], [http://matplotlib.org/ Matplotlib].

Текущая версия

Содержание

Курс посвящен алгоритмам машинного обучения (machine learning), которые сами настраиваются на известных данных, выделяя их характерную структуру и взаимосвязи между ними, для их прогнозирования, анализа, компактного описания и визуализации. Основной акцент курса сделан на задачах предсказания дискретных величин (классификация) и непрерывных величин (регрессия), хотя в курсе также рассматриваются смежные области - эффективное снижение размерности пространства, выделение наиболее значимых признаков для предсказания, методы оценивания и сравнения вероятностных распределений, рекомендательные системы и планирование экспериментов.

Лектор: Виктор Китов

Семинарист: Евгений Соколов

О курсе

Курс читается студентам 3 курса кафедры «Математические методы прогнозирования» ВМиК МГУ, магистрам, зачисленным на эту кафедру, и не проходивших ранее аналогичных курсов, а также для всех желающих. На материал данного курса опираются последующие кафедральные курсы.

По изложению, рассматриваются математические основы методов, лежащие в их основе предположения о данных, взаимосвязи методов между собой и особенности их практического применения.

Курс сопровождается семинарами, раскрывающими дополнительные темы курса и отрабатывающими навыки практического применения рассматриваемых методов. Практическое использование методов машинного обучения в основном будет вестись с использованием языка python и соответствующих библиотек для научных вычислений.

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

Экзамен

Процедура экзамена и вопросы

Программа курса

Осенний семестр

Введение в машинное обучение

Метод ближайших центроидов и K ближайших соседей

Сложность моделей. Подготовка данных

Метрики близости

Оптимизация метода K ближайших соседей

Линейная регрессия и ее обобщения

Метод стохастического градиентного спуска

Линейная классификация

Оценивание классификаторов

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

+вывод двойственной задачи для классификации опорных векторов

Обобщения методов через ядра Мерсера

+начало доказательства, что ridge-регрессия допускает обобщение через ядра

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

Ансамбли прогнозирующих алгоритмов. Смещение и дисперсия моделей

Бустинг

Усовершенствования бустинга

+LogitBoost

Метод главных компонент

+Свойства симметричных матриц, положительно определенные матрицы, векторное дифференцирование.

Весенний семестр

Байесовское решающее правило. Примеры генеративных моделей

Отбор признаков

Выпуклые функции

Стандартные распределения

Смеси распределений

EM-алгоритм

Разделение смеси многомерных нормальных распределений

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

(обновлено 01.04.21)

Ядерно-сглаженные оценки плотности

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

(обновлено 10.04.2021)

Обнаружение аномалий

Сингулярное разложение

Доказательство основных свойств.

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

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

Частичное обучение

Нелинейное снижение размерности

Метод t-SNE

Рекомендуемые ресурсы по Python

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