Методы машинного обучения (Прикладная политология)

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск

О курсе

Курс читается для студентов 1-го курса программы «Прикладная политология» в 2–3 модулях.

Лектор: Эльвира Альбертовна Зиннурова (tg)

Семинарист: Алексей Алексеевич Панков (tg)

Ассистент: Полина Ревина (tg)

Занятия проходят по вторникам, 18:10 — 21:00, ауд. 320а (ул. Мясницкая, 11).

Полезные ссылки

Репозиторий с материалами на GitHub

Чат в telegram для обсуждений и вопросов: https://t.me/joinchat/Cns_2hbF6c8B3cOx_olT0Q

Таблица с оценками

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

Правила выставления оценок

В курсе предусмотрено несколько форм контроля знания:

  • Самостоятельные работы на семинарах, проверяющие знание основных фактов с лекций
  • Практические домашние работы на Python
  • Проект
  • Коллоквиум
  • Письменный экзамен

Итоговая оценка вычисляется на основе оценки за работу в семестре и оценки за экзамен:

Итог = Округление(0.1 * ПР + 0.2 * ДЗ + 0.2 * Проект + 0.2 * Кол + 0.3 * Э)

ПР — средняя оценка за самостоятельные работы на семинарах

ДЗ — средняя оценка за практические домашние работы на Python

Проект — оценка за проект

Кол — оценка за коллоквиум

Э — оценка за экзамен

Округление арифметическое.

Правила сдачи заданий

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

При наличии уважительной причины пропущенную работу можно написать позднее, а дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.

Лекции

Лекция 1. (29 октября) Введение в машинное обучение, основные термины. [Слайды]

Лекция 2. (5 ноября) Типы задач и признаков. Понятие вектора, матрицы. Гипотеза компактности, метод k ближайших соседей. [Слайды]

Лекция 3. (12 ноября) Основные понятия линейной алгебры. Оценки обобщающей способности. Метод k ближайших соседей. [Слайды]

Лекция 4. (19 ноября) Линейная регрессия. Произведение матриц, производная, градиент, экстремумы. Основные понятия линейной алгебры. Оценки обобщающей способности. Метод k ближайших соседей. [Слайды]

Лекция 5. (26 ноября) Основные понятия линейной алгебры. Оценки обобщающей способности. Метод k ближайших соседей. [Слайды]

Лекция 6. (3 декабря) Линейная классификация. Пороговая функция потерь, верхние оценки. Логистическая регрессия. предсказание вероятностей. [Слайды]

Лекция 7. (10 декабря) Метрики оценки качества регрессии и классификации. ROC- и PR-кривые. [Слайды]

Лекция 8. (17 декабря) Консультация по пройденному материалу.

Лекция 9. (14 января) Консультация по пройденному материалу.

Лекция 10. (21 января) Консультация по пройденному материалу. Гиперпараметры, многоклассовая классификация. [Слайды]

Лекция 11. (28 января) Решающие деревья. [Слайды]

Лекция 12. (4 февраля) Случайные леса. [Слайды]

Лекция 13. (11 февраля) Градиентный бустинг. [Слайды]

Семинары

Семинар 1. (29 октября) Библиотека NumPy, решение задач. [Ноутбук]

Семинар 2 (5 ноября) Pandas, работа с таблицами. [Тетрадь на Гитхабе] [Тетрадь в одном архиве с данными]

Семинар 3 (12 ноября) Matplotlib, приемы и ошибки визуализации. [Гитхаб], [Колаб].

Семинар 4 (19 ноября) Sklearn. Метрические методы. Подбор гиперпараметра KNN [Гитхаб], [Колаб].

Семинар 5 (26 ноября) Операции с векторами и матрицами. Производные [Колаб].

Семинар 6 (3 декабря) Градиентный спуск. Линейная регрессия [Колаб].

Семинар 7 (10 декабря) Линейные классификаторы [Колаб].

Семинар 8 (17 декабря) Метрики качества [Колаб].

Семинар 11 (29 января) Работа с текстовыми данными [Колаб]

Семинар 12 (12 февраля) Деревья решений [Колаб]

Семинар 13 (19 февраля) Бэггинг и бустинг [Колаб] [Визуализации]

Семинар 14 (2 марта) Бустинг [Колаб]

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

ДЗ 1 (до 23 декабря) Задачи машинного обучения. Pandas и Matplotlib [GitHub]

ДЗ 2 (до 22 февраля) Логистическая регрессия. [GitHub]

ДЗ 3 (до 18 марта) Случайный лес. [GitHub], [Колаб]

