Методы машинного обучения (Прикладная политология) — различия между версиями
(→Проект) |
|||
Строка 102: | Строка 102: | ||
== Проект == | == Проект == | ||
− | Проект представляет из себя некоторую задачу, которую нужно поставить и решить при помощи машинного обучения. Результатом выполнения проекта является jupyter | + | Проект представляет из себя некоторую задачу, которую нужно поставить и решить при помощи машинного обучения. Результатом выполнения проекта является архив с jupyter-тетрадью и всеми необходимыми дополнительными файлами. Тетрадь должна представлять из себя полноценный отчет, включающий как развернутые словесные описания датасета, задачи и выполняемых действий, так и код, выполняющий необходимые преобразования. Тетрадь должна включать в себя следующие этапы решения задачи: |
'''1. Получение обучающей выборки в табличном виде''' (1 балл) | '''1. Получение обучающей выборки в табличном виде''' (1 балл) | ||
− | В рамках этого этапа можно как найти некоторые готовые табличные данные, так и получить данные самостоятельно из некоторого источника при помощи парсинга, однако во втором случае студенту может быть начислено до 2 бонусных баллов за проект. | + | В рамках этого этапа можно как найти некоторые готовые табличные данные, так и получить данные самостоятельно из некоторого источника при помощи парсинга, однако во втором случае студенту может быть начислено до 2 бонусных баллов за проект. Ограничение на данные — в выборке должно присутствовать не менее 2000 различных объектов. Данные с меньшим количеством объектом также можно рассмотреть, но датасет должен быть согласован с преподавателями. |
'''2. Постановка задачи''' (1 балл) | '''2. Постановка задачи''' (1 балл) | ||
Строка 124: | Строка 124: | ||
Последний этап — оценка качества моделей из п.4 при помощи метрики качества, выбранной в п.2. Не забудьте, что качество должно оцениваться на выборке, не используемой при обучении, поэтому необходимо с самого начала "отрезать" тестовую выборку для этого пункта. | Последний этап — оценка качества моделей из п.4 при помощи метрики качества, выбранной в п.2. Не забудьте, что качество должно оцениваться на выборке, не используемой при обучении, поэтому необходимо с самого начала "отрезать" тестовую выборку для этого пункта. | ||
− | После выбора данных (вне зависимости от того, планируете вы брать готовые табличные данные или парсить их самостоятельно) и задачи, необходимо | + | После выбора данных (вне зависимости от того, планируете вы брать готовые табличные данные или парсить их самостоятельно) и задачи, необходимо заполнить [https://forms.gle/Zud4mp5zZ94ZUvsw7 форму], предварительно убедившись при помощи [https://docs.google.com/spreadsheets/d/1fWI0fWKzkscGkea2icA6cw7KUt11ROIFrokd6lxmuGg/edit?usp=sharing таблицы], что ваши данные/задача не пересекается с чьей-то еще. При совпадении данных у нескольких студентов, оценка за работу выставляется только первому студенту, выбравшему эти данные или задачу, остальным студентам за работу выставляется 0. Итоговая оценка за проект не может быть выше 10 (даже с учетом бонусных баллов; излишек бонусных баллов можно перенести в оценки за домашние задания и проверочные). В процессе выполнения проекта есть возможность консультироваться с преподавателями и ассистентов по любым возникающим вопросам. Готовый архив необходимо сдать в систему anytask. |
== Экзамен == | == Экзамен == |
Версия 13:18, 4 февраля 2020
Содержание
О курсе
Курс читается для студентов 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 января) Решающие деревья. [Слайды]
Семинары
Семинар 1. (29 октября) Библиотека NumPy, решение задач. [Ноутбук]
Семинар 2 (5 ноября) Pandas, работа с таблицами. [Тетрадь на Гитхабе] [Тетрадь в одном архиве с данными]
Семинар 3 (12 ноября) Matplotlib, приемы и ошибки визуализации. [Гитхаб], [Колаб].
Семинар 4 (19 ноября) Sklearn. Метрические методы. Подбор гиперпараметра KNN [Гитхаб], [Колаб].
Семинар 5 (26 ноября) Операции с векторами и матрицами. Производные [Колаб].
Семинар 6 (3 декабря) Градиентный спуск. Линейная регрессия [Колаб].
Семинар 7 (10 декабря) Линейные классификаторы [Колаб].
Семинар 8 (17 декабря) Метрики качества [Колаб].
Семинар 11 (29 января) Работа с текстовыми данными [Колаб]
Практические задания
ДЗ 1 (до 23 декабря) Задачи машинного обучения. Pandas и Matplotlib [GitHub].
Проект
Проект представляет из себя некоторую задачу, которую нужно поставить и решить при помощи машинного обучения. Результатом выполнения проекта является архив с jupyter-тетрадью и всеми необходимыми дополнительными файлами. Тетрадь должна представлять из себя полноценный отчет, включающий как развернутые словесные описания датасета, задачи и выполняемых действий, так и код, выполняющий необходимые преобразования. Тетрадь должна включать в себя следующие этапы решения задачи:
1. Получение обучающей выборки в табличном виде (1 балл)
В рамках этого этапа можно как найти некоторые готовые табличные данные, так и получить данные самостоятельно из некоторого источника при помощи парсинга, однако во втором случае студенту может быть начислено до 2 бонусных баллов за проект. Ограничение на данные — в выборке должно присутствовать не менее 2000 различных объектов. Данные с меньшим количеством объектом также можно рассмотреть, но датасет должен быть согласован с преподавателями.
2. Постановка задачи (1 балл)
Этот этап включает в себя определение того, что в задаче является объектами и ответами, а также определение итоговой метрики качества в задаче.
3. Визуализация (3 балла)
Минимальный объем работ в рамках этого этапа — изучить зависимость целевой переменной от признаков в вашей задаче, найти наиболее значимые и незначимые признаки и обосновать с точки зрения здравого смысла, почему они являются таковыми. В процессе визуализации могут быть найдены и другие интересные зависимости, которые также стоит отразить в работе, за особо интересные могут быть начислены бонусные баллы.
4. Построение модели (4 балла)
Следующий этап — построение модели, необходимо использовать хотя бы 2 метода из пройденных в курсе для обучения модели (а также незабыть для каждой подобрать гиперпараметры). За построение моделей с выдающимся качеством на тестовой выборке также могут быть начислены бонусные баллы.
5. Оценка качества (1 балл)
Последний этап — оценка качества моделей из п.4 при помощи метрики качества, выбранной в п.2. Не забудьте, что качество должно оцениваться на выборке, не используемой при обучении, поэтому необходимо с самого начала "отрезать" тестовую выборку для этого пункта.
После выбора данных (вне зависимости от того, планируете вы брать готовые табличные данные или парсить их самостоятельно) и задачи, необходимо заполнить форму, предварительно убедившись при помощи таблицы, что ваши данные/задача не пересекается с чьей-то еще. При совпадении данных у нескольких студентов, оценка за работу выставляется только первому студенту, выбравшему эти данные или задачу, остальным студентам за работу выставляется 0. Итоговая оценка за проект не может быть выше 10 (даже с учетом бонусных баллов; излишек бонусных баллов можно перенести в оценки за домашние задания и проверочные). В процессе выполнения проекта есть возможность консультироваться с преподавателями и ассистентов по любым возникающим вопросам. Готовый архив необходимо сдать в систему anytask.
Экзамен
Полезные материалы
Книги
- 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.
Курсы по машинному обучению и анализу данных
- Курс по машинному обучению К.В. Воронцова
- Видеозаписи лекций курса Школы Анализа Данных, К.В. Воронцов
- Coursera: Машинное обучение и анализ данных (специализация)
- Coursera: Введение в машинное обучение, К.В. Воронцов