Машинное обучение 1/2017 2018
Содержание
О курсе
Курс читается для студентов 3-го курса ПМИ ФКН ВШЭ в 1-2 модулях.
Проводится с 2016 года.
Лектор: Соколов Евгений Андреевич
Лекции проходят по пятницам, 10:30 - 11:50, ауд. 317.
Полезные ссылки
Репозиторий с материалами на GitHub
Почта для сдачи домашних заданий: hse.cs.ml+<номер группы>@gmail.com (например, hse.cs.ml+151@gmail.com)
Канал в telegram для объявлений: https://telegram.me/hse_cs_ml_course_2017
Чат в telegram для обсуждений: https://t.me/joinchat/A5rlQEQ7r16nvyHbyXtjNA
Оставить отзыв на курс: форма
Вопросы по курсу можно задавать на почту курса, а также в телеграм лектору (esokolov@) или семинаристу. Вопросы по материалам лекций/семинаров и по заданиям лучше всего оформлять в виде Issue в github-репозитории курса.
Семинары
Группа | Преподаватель | Учебный ассистент | Страница | Расписание |
---|---|---|---|---|
151 (МОП) | Зиннурова Эльвира Альбертовна | Атанов Андрей | пятница, 12:10 - 13:30, ауд. 300 | |
152 (МОП) | Неклюдов Кирилл Олегович | Гадецкий Артём | понедельник, 15:10 - 16:30, ауд. 505 | |
153 (АПР) | Никишин Евгений Сергеевич | Ковалёв Евгений | пятница, 12:10 - 13:30, ауд. 322 | |
154 (АДИС) | Каюмов Эмиль Марселевич | Панков Алексей | пятница, 12:10 - 13:30, ауд. 501 | |
155 (РС) | Яшков Даниил Дмитриевич | Кохтев Вадим | понедельник, 12:10 - 13:30, ауд. 513 | |
156 (ТИ) | Умнов Алексей Витальевич | Шевченко Александр | ссылка | пятница, 15:10 - 16:30, ауд. 311 |
Магистратура ФТиАД | Чиркова Надежда Александровна | Першин Максим |
Консультации
Правила выставления оценок
В курсе предусмотрено несколько форм контроля знания:
- Самостоятельные работы на семинарах, проверяющие знание основных фактов с лекций
- Теоретические домашние работы и их защиты
- Практические домашние работы на Python
- Контрольные работы
- Письменный экзамен
Итоговая оценка вычисляется на основе оценки за работу в семестре и оценки за экзамен:
Oитоговая = 0.7 * Oнакопленная + 0.3 * Оэкз
Оценка за работу в семестре вычисляется по формуле
Oнакопленная = 0.1 * Oсамостоятельные + 0.4 * Опрактические дз + 0.3 * Отеоретические дз + 0.2 * Оконтрольные
Оценка за самостоятельную работу вычисляется как среднее по всем самостоятельным, оценка за домашнюю работу — как среднее по всем практическим заданиям и соревнованиям.
Накопленная, экзаменационная и итоговая оценки округляются арифметически.
Правила сдачи заданий
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работа не принимаются.
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.
При наличии уважительной причины пропущенную проверочную можно написать позднее, а дедлайн по домашнему заданию может быть перенесён (при этом получить дополнительные баллы за призовые места на конкурсе можно только при участии в общий срок). Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.
Лекции
Лекция 1 (1 сентября). Введение в машинное обучение. Основные термины, постановки задач и примеры применения. [Конспект]
Лекция 2 (8 сентября). Линейная регрессия. Метрики качества регрессии. Градиентный спуск и способы оценивания градиента. Продвинутые градиентные методы. [Конспект]
Лекция 3 (15 сентября). Переобучение и регуляризация. Разреженные линейные модели. Квантильная регрессия. Подготовка признаков. [Конспект]
Лекция 4 (22 сентября). Линейная классификация. Отступ и верхние оценки на пороговую функцию потерь. Метрики качества классификации. [Конспект]
Лекция 5 (29 сентября). Линейная классификация. Логистическая регрессия и оценки вероятности классов. Метод опорных векторов. [Конспект]
Лекция 6 (6 октября). Многоклассовая классификация, сведение к бинарным задачам. Многоклассовая логистическая регрессия. Классификация с пересекающимися классами. Метрики качества многоклассовой классификации. Категориальные признаки: хэширование и счётчики. [Конспект]
Лекция 7 (20 октября). Решающие деревья. Жадный алгоритм построения. Выбор лучшего разбиения с помощью критерия информативности. Критерии информативности для регрессии и классификации. Учёт пропусков в деревьях. Решающие деревья и категориальные признаки. [Конспект]
Лекция 8 (3 ноября). Бутстрап и бэггинг. Разложение ошибки на смещение и разброс (bias-variance decomposition). Случайный лес. Вычисление расстояний с помощью лесов. [Конспект]
Лекция 9 (10 ноября). Градиентный бустинг. Регуляризация. Особенности бустинга над деревьями. Взвешивание объектов в градиентном бустинге. [Конспект]
Лекция 10 (17 ноября). Оптимизация второго порядка в градиентном бустинге. Регуляризация деревьев. XGBoost. Стекинг. [Конспект]
Лекция 11 (23 ноября). Графы вычислений, их обучение и метод обратного распространения ошибки. Полносвязные, свёрточные и рекуррентные слои. Возможности аппроксимации. Transfer learning. Глубинное обучение. [Конспект]
Лекция 12 (1 декабря). Обучение без учителя. Кластеризация: метрики качества, K-Means, иерархический и графовый подходы. Визуализация, t-SNE. Обучение представлений. word2vec. [Конспект]
Лекция 13 (15 декабря). Метод главных компонент, его связь с матричными разложениями. Рекомендательные системы: постановка задачи, коллаборативные методы, матричные разложения, контентные методы. [Конспект]
Семинары
Семинар 1. Постановки задач, примеры применения, инструменты. [Ноутбук с семинара] [Ноутбук для самостоятельного изучения]
Семинар 2. Векторное дифференцирование. Линейная регрессия, аналитическое и численное решение. Свойства градиента. Сравнение градиентного спуска и стохастического градиентного спуска. Scikit-learn. [Конспект] [Notebook] [Домашнее задание]
Семинар 3. Предобработка данных для линейных моделей. Функции потерь в линейной регрессии. Вероятностный взгляд на линейную регрессию. [Notebook] [Домашнее задание]
Семинар 4. Метрики качества классификации. ROC-кривая, алгоритм её построения, AUC-ROC. [Конспект] [Домашнее задание]
Семинар 5. Оценивание вероятностей классов. Метод опорных векторов. Эквивалентность регуляризации и раннего останова в градиентном спуске. [Конспект] [Конспект] [Домашнее задание]
Семинар 6. Метод K ближайших соседей. Различные способы задания метрик. [Конспект]
Семинар 7. Решающие деревья. Критерии информативности. Способность решающих деревьев к переобучению. Калибровка вероятностей. [Конспект] [Домашнее задание]
Семинар 8. Разложение ошибки на смещение и разброс. Композиции. [Конспект] [Домашнее задание]
Семинар 9. Градиентный бустинг, его особенности по сравнению с другими видами композиций алгоритмов. Особенности градиентного бустинга над деревьями. [Конспект] [Notebook]
Семинар 10. Метод обратного распространения ошибки. Нейронные сети. [Конспект] [Notebook] [Домашнее задание]
Семинар 11. Визуализация данных. [Notebook] [Домашнее задание]
Практические задания
За каждый день просрочки после мягкого дедлайна снимается 1 балл. После жёсткого дедлайна работы не принимаются.
Задание 1. Библиотека numpy и работа с данными.
Дата выдачи: 18.09.2017
Мягкий дедлайн: 01.10.2017 23:59MSK
Жесткий дедлайн: 08.10.2017 23:59MSK.
Условие,
архив с условием и шаблонами,
соревнование в Яндекс.Контесте,
альтернативная ссылка на соревнование в Яндекс.Контесте.
Задание 2. Линейные методы и работа с категориальными признаками
Дата выдачи: 03.11.2017
Мягкий дедлайн: 19.11.2017 23:59MSK
Жесткий дедлайн: 26.11.2017 23:59MSK
Условие, соревнование в Яндекс.Контесте, альтернативная ссылка на соревнование в Яндекс.Контесте.
Задание 3. Разложение ошибки на смещение и разброс, решающие деревья, композиции.
Дата выдачи: 27.11.2017
Мягкий дедлайн: 14.12.2017 23:59MSK
Жесткий дедлайн: 17.12.2017 23:59MSK
За каждый день просрочки после мягкого дедлайна снимается 1 балл. После жёсткого дедлайна работы не принимаются.
Условие, соревнование в Яндекс.Контесте, альтернативная ссылка на соревнование в Яндекс.Контесте.
Теоретические домашние задания
После (почти) каждого семинара выкладывается теоретическое домашнее задание, состоящее из задач по теме прошедших занятий. Выполнение каждого из данных заданий проверяется при помощи его защиты: преподаватель или ассистент спрашивает решения 1-2 задач из задания, и оценка за каждую из спрошенных задач выставляется, если студент успешно рассказывает решения и отвечает на сопутствующие вопросы принимающего. Подробные правила защит описаны здесь. Начиная с ДЗ №5 отправка решений в отсканированном или набранном в ТеХе виде обязательна, а защиты проводятся выборочно для части студентов. Список студентов, которым требуется защита, указывается в разделе конкретного домашнего задания.
ДЗ №№1—4
Срок защиты (включительно): 13.10.2017 (151, 153, 154, 156 группы), 16.10.2017 (152, 155 группы)
Срок отправки решений: 15.10.2017 23:59MSK (151, 153, 154, 156 группы), 18.10.2017 23:59MSK (152, 155 группы)
ДЗ №№5—6
Срок защиты (включительно): 11.12.2017
Срок отправки решений: 04.12.2017 23:59MSK
Список студентов, которым необходимо защитить ДЗ (группы 151—156, просьба к студентам ФТиАД обращаться к своему семинаристу)
ДЗ №№7—8
Срок защиты (включительно): 19.12.2017
Срок отправки решений: 12.12.2017 23:59MSK
Список студентов, которым необходимо защитить ДЗ (группы 151—156, просьба к студентам ФТиАД обращаться к своему семинаристу)
Бонусы за соревнования
За успешное участие в соревнованиях по анализу данных могут быть выставлены бонусные баллы, которые можно прибавить к оценке за любое практическое или теоретическое домашнее задание, а также за самостоятельную работу. Конкретное число баллов определяется преподавателями и зависит от сложности соревнования и занятого места. За одно соревнование можно получить не более 5 баллов. Для получения оценки необходимо предоставить краткий отчёт о решении задачи.
Контрольная работа
Дата: 08.12.2017
Контрольная работа будет проводиться с 10.30 до 11.50 в следующих аудиториях:
- 151, 156, ФТиАД — 317
- 152 — 322
- 153, 154 — 402
- 155 — 219
Работа является письменной и будет состоять из теоретических вопросов и задач.
Написание контрольной работы для пропустивших основную попытку по уважительной причине состоится 18 декабря (понедельник) с 19.40 до 21.00. Аудитория будет объявлена позднее.
Экзамен
Дата: 27.12.2017
Студенты, чья накопленная оценка равна 6 и выше (после округления), а оценка за контрольную работу равна 5 и выше (без округления), могут получить накопленную оценку в качестве итоговой автоматом. По умолчанию мы считаем, что все, кто могут это сделать, согласны на это, — в противном случае просьба связаться с лектором или своим семинаристом; при этом, если вы не согласны на оценку автоматом и решаете сдавать экзамен, оценка автоматом "сгорает", и итоговая выставляется по общим правилам.
Полезные материалы
Книги
- 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: Введение в машинное обучение, К.В. Воронцов