Введение в анализ данных (майнор ИАД) 2019/2020
Содержание
О курсе
Курс читается для студентов 2-го курса майнора ИАД в 3-4 модулях.
Проводится с 2015 года.
Лектор: Соколов Евгений Андреевич
Лекции проходят по средам в 10:30 (Покровский бульвар, 11).
Полезные ссылки
Репозиторий с материалами на GitHub
Почта для сдачи домашних заданий (на самом деле задания сдаются в AnyTask, но если он не работает, то присылайте на почту): hse.minor.dm+<номер группы>@gmail.com (например, hse.minor.dm+3@gmail.com)
Канал в telegram для объявлений: https://t.me/hse_minor_intro_dm_2020
Чат в telegram для флуда: https://t.me/iad_flood
Ссылка на курс в Anytask: https://anytask.org/course/607
Таблица с оценками: https://docs.google.com/spreadsheets/d/1-6qKU3-5p-ZwujKqqp7QIwf1hKyagY00UyKzxZHwHq0/edit?usp=sharing
Семинары
Группа | Преподаватель | Учебный ассистент | Материалы семинаров | Аудитория | ДЗ |
---|---|---|---|---|---|
ИАД-1 | Кохтев Вадим | Ригвава Владимир | |||
ИАД-2 | Козловская Наталья | Юрий Саночкин | D507 | ДЗ-1 | |
ИАД-3 | Филатов Артём, Анастасия Рогачевская | Дмитрий Торилов | |||
ИАД-4 | Ковалев Евгений | Алвандян Нарек | Wiki GitHub Telegram | ||
ИАД-5 | Чиркова Надежда | Левина Александра | GitHub | ||
ИАД-6 | Чесаков Даниил | Ольга Быстрова | GitHub, rd5CNrr - инвайт в anytask |
Правила выставления оценок
В курсе предусмотрено несколько форм контроля знания:
- Самостоятельные работы на семинарах, проверяющие знание основных фактов с лекций и семинаров
- Практические домашние работы на Python
- Контрольная где-то в середине курса
- Письменный экзамен
Итоговая оценка вычисляется на основе оценки за работу в семестре и оценки за экзамен:
Oитоговая = Округление(0.4 * ДЗ + 0.1 * ПР + 0.2 * КР + 0.3 * Э)
ДЗ — средняя оценка за практические домашние задания
ПР — средняя оценка за письменные проверочные работы на семинарах
КР — оценка за контрольную работу
Э — оценка за экзамен
Округление арифметическое.
Правила сдачи заданий
За каждый день просрочки после мягкого дедлайна снимается 1 балл. После жёсткого дедлайна работы не принимаются. Даже при опоздании на одну секунду. Сдавайте заранее.
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.
При наличии уважительной причины пропущенную проверочную можно написать позднее, а дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.
Лекции
Лекция 1 (15.01.2020). Введение в машинное обучение и анализ данных. [Слайды]
Лекция 2 (22.01.2020). Основные постановки задач. Метод k ближайших соседей. Измерение ошибки в задачах классификации. Параметры и гиперпараметры. [Слайды]
Лекция 3 (05.02.2020). Оценка обобщающей способности моделей. Метод k ближайших соседей с весами. Метод k ближайших соседей для задач регрессии. Модель линейной регрессии. [Слайды]
Лекция 4 (12.02.2020). Применимость моделей линейной регрессии. Линейная регрессия в матричной форме. Обучение линейной регрессии через аналитическое решение. Регуляризация. Вычисление важности признаков в линейных моделях. [Слайды]
Лекция 5 (19.02.2020). Градиент. Градиентный спуск. Стохастический градиентный спуск. Функции потерь в задачах регрессии. [Слайды]
Лекция 6 (26.02.2020). Линейная классификация. Обучение через верхние оценки на функцию потерь. Метрики качества классификации: доля верных ответов, точность, полнота. Способы объединения точности и полноты. [Слайды]
Лекция 7 (04.03.2020). Линейная классификация. Оценки качества ранжирования объектов, AUC-ROC и AUC-PRC. Оценивание вероятностей классов. Логистическая регрессия. [Слайды]
Лекция 8 (11.03.2020). Линейная классификация. Метод опорных векторов. Калибровка вероятностей. Многоклассовая классификация. [Слайды]
Лекция 9 (18.03.2020). Решающие деревья. Структура. Критерии информативности для регрессии и классификации. [Слайды] [Запись вебинара]
Лекция 10 (25.03.2020). Решающие деревья. Жадное построение. Счётчики для кодирования категориальных признаков. [Слайды] [Запись вебинара]
Лекция 11 (08.04.2020). Композиции моделей. Бэггинг. Смещение и разброс в бэггинге. Случайный лес. [Слайды] [Запись вебинара]
Лекция 12 (15.04.2020). Композиции моделей. Градиентный бустинг. [Слайды] [Запись вебинара]
Лекция 13 (29.04.2020). Отбор признаков. Одномерные методы. [Слайды] [Запись вебинара]
Лекция 14 (06.05.2020). Градиентный бустинг для произвольной дифференцируемой функции потерь. [Слайды] [Запись вебинара]
Лекция 15 (13.05.2020). Отбор признаков. Методы на основе моделей. Метод главных компонент. Визуализация. [Слайды] [Запись вебинара]
Лекция 16 (20.05.2020). Кластеризация: постановки задачи, k-means, DBSCAN. Представления слов. [Слайды] [Запись вебинара]
Лекция 17 (27.05.2020). Рекомендательные системы. User-based рекомендации. Модели со скрытыми переменными. [Слайды] [Запись вебинара]
Лекция 18 (03.06.2020). Ранжирование. Метрики качества, DCG. Поточечный и попарный подходы. Примеры факторов для ранжирования. [Слайды] [Запись вебинара]
Практические задания
За каждый день просрочки после мягкого дедлайна снимается 1 балл. После жёсткого дедлайна работы не принимаются, но есть исключение. В течение семестра каждый студент может не более 2 раз сдать задание после жёсткого дедлайна — в этом случае за каждый день просрочки продолжает вычитаться по одному баллу (если не оговорено иное).
В некоторых группах домашние задания могут отличаться. Уточняйте у семинариста.
Соревнования
Правила участия и оценивания
В соревновании по анализу данных вам предлагается по имеющимся данным решить некоторую задачу, оптимизируя указанную метрику, и отправить ответы для заданного тестового множества. Максимальное количество посылок в сутки ограничено (как правило, разрешается сделать 2 посылки), ближе к концу соревнования вам будем необходимо выбрать 2 посылки, которые вы считаете лучшими. Тестовые данные делятся на публичные и приватные в некотором соотношении, на основе которых строятся публичный и приватный лидерборды соответственно, при этом публичный лидерборд доступен в течение всего соревнования, а приватный строится после его окончания для выбранных вами посылок.
Студент, занявший в соревновании место i, получает оценку
10 - 10 * (i - 1) / M,
где M — количество студентов, принявших участие в соревновании;
i — место (начиная с 1) студента в приватном лидерборде среди всех таких студентов.
Чтобы вас не пропустили при проверке решений соревнования, необходимо использовать следующий формат для имени команды (вкладка Team):
«Имя Фамилия номер_группы»
В течение 3 суток после окончания соревнования в соответствующее задание на anytask необходимо прислать код, воспроизводящий ответы для посылки, фигурирующей в приватном лидерборде. В случае отсутствия кода, воспроизводящего результат, в установленный срок студенту выставляется 0 в качестве оценки за соревнование. Если не оговорено иное, использовать любые внешние данные в соревнованиях запрещено. Под внешними данными понимаются размеченные данные, где разметка имеет прямое отношение к решаемой задаче. Грубо говоря, сборник текстов с википедии не считается внешними данными.
Соревнование 1: Определение категории товара
Соревнование на бонусные баллы, не входит в основную формулу оценки. Количество дополнительных баллов, полученных за соревнование, определяется индивидуально в каждой группе. Бонусные баллы можно прибавить к любой оценке за домашнее задание или за проверочную работу. Оценка за каждую из таких форм контроля не может превысить 10 баллов после прибавления бонусов.
Алгоритм расчёта бонусной оценки описан выше.
Дата выдачи: 08.04.2020
Срок окончания соревнования: 16.05.2020 02:59MSK
Ссылка на участие в соревновании
Контрольная работа
Вопросы для подготовки: https://docs.google.com/document/d/1yuB17EoXyVSxqRslpFTKX97Kriuxn4lgFL5z4kQF9lU/edit?usp=sharing
На контрольной будет 4 вопроса. Два из них — по теории, где нужно будет объяснить одну из тем, разобранных на лекциях, или ответить на вопросы на понимание. Два вопроса — это задачи, примеры приведены ниже.
Примеры задач:
- Метрические методы, kNN [Примеры задач]
- Линейные методы [Примеры задач]
- Решающие деревья [Примеры задач]
- Метрики качества [Примеры задач]
Экзамен
Вопросы: https://docs.google.com/document/d/18kMS1f7NsdGEZy62MgfTGdgSq4P-6DVcnwr1ZJPLAqE/edit?usp=sharing
Примеры задач прошлого года (также могут войти задачи из коллоквиума)
Полезные материалы
Курсы по машинному обучению и анализу данных
- Курс по машинному обучению К.В. Воронцова
- Видеозаписи лекций курса Школы Анализа Данных, К.В. Воронцов
- Coursera: Машинное обучение и анализ данных (специализация)
- Coursera: Введение в машинное обучение, К.В. Воронцов
- Coursera: Machine Learning, Andrew Ng
Статьи
- An Introduction to Machine Learning Theory and Its Applications: A Visual Tutorial with Examples
- A Visual Introduction to Machine Learning
Книги
- Mohammed J. Zaki, Wagner Meira Jr. Data Mining and Analysis. Fundamental Concepts and Algorithms. Cambridge University Press, 2014.
- Boris Mirkin. Core Concepts in Data Analysis: Summarization, Correlation, Visualization. 2010.
- James, Witten, Hastie, Tibshirani. An Introduction to Statistical Learning. 2013.