Машинное обучение на матфаке 2018/2019
Содержание
О курсе
Курс читается для студентов факультета математики ВШЭ в 1-2 модулях.
Лектор: Щуров Илья Валерьевич
Лекции проходят по вторникам с 14:00 до 15:20 в аудитории 109.
Полезные ссылки
- Регистрационная форма (заполните, чтобы получать уведомления о курсе)
- Репозиторий с материалами на GitHub
- РПУД
- Форма обратной связи (можно анонимно)
- Запись на консультацию (вторники, после лекции, консультирует Илья Щуров).
- Курс на Anytask
- Таблица с оценками
- Видео-записи лекций: Яндекс.Диск, YouTube.
Семинары
Группа | Преподаватель | Учебный ассистент | Расписание | Инвайт в Anytask |
---|---|---|---|---|
1 | Евгения Ческидова | Константин Ваниев | вторник, 12:10-13:30, ауд. 318 | ZfhBpf1 |
2 | Евгений Ковалев | Соня Дымченко | суббота, 12:00-13:20, ауд. 318 | 5jOWWt9 |
Система оценок
Формула оценки
Результирующая оценка по дисциплине рассчитывается по формуле:
Oитог = 0.7 * Oнакопл + 0.3 * Oэкз
Накопленная оценка рассчитывается по формуле:
Oнакопл = 0.58 * Oдз + 0.42 * OКР
Подробнее |
Правила вычисления оценокОценка за самостоятельную работу вычисляется как сумма баллов по всем самостоятельным, переведенная в 10 бальную шкалу. Оценка за домашнюю работу — как сумма баллов по всем практическим заданиям и соревнованию, переведенная в 10 бальную шкалу. Количество баллов за разные задания может различаться в зависимости от их сложности. Все промежуточные оценки (за домашние, самостоятельные и коллоквиум) могут быть не целыми. Накопленная и итоговая оценки округляются математически, оценки вида «целое + 1/2» округляются вверх. Правила сдачи заданийДедлайны по всем домашним заданиям являются жёсткими, то есть после срока работы не принимаются. При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. При наличии уважительной причины пропущенную проверочную можно написать позднее, а дедлайн по домашнему заданию может быть перенесён (при этом получить дополнительные баллы за призовые места на конкурсе можно только при участии в общий срок). |
Лекции
№ | Дата | Название | Конспект | Видео |
---|---|---|---|---|
1 | 4 сентября | Введение в ml, постановки задач, виды данных | ||
2 | 11 сентября | Напоминание: теория вероятностей и статистика. Случайные величины, выборки, оценки | конспект | |
3 | 18 сентября | Введение в статистическую теорию принятия решений. Функция потерь, ожидаемая ошибка, регрессионная функция | конспект | |
4 | 25 сентября | Шум, смещение и разброс | конспект | видео |
5 | 2 октября | Линейная регрессия. MLE-оценки. Максимизация правдоподобия и минимизация эмпирического риска. Явный вид МНК-оценки | конспект | видео |
6 | 9 октября | Свойства МНК-оценки. Несмещённость. Ковариационная матрица оценки. Теорема Гаусса — Маркова. Отбор признаков | конспект | видео |
7 | 16 октября | Различные функции потерь для регрессий: MAE, Huber loss; L1-регуляризация как метод отбора признаков; переобучение в линейной регрессии (пример с полиномиальными признаками). Логистическая регрессия с одним признаком, её функция правдоподобия. | Конспекты Е. Соколова: Ещё о линейных регрессиях, логистическая регрессия | |
8 | 30 октября | Логистическая регрессия. Логарифмическая функция потерь. Выражение функции потерь через отступ. Многоклассовая классификация: комбинирование двухклассовых классификаторов (one vs rest, one vs one), многоклассовая (мультиномиальная) логистическая регрессия. | Конспекты Е. Соколова: логистическая регрессия, многоклассовая классификация | |
9 | 6 ноября | Support vector machines (как задача уменьшения эмпирического риска для hinge loss). Решающие деревья. | Конспекты Е. Соколова: метод опорных векторов (см. часть 2), решающие деревья | |
10 | 13 ноября | Решающие леса и градиентный бустинг над деревьями | Конспекты Е. Соколова решающие леса, градиентный бустинг (мы не обсуждали AdaBoost) | |
11 | 20 ноября | Нейронные сети как способ обучения признаков. Многослойный персептрон. Теорема об универсальной аппроксимации для персептрона с двумя скрытыми слоями и ReLU-активацией (набросок доказательства). Backpropagation. Стохастический градиентный спуск | Конспекты Е. Соколова: Графы вычислений и элементы глубинного обучения. Дополнительный материал: теорема об универсальной аппроксимации (англ.) | |
12 | 27 ноября | Свёрточные нейронные сети | Конспекты Е. Соколова: Графы вычислений и элементы глубинного обучения, Дополнительный материал: convolutional networks (англ.) | |
13 | 4 декабря | Рекуррентные нейронные сети. Задачи unsupervised learning: снижение размерности с помощью метода главных компонент (PCA) | Метод главных компонент (неформальное введение) | |
14 | 11 декабря | Задачи unsupervised learning: снижение размерности, кластеризация (K-means, иерархическая кластеризация), оценка плотности (разделение гауссовых смесей, EM-алгоритм). | K-means clustering (википедия, англ.), The EM Algorithm for Gaussian Mixtures] (англ.) |
Семинары
№ | Дата | Название | Материалы |
---|---|---|---|
1 | 8/10 сентября | Введение в numpy, pandas, matplotlib | Тетрадка и данные Задачи |
2 | 15/17 сентября | Статистические оценки, проверка гипотез | Все файлы: (Google Drive, Github), тетрадка |
3 | 22/24 сентября | метод k ближайших соседей (k-NN), кросс-валидация | Все файлы: (Google Drive, Github), тетрадка |
4 | 29/1 сент/окт | метод k ближайших соседей, часть 2 | Все файлы: (Google Drive, Github) |
5 | 6/8 октября | линейная регрессия, градиентный спуск | Все файлы: (Google Drive, Github) |
6 | 13/15 октября | отбор признаков, регуляризация | Все файлы: (Google Drive, Github} |
7 | 20/30 октября | логистическая регрессия, метрики, полиномиальные признаки | Все файлы: (Google Drive, Github) |
8 | 3/6 ноября | методы автоматической обработки текстов, TF-IDF | Все файлы: (Google Drive, Github) |
9 | 10/13 ноября | решающие деревья | Все файлы: (Google Drive, Github) |
10 | 20/24 ноября | ансамбли, градиентный бустинг | Все файлы: (Google Drive, Github) |
11 | 24/27 ноября | нейронные сети, PyTorch | Все файлы: (Google Drive, Github, Colab) |
12 | 1/4 декабря | сверточные нейронные сети, регуляризация | Все файлы: (Google Drive, Github) |
13 | 8/11 декабря | рекуррентные нейронные сети | Все файлы: (Google Drive, Github) |
Как корректно скачать файл с расширением .ipynb с GitHub?
Домашние задания
- ДЗ№1: nbviewer, github, срок сдачи — 3 октября, 23:00.
- ДЗ№2: nbviewer, github, срок сдачи — 17 октября, 23:00.
- ДЗ№3: nbviewer, github , срок сдачи — 4 ноября, 23:00.
- Соревнование на Kaggle, срок сдачи 15.12.2018 23:59UTC
- ДЗ№4: nbviewer, github, срок сдачи — 23 декабря, 23:00.
Соревнования
Правила участия и оценивания:
- Необходимо использовать следующий формат для имени команды (Team -> Team Name -> Save Team Name): «Имя Фамилия МФ».
- Максимальное количество посылок в сутки 3 (начинайте заранее).
- Ближе к концу соревнования необходимо выбрать 1 посылку, которую вы считаете лучшей.
- Оценивание: максимальный score, набранный кем бы то ни было (при условии преодоления бейзлайна на 8) — 10 баллов. Score, соответствующий бейзлайну на 8 — 8 баллов. В промежутке — линейно. И т.д. Основные бейзлайны скоро будут. Лидерборд рассматривается приватный.
- Оцениваются только решения, полученные как результат работы private kernel -- в системе уже загружены всевозможные библиотеки, которые могут вам понадобиться в работе, более того можно не выгружать данные соревнования и иметь бо́льшие (а может быть и меньшие, но у всех равные условия) вычислительные мощности, чем у вас на компьютере (14Gb RAM + GPU).
- У студента может быть только один аккаунт, соответсвенно и отправлять решения только с него.
- Как и в прошлых ДЗ -- списывание запрещено, при обнаружении плагиата работы обнуляются.
- Продление дедлайна невозможно.
В соревновании оцениваются только решения, полученные как результат работы private kernel (Kernels -> New Kernel -> пишете код там или загружаете свой код -> Commit). После того, как кернел был закоммичен, можно отправить результат его выполненения нажав кнопку "Submit to competition".
Чтобы работа была оценена, необходимо дать доступ для просмотра ассистенту (svdcvt). Сдавать нужно тот кернел, с помощью которого был получен ваш результат на лидерборде, иначе работа обнуляется. Так же надо указать версию в названии кернела.
Новости курса
12.12. Экзамен по курсу состоится 25 декабря с 13:30 до 15:30, формат — письменная работа (типа как была в конце прошлого модуля), closed book (пользоваться ничем нельзя). Программа экзамена
29.11. Появилось соревнование на кэггле: https://www.kaggle.com/t/9c050ce0ed5742088d5660c69360ccbf
23.11. Субботняя группа - завтра будет две пары не с 10:30 до 13:30, а с 12:00 до 15:00.
13.11. Новости для группы, которая ходит на семинары по субботам. В эту субботу (17.11) семинар не состоится, да и вообще факультет математики, видимо, будет закрыт. Пара переносится на субботу на следующей неделе (24.11). Таким образом, 24.11 будет две пары с 10:30 до 13:30.
18.10. Появилось ДЗ№3 (оно же — задачи для подготовки к КР).
16.10. В понедельник, 22 октября в 10:30 состоится консультация в кабинете 318 (компокласс).
15.10. Контрольная по курсу состоится 23.10 с 13:30 до 15:30 в аудитории 109. Программа контрольной
11.10. Семинары группы 1 (в понедельник) перенесены теперь на вторник с 12:00 до 13:20.
10.10. Появилось ДЗ№2!
24.09. Появилось ДЗ№1!
Полезные материалы
Базовые учебники
- 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.
Дополнительная литература
- Ian Goodfellow and Yoshua Bengio and Aaron Courville, Deep Learning, MIT Press, 2016.
- 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.
Разные хорошие ссылки
- Об условных вероятностях.
- Mathematics for Machine Learning — книга с математическим введением в машинное обучение. Вам могут быть особенно интересно главы про теорию вероятностей.