Машинное обучение (семинары, ВМК МГУ)

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

(Различия между версиями)
Перейти к: навигация, поиск
(Расписание занятий)
Строка 33: Строка 33:
# В конце семестра разрешается переписать одну пропущенную по любой причине проверочную работу. Также разрешается переписать все проверочные, пропущенные по уважительной причине.
# В конце семестра разрешается переписать одну пропущенную по любой причине проверочную работу. Также разрешается переписать все проверочные, пропущенные по уважительной причине.
-
== Осенний семестр 2015/2016 ==
+
== Весенний семестр 2015/2016 ==
=== Расписание занятий ===
=== Расписание занятий ===
Строка 39: Строка 39:
! Дата !! Номер !! Тема !! Материалы !! Д/З
! Дата !! Номер !! Тема !! Материалы !! Д/З
|-
|-
-
|4 сентября
+
|12 февраля
|align="center"|Семинар 1
|align="center"|Семинар 1
|
|
-
Вводное занятие:
+
EM-алгоритм:
-
* Знакомство с основными определениями в машинном обучении
+
* Скрытые переменные и смеси распределений
-
* Этапы решения задачи анализа данных
+
* EM-алгоритм в общем виде
-
* Напоминание основных фактов из прошлых курсов
+
* Вывод формул для смеси нормальных распределений
-
| [https://github.com/esokolov/ml-course-msu/blob/master/ML15/lecture-notes/Sem01_intro.pdf Конспект]
+
* Дивергенция Кульбака-Лейблера, ее свойства
-
|
+
* Обоснование EM-алгоритма
-
|-
+
| [https://github.com/esokolov/ml-course-msu/blob/master/ML15-spring/lecture-notes/Sem01_em.pdf Конспект]
-
|11 сентября
+
| [https://github.com/esokolov/ml-course-msu/blob/master/ML15-spring/homeworks/Sem01_em_hw.pdf Домашнее задание]
-
|align="center"|Семинар 2
+
-
|
+
-
Метрические методы:
+
-
* Особенности метрических методов: чувствительность к масштабу и шуму, проклятие размерности
+
-
* Примеры метрик
+
-
* Задание метрик на категориальных признаках
+
-
* Введение в NumPy, SciPy, Pandas, Scikit-Learn
+
-
| [https://github.com/esokolov/ml-course-msu/blob/master/ML15/lecture-notes/Sem02_knn.pdf Конспект]
+
-
[https://github.com/esokolov/ml-course-msu/blob/master/ML15/src/Sem02_python_intro.ipynb IPython Notebook]
+
-
|
+
-
|-
+
-
|25 сентября
+
-
|align="center"|Семинар 3
+
-
|
+
-
Метрические методы:
+
-
* Locality-sensitive hashing
+
-
* Краткое упоминание рандомизированных алгоритмов и обучения хэшированию
+
-
* Векторизация операций в NumPy
+
-
* Практические особенности kNN и LSH
+
-
| [https://github.com/esokolov/ml-course-msu/blob/master/ML15/lecture-notes/Sem03_knn.pdf Конспект]
+
-
[https://github.com/esokolov/ml-course-msu/blob/master/ML15/src/Sem03_numpy_knn.ipynb IPython Notebook]
+
-
| [https://github.com/esokolov/ml-course-msu/blob/master/ML15/homeworks/Sem03_knn_hw.pdf Домашнее задание]
+
-
|-
+
-
|2 октября
+
-
|align="center"|Семинар 4
+
-
|
+
-
Решающие деревья:
+
-
* Жадное построение решающих деревьев
+
-
* Критерии информативности
+
-
* Учет пропущенных значений
+
-
* Стрижка деревьев
+
-
* Работа с категориальными признаками
+
-
| [https://github.com/esokolov/ml-course-msu/blob/master/ML15/lecture-notes/Sem04_trees.pdf Конспект]
+
-
| [https://github.com/esokolov/ml-course-msu/blob/master/ML15/homeworks/Sem04_trees_hw.pdf Домашнее задание]
+
-
|-
+
-
|9 октября
+
-
|align="center"|Семинар 5
+
-
|
+
-
Метрики качества:
+
-
* Регрессия: MSE, MAE, квантильная регрессия
+
-
* Бинарная классификация: precision/recall, AUC-ROC, AUC-PR, Lift
+
-
* Многоклассовая классификация: micro-averaging, macro-averaging
+
-
| [https://github.com/esokolov/ml-course-msu/blob/master/ML15/lecture-notes/Sem05_metrics.pdf Конспект]
+
-
| [https://github.com/esokolov/ml-course-msu/blob/master/ML15/homeworks/Sem05_metrics_hw.pdf Домашнее задание]
+
-
|-
+
-
|9 октября
+
-
|align="center"|Семинар 6
+
-
|
+
-
Решающие деревья:
+
-
* примеры в sklearn
+
-
* объединение в решающие леса
+
-
 
+
-
Выдача первого конкурса:
+
-
* работа с текстами
+
-
* разреженные признаки
+
-
* blending
+
-
* word2vec
+
-
| [https://github.com/esokolov/ml-course-msu/blob/master/ML15/lecture-notes/Sem06_contest.pdf Слайды]
+
-
 
+
-
[https://github.com/esokolov/ml-course-msu/blob/master/ML15/src/Sem06_trees.ipynb Код по деревьям]
+
-
 
+
-
[https://github.com/esokolov/ml-course-msu/blob/master/ML15/src/Sem06_word2vec_fun.ipynb Код по word2vec]
+
-
 
+
-
[https://github.com/esokolov/ml-course-msu/blob/master/ML15/src/Sem06_contest_intro.ipynb Код по данным конкурса]
+
-
 
+
-
[https://db.tt/Pl0VzKeg Модель word2vec]
+
-
|
+
-
|-
+
-
|16 октября
+
-
|align="center"|Семинар 7
+
-
|
+
-
Линейные методы:
+
-
* векторное дифференцирование
+
-
* геометрия линейных классификаторов
+
-
* разновидности градиентного спуска: GD, SG, SAG
+
-
* длина шага в градиентном спуске
+
-
 
+
-
Метрики качества:
+
-
* примеры вычисления в sklearn
+
-
* кросс-валидация и стратификация в sklearn
+
-
| [https://github.com/esokolov/ml-course-msu/blob/master/ML15/lecture-notes/Sem07_linear.pdf Конспект]
+
-
 
+
-
[https://github.com/esokolov/ml-course-msu/blob/master/ML15/src/Sem07_metrics.ipynb Код по метрикам качества]
+
-
| [https://github.com/esokolov/ml-course-msu/blob/master/ML15/homeworks/Sem07_linear_hw.pdf Домашнее задание]
+
-
|-
+
-
|30 октября
+
-
|align="center"|Семинар 8
+
-
|
+
-
Линейные методы:
+
-
* Знакомство с Vowpal Wabbit
+
-
| [https://github.com/esokolov/ml-course-msu/blob/master/ML15/lecture-notes/Sem08_vw.pdf Слайды]
+
-
[https://github.com/esokolov/ml-course-msu/blob/master/ML15/src/Sem08_vw.ipynb Пример работы с Vowpal Wabbit]
+
-
|
+
-
|-
+
-
|6 ноября
+
-
|align="center"|Семинар 9
+
-
|
+
-
Линейные методы:
+
-
* условная задача оптимизации, лагранжиан
+
-
* двойственная задача
+
-
* теорема Куна-Таккера
+
-
| [https://github.com/esokolov/ml-course-msu/blob/master/ML15/lecture-notes/Sem09_linear.pdf Конспект]
+
-
| [https://github.com/esokolov/ml-course-msu/blob/master/ML15/homeworks/Sem09_linear_hw.pdf Домашнее задание]
+
-
|-
+
-
|20 ноября
+
-
|align="center"|Семинар 10
+
-
|
+
-
Линейные методы:
+
-
* функции потерь и предсказание вероятностей
+
-
* логистическая регрессия
+
-
| [https://github.com/esokolov/ml-course-msu/blob/master/ML15/lecture-notes/Sem10_linear.pdf Конспект]
+
-
| [https://github.com/esokolov/ml-course-msu/blob/master/ML15/homeworks/Sem10_linear_hw.pdf Домашнее задание]
+
-
|-
+
-
|20 ноября
+
-
|align="center"|Семинар 11
+
-
|
+
-
Линейные методы:
+
-
* SVM, постановка задачи
+
-
* вывод двойственной задачи SVM
+
-
| [https://github.com/esokolov/ml-course-msu/blob/master/ML15/lecture-notes/Sem11_linear.pdf Конспект]
+
-
| [https://github.com/esokolov/ml-course-msu/blob/master/ML15/homeworks/Sem11_linear_hw.pdf Домашнее задание]
+
-
|-
+
-
|27 ноября
+
-
|align="center"|Семинар 12
+
-
|
+
-
Обсуждение первого конкурса
+
-
| [https://github.com/esokolov/ml-course-msu/blob/master/ML15/contests/contest1_slides/kibitova_contest1.pdf Валерия Кибитова]
+
-
 
+
-
[https://github.com/esokolov/ml-course-msu/blob/master/ML15/contests/contest1_slides/nikolaev_contest1.pdf Владимир Николаев]
+
-
 
+
-
[https://github.com/esokolov/ml-course-msu/blob/master/ML15/contests/contest1_slides/kovalenko_contest1.pdf Павел Коваленко]
+
-
|
+
-
|-
+
-
|4 декабря
+
-
|align="center"|Семинар 13
+
-
|
+
-
Линейные методы:
+
-
* ядра и спрямляющие пространства
+
-
* применение ядер в линейной регрессии
+
-
* метрические операции в спрямляющем пространстве
+
-
* способы построения ядер
+
-
| [https://github.com/esokolov/ml-course-msu/blob/master/ML15/lecture-notes/Sem12_linear.pdf Конспект]
+
-
| [https://github.com/esokolov/ml-course-msu/blob/master/ML15/homeworks/Sem12_linear_hw.pdf Домашнее задание]
+
-
|-
+
-
|4 декабря
+
-
|align="center"|Семинар 14
+
-
|
+
-
Байесовские методы:
+
-
* оптимальные байесовские правила для бинарной и квадратичной функций потерь
+
-
* метод максимального правдоподобия
+
-
* байесовская регуляризация на примере задачи линейной регрессии
+
-
* очень кратко про байесовский вывод
+
-
| [https://github.com/esokolov/ml-course-msu/blob/master/ML15/lecture-notes/Sem13_bayes.pdf Конспект]
+
-
| [https://github.com/esokolov/ml-course-msu/blob/master/ML15/homeworks/Sem13_bayes_hw.pdf Домашнее задание]
+
-
|-
+
-
| 11 декабря
+
-
|align="center"|Семинар 15
+
-
|
+
-
* кратко про наивный байесовский классификатор
+
-
* проверочная работа по линейным методам
+
-
|
+
-
|
+
-
|-
+
-
|18 декабря
+
-
|align="center"|Семинар 16
+
-
|
+
-
Байесовские методы:
+
-
* многомерное нормальное распределение, его свойства
+
-
* нормальный дискриминантный анализ
+
-
* вывод оценок максимального правдоподобия для многомерного нормального распределения
+
-
* линейный дискриминант Фишера как поиск одномерного представления выборки
+
-
| [https://github.com/esokolov/ml-course-msu/blob/master/ML15/lecture-notes/Sem14_bayes.pdf Конспект]
+
-
|
+
|}
|}
Строка 235: Строка 62:
{|class = "standard"
{|class = "standard"
! Задание !! Тема !! Дата выдачи !! Срок сдачи !! Условие
! Задание !! Тема !! Дата выдачи !! Срок сдачи !! Условие
-
|-
 
-
|align="center"|Лабораторная работа 1
 
-
| Язык Python, основные библиотеки для анализа данных
 
-
| 14.09.2015
 
-
| 27.09.2015, 23:59
 
-
| [https://github.com/esokolov/ml-course-msu/blob/master/ML15/labs/lab01_intro.ipynb Условие]
 
-
|-
 
-
|align="center"|Лабораторная работа 2
 
-
| Метод ближайших соседей, решающие деревья и категориальные признаки
 
-
| 10.10.2015
 
-
| 01.11.2015, 23:59
 
-
| [https://github.com/esokolov/ml-course-msu/blob/master/ML15/labs/lab02_knn_trees.ipynb Условие]
 
|-
|-
|}
|}
Строка 258: Строка 73:
! Задание !! Тема !! Дата начала !! Дата окончания !! Ссылка
! Задание !! Тема !! Дата начала !! Дата окончания !! Ссылка
|-
|-
-
| Соревнование 1
 
-
| Закроют ли тему на StackOverflow?
 
-
| 12.10.2015
 
-
| 15.11.2015
 
-
| https://kaggle.com/join/mmpcmcmsu15161v2
 
|}
|}
Строка 271: Строка 81:
== Страницы курса прошлых лет ==
== Страницы курса прошлых лет ==
 +
[[Машинное обучение (семинары, ВМК МГУ)/2015-2016 год, осень|2015-2016 год, осень]]
 +
[[Машинное обучение (семинары, ВМК МГУ)/2014-2015 год, весна|2014-2015 год, весна]]
[[Машинное обучение (семинары, ВМК МГУ)/2014-2015 год, весна|2014-2015 год, весна]]

Версия 23:13, 13 февраля 2016

Содержание


Выставление оценки за курс

Итоговая контрольная работа:

  1. На последней лекции будет проведена контрольная работа, которая затронет все темы, изученные в течение семестра.
  2. Контрольная оценивается по двухбалльной шкале (зачет/незачет), незачет влечет за собой недопуск к экзамену.
  3. Студент, не получивший допуск, переписывает на экзамене контрольную. В случае успеха он сдает экзамен на первой пересдаче. В случае незачета он снова переписывает контрольную на первой пересдаче, и так далее.

Семинары:

  1. На семинарах по каждой пройденной теме будут проводиться проверочные работы. Каждая проверочная оценивается по пятибалльной шкале. В зависимости от оценки за проверочную, студент освобождается от части или от всех задач по этой теме на итоговой контрольной работе.
  2. Также на семинарах будут выдаваться практические задания, которые будут оцениваться по пятибалльной шкале.
  3. В течение семестра будут проводиться конкурсы по анализу данных. Каждый конкурс оценивается по 15-балльной шкале. За первое, второе и третье место выставляется 15, 13 и 11 баллов соответственно при условии, что студенты выступят с докладом о своем решении (в противном случае они получают 10 баллов). За места с четвертого и по самое последнее, превосходящее бейзлайн, выставляется от 10 до 1 баллов по равномерной сетке. Если все присланные группой решения будут тривиальными, то преподаватель имеет право снизить максимальную оценку до 10 или до 5 баллов.
  4. Оценка за работу в семестре равна сумме оценок за проверочные работы, практические задания и конкурсы.
  5. Если оценка за работу в семестре не меньше 100% от максимальной оценки за проверочные и лабораторные работы, то студент освобождается от написания итоговой контрольной и получает допуск к экзамену автоматом.
  6. Если оценка за работу в семестре не меньше 80% от максимальной оценки за проверочные и лабораторные работы и конкурсы, то студент получает +1 балл на экзамене (при условии получения положительной оценки).
  7. В конце семестра разрешается переписать одну пропущенную по любой причине проверочную работу. Также разрешается переписать все проверочные, пропущенные по уважительной причине.

Весенний семестр 2015/2016

Расписание занятий

Дата Номер Тема Материалы Д/З
12 февраля Семинар 1

EM-алгоритм:

  • Скрытые переменные и смеси распределений
  • EM-алгоритм в общем виде
  • Вывод формул для смеси нормальных распределений
  • Дивергенция Кульбака-Лейблера, ее свойства
  • Обоснование EM-алгоритма
Конспект Домашнее задание

Практические задания

Решения желательно присылать сразу в двух форматах:

  • ссылка для просмотра ноутбука на NBViewer или GitHub
  • файл с ноутбуком во вложении

За каждый день просрочки из оценки вычитается 0.2 балла.

Задание Тема Дата выдачи Срок сдачи Условие

Виртуальная машина с питоном и библиотеками

Полезные ссылки: см. репозиторий.

Соревнования

Задание Тема Дата начала Дата окончания Ссылка

Все студенты должны прислать краткий отчет о своем решении и код, воспроизводящий результат.

Оценки

https://docs.google.com/spreadsheets/d/1vK3gM6sAj2TEqO9mPhm5cIuNSmpsw3CIpQnb4G4Dguo/edit?usp=sharing

Страницы курса прошлых лет

2015-2016 год, осень

2014-2015 год, весна

2014-2015 год, осень

2013-2014 год, весна

2013-2014 год, осень

2012 год

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