Проект

Дедлайн: 23:59MSK 15.03.2020


Проект представляет собой некоторую задачу, которую нужно поставить и решить при помощи машинного обучения. Результатом выполнения проекта является архив с Jupyter-тетрадью и всеми необходимыми дополнительными файлами. Тетрадь должна представлять собой полноценный отчет, включающий как развернутые словесные описания датасета, задачи и выполняемых действий, так и код, выполняющий необходимые преобразования.

Тетрадь должна включать в себя следующие этапы решения задачи:

1. Получение обучающей выборки в табличном виде (1 балл)

В рамках этого этапа можно как найти некоторые готовые табличные данные, так и получить данные самостоятельно из некоторого источника при помощи парсинга, однако во втором случае студенту может быть начислено до 2 бонусных баллов за проект. Ограничение на данные — в выборке должно присутствовать не менее 2000 различных объектов. Данные с меньшим количеством объектов также можно рассмотреть, но датасет должен быть согласован с преподавателями.

2. Постановка задачи (1 балл)

Этот этап включает в себя определение того, что в задаче является объектами и ответами, а также определение итоговой метрики качества в задаче.

3. Визуализация (3 балла)

Минимальный объем работ в рамках этого этапа — изучить зависимость целевой переменной от признаков в вашей задаче, найти наиболее значимые и незначимые признаки и обосновать с точки зрения здравого смысла, почему они являются таковыми. В процессе визуализации могут быть найдены и другие интересные зависимости, которые также стоит отразить в работе, за особо интересные могут быть начислены бонусные баллы.

4. Построение модели (4 балла)

Следующий этап — построение модели, необходимо использовать хотя бы 2 метода из пройденных в курсе для обучения модели (а также не забыть для каждой подобрать гиперпараметры). За построение моделей с выдающимся качеством на тестовой выборке также могут быть начислены бонусные баллы.

5. Оценка качества (1 балл)

Последний этап — оценка качества моделей из п. 4 при помощи метрики качества, выбранной в п. 2. Не забудьте, что качество должно оцениваться на выборке, не используемой при обучении, поэтому необходимо с самого начала «отрезать» тестовую выборку для этого пункта.

После выбора данных (вне зависимости от того, планируете вы брать готовые табличные данные или парсить их самостоятельно) и задачи, необходимо заполнить форму, предварительно убедившись при помощи таблицы, что ваши данные/задача не пересекается с чьей-то еще. При совпадении данных у нескольких студентов, оценка за работу выставляется только первому студенту, выбравшему эти данные или задачу, остальным студентам за работу выставляется 0. Итоговая оценка за проект не может быть выше 10 (даже с учетом бонусных баллов; излишек бонусных баллов можно перенести в оценки за домашние задания и проверочные). В процессе выполнения проекта есть возможность консультироваться с преподавателями и ассистентов по любым возникающим вопросам. Готовый архив необходимо сдать в систему Anytask.

Коллоквиум

Дата и место проведения: 29.02.2020, 15:10, ауд. 421

Коллоквиум проводится устно. Каждому студенту будет дано 2 теоретических вопроса (на вопросы нужно отвечать без подготовки и без использования каких-либо материалов; исчерпывающие ответы на эти вопросы будут оцениваться в 3 и 4 балла соответственно), и 1 задача (в процессе решения задачи можно использовать любые материалы; оценивается в 3 балла).

Список вопросов для подготовки (обратите внимание, что данный список вопросов следует воспринимать как перечень тем, а не как вопросы, которые будут использоваться непосредственно на коллоквиуме, — конкретные формулировки вопросов могут и будут отличаться).

Экзамен

Полезные материалы

Книги

  • Hastie T., Tibshirani R, Friedman J. The Elements of Statistical Learning (2nd edition). Springer, 2009.
  • Bishop C. M. Pattern Recognition and Machine Learning. Springer, 2006.
  • Mohri M., Rostamizadeh A., Talwalkar A. Foundations of Machine Learning. MIT Press, 2012.
  • Murphy K. Machine Learning: A Probabilistic Perspective. MIT Press, 2012.
  • Mohammed J. Zaki, Wagner Meira Jr. Data Mining and Analysis. Fundamental Concepts and Algorithms. Cambridge University Press, 2014.
  • Willi Richert, Luis Pedro Coelho. Building Machine Learning Systems with Python. Packt Publishing, 2013.

Курсы по машинному обучению и анализу данных

Страницы предыдущих лет

[| 2018/2019 учебный год]