Методы машинного обучения (Прикладная политология) — различия между версиями
(→О курсе) |
|||
(не показано 46 промежуточных версии 2 участников) | |||
Строка 1: | Строка 1: | ||
== О курсе == | == О курсе == | ||
− | Курс читается для студентов 1-го курса программы [https://www.hse.ru/ma/ps/ | + | Курс читается для студентов 1-го курса программы [https://www.hse.ru/ma/ps/ «Прикладная политология»] в 2–3 модулях. |
− | '''Лектор:''' [https://www.hse.ru/org/persons/165212870 | + | '''Лектор:''' [https://www.hse.ru/org/persons/165212870 Эльвира Альбертовна Зиннурова] ([https://t.me/brainylyasha tg]) |
− | '''Семинарист:''' | + | '''Семинарист:''' Алексей Алексеевич Панков ([https://t.me/apnkv tg]) |
− | '''Ассистент:''' | + | '''Ассистент:''' Полина Ревина ([https://t.me/polinalv tg]) |
Занятия проходят по вторникам, 18:10 — 21:00, ауд. 320а (ул. Мясницкая, 11). | Занятия проходят по вторникам, 18:10 — 21:00, ауд. 320а (ул. Мясницкая, 11). | ||
Строка 20: | Строка 20: | ||
'''Вопросы''' по курсу можно задавать в чате по ссылке выше, а также в телеграм преподавателям и ассистенту. | '''Вопросы''' по курсу можно задавать в чате по ссылке выше, а также в телеграм преподавателям и ассистенту. | ||
− | |||
− | |||
=== Правила выставления оценок === | === Правила выставления оценок === | ||
Строка 55: | Строка 53: | ||
== Лекции == | == Лекции == | ||
+ | |||
+ | '''Лекция 1.''' (29 октября) Введение в машинное обучение, основные термины. [[https://github.com/brainylyasha/ml-politology-course/blob/master/lecture-notes/lecture01-intro.pdf Слайды]] | ||
+ | |||
+ | '''Лекция 2.''' (5 ноября) Типы задач и признаков. Понятие вектора, матрицы. Гипотеза компактности, метод k ближайших соседей. [[https://github.com/brainylyasha/ml-politology-course/blob/master/lecture-notes/lecture02-intro.pdf Слайды]] | ||
+ | |||
+ | '''Лекция 3.''' (12 ноября) Основные понятия линейной алгебры. Оценки обобщающей способности. Метод k ближайших соседей. [[https://github.com/brainylyasha/ml-politology-course/blob/master/lecture-notes/lecture03-knn.pdf Слайды]] | ||
+ | |||
+ | '''Лекция 4.''' (19 ноября) Линейная регрессия. Произведение матриц, производная, градиент, экстремумы. Основные понятия линейной алгебры. Оценки обобщающей способности. Метод k ближайших соседей. [[https://github.com/brainylyasha/ml-politology-course/blob/master/lecture-notes/lecture04-linreg.pdf Слайды]] | ||
+ | |||
+ | '''Лекция 5.''' (26 ноября) Основные понятия линейной алгебры. Оценки обобщающей способности. Метод k ближайших соседей. [[https://github.com/brainylyasha/ml-politology-course/blob/master/lecture-notes/lecture05-linreg.pdf Слайды]] | ||
+ | |||
+ | '''Лекция 6.''' (3 декабря) Линейная классификация. Пороговая функция потерь, верхние оценки. Логистическая регрессия. предсказание вероятностей. [[https://github.com/brainylyasha/ml-politology-course/blob/master/lecture-notes/lecture06-linclass.pdf Слайды]] | ||
+ | |||
+ | '''Лекция 7.''' (10 декабря) Метрики оценки качества регрессии и классификации. ROC- и PR-кривые. [[https://github.com/brainylyasha/ml-politology-course/blob/master/lecture-notes/lecture07-quality.pdf Слайды]] | ||
+ | |||
+ | '''Лекция 8.''' (17 декабря) Консультация по пройденному материалу. | ||
+ | |||
+ | '''Лекция 9.''' (14 января) Консультация по пройденному материалу. | ||
+ | |||
+ | '''Лекция 10.''' (21 января) Консультация по пройденному материалу. Гиперпараметры, многоклассовая классификация. [[https://github.com/brainylyasha/ml-politology-course/blob/master/lecture-notes/lecture10-hyper.pdf Слайды]] | ||
+ | |||
+ | '''Лекция 11.''' (28 января) Решающие деревья. [[https://github.com/brainylyasha/ml-politology-course/blob/master/lecture-notes/lecture11-trees.pdf Слайды]] | ||
+ | |||
+ | '''Лекция 12.''' (4 февраля) Случайные леса. [[https://github.com/brainylyasha/ml-politology-course/blob/master/lecture-notes/lecture12-ensembles.pdf Слайды]] | ||
+ | |||
+ | '''Лекция 13.''' (11 февраля) Градиентный бустинг. [[https://github.com/brainylyasha/ml-politology-course/blob/master/lecture-notes/lecture13-ensembles.pdf Слайды]] | ||
== Семинары == | == Семинары == | ||
+ | |||
+ | '''Семинар 1.''' (29 октября) Библиотека NumPy, решение задач. [[https://github.com/brainylyasha/ml-politology-course/blob/master/seminars/sem01-numpy.ipynb Ноутбук]] | ||
+ | |||
+ | '''Семинар 2''' (5 ноября) Pandas, работа с таблицами. [[https://github.com/brainylyasha/ml-politology-course/blob/master/seminars/sem02-pandas.ipynb Тетрадь на Гитхабе]] [[https://yadi.sk/d/28hfZnFX7eQMAA Тетрадь в одном архиве с данными]] | ||
+ | |||
+ | '''Семинар 3''' (12 ноября) Matplotlib, приемы и ошибки визуализации. [[https://github.com/brainylyasha/ml-politology-course/blob/master/seminars/sem03-visualization.ipynb Гитхаб]], [[https://colab.research.google.com/drive/1FeUgbCfvvre3AsC_MGd6z2w9VU7ggwDI Колаб]]. | ||
+ | |||
+ | '''Семинар 4''' (19 ноября) Sklearn. Метрические методы. Подбор гиперпараметра KNN [[https://github.com/brainylyasha/ml-politology-course/blob/master/seminars/sem04-sklearn-knn.ipynb Гитхаб]], [[https://colab.research.google.com/drive/1XE_EUG5VixI2qnuQ0Nh3jx0uxQzEVejm Колаб]]. | ||
+ | |||
+ | '''Семинар 5''' (26 ноября) Операции с векторами и матрицами. Производные [[https://colab.research.google.com/drive/1-FD9ToyUMSjwohv5FE2iALUK5IYtrk54 Колаб]]. | ||
+ | |||
+ | '''Семинар 6''' (3 декабря) Градиентный спуск. Линейная регрессия [[https://colab.research.google.com/drive/1CHHVM1cFSrFcul41wMvstDt2xvzinzIP Колаб]]. | ||
+ | |||
+ | '''Семинар 7''' (10 декабря) Линейные классификаторы [[https://colab.research.google.com/drive/15xjatRV0cq2mV4zQLjWZz8Wz16dLmq9M Колаб]]. | ||
+ | |||
+ | '''Семинар 8''' (17 декабря) Метрики качества [[https://colab.research.google.com/drive/1J-HjEtM2gBPE5CIETOKIRrfsRGrJpWDp Колаб]]. | ||
+ | |||
+ | '''Семинар 11''' (29 января) Работа с текстовыми данными [[https://colab.research.google.com/drive/1FXFUrgWyF6mA6wOjQtZQk8ybE5360pW0 Колаб]] | ||
+ | |||
+ | '''Семинар 12''' (12 февраля) Деревья решений [[https://colab.research.google.com/drive/199dPWnwB2bNooA-y2ViFfSIX5as5rJb_ Колаб]] | ||
+ | |||
+ | '''Семинар 13''' (19 февраля) Бэггинг и бустинг [[https://colab.research.google.com/drive/11qNhrgEauW_-mvOWEzW3irXXMUi2l9yi Колаб]] [[http://arogozhnikov.github.io/2016/06/24/gradient_boosting_explained.html Визуализации]] | ||
+ | |||
+ | '''Семинар 14''' (2 марта) Бустинг [[https://colab.research.google.com/drive/1SQINZqYvRL03EkjFflZ7Lv7f15eOdNXn Колаб]] | ||
+ | |||
+ | '''Семинар 15''' (16 марта) Кластеризация и методы понижения размерности [[https://colab.research.google.com/drive/1WZaUGGJx3C4h2DVY1Snrt-FDKFkkm-1k Колаб]] [[https://docs.google.com/forms/d/e/1FAIpQLSdd02BX3oszwioKiuVNy-hEg5PsDMIvQhX7Z_KHExC5fvjduA/viewform Проверочная]] | ||
+ | |||
+ | '''Семинар 16''' (23 марта) Нейронные сети [[https://colab.research.google.com/drive/1V1Omy__qtvAFFG0Pxm9-YpSsb_eigga- Колаб]] | ||
== Практические задания == | == Практические задания == | ||
+ | |||
+ | '''ДЗ 1''' (до 23 декабря) Задачи машинного обучения. Pandas и Matplotlib [[https://github.com/brainylyasha/ml-politology-course/blob/master/homeworks/hw1_ml_applied_pol.ipynb GitHub]] | ||
+ | |||
+ | '''ДЗ 2''' (до 22 февраля) Логистическая регрессия. [[https://github.com/brainylyasha/ml-politology-course/blob/master/homeworks/hw2_ml_applied_pol.ipynb GitHub]] | ||
+ | |||
+ | '''ДЗ 3''' (до 20 марта) Случайный лес. [[https://github.com/brainylyasha/ml-politology-course/blob/master/homeworks/hw3-random-forest.ipynb GitHub]], [[https://colab.research.google.com/drive/1dc5rbNE49MsV-K7oTaz0T4fD74pxqSM9 Колаб]] | ||
+ | |||
+ | == Проект == | ||
+ | |||
+ | |||
+ | '''Дедлайн''': 23:59MSK 15.03.2020 | ||
+ | |||
+ | |||
+ | Проект представляет собой некоторую задачу, которую нужно поставить и решить при помощи машинного обучения. Результатом выполнения проекта является архив с Jupyter-тетрадью и всеми необходимыми дополнительными файлами. Тетрадь должна представлять собой полноценный отчет, включающий как развернутые словесные описания датасета, задачи и выполняемых действий, так и код, выполняющий необходимые преобразования. | ||
+ | |||
+ | Тетрадь должна включать в себя следующие этапы решения задачи: | ||
+ | |||
+ | '''1. Получение обучающей выборки в табличном виде''' (1 балл) | ||
+ | |||
+ | В рамках этого этапа можно как найти некоторые готовые табличные данные, так и получить данные самостоятельно из некоторого источника при помощи парсинга, однако во втором случае студенту может быть начислено до 2 бонусных баллов за проект. Ограничение на данные — в выборке должно присутствовать не менее 2000 различных объектов. Данные с меньшим количеством объектов также можно рассмотреть, но датасет должен быть согласован с преподавателями. | ||
+ | |||
+ | '''2. Постановка задачи''' (1 балл) | ||
+ | |||
+ | Этот этап включает в себя определение того, что в задаче является объектами и ответами, а также определение итоговой метрики качества в задаче. | ||
+ | |||
+ | '''3. Визуализация''' (3 балла) | ||
+ | |||
+ | Минимальный объем работ в рамках этого этапа — изучить зависимость целевой переменной от признаков в вашей задаче, найти наиболее значимые и незначимые признаки и обосновать с точки зрения здравого смысла, почему они являются таковыми. В процессе визуализации могут быть найдены и другие интересные зависимости, которые также стоит отразить в работе, за особо интересные могут быть начислены бонусные баллы. | ||
+ | |||
+ | '''4. Построение модели''' (4 балла) | ||
+ | |||
+ | Следующий этап — построение модели, необходимо использовать хотя бы 2 метода из пройденных в курсе для обучения модели (а также не забыть для каждой подобрать гиперпараметры). За построение моделей с выдающимся качеством на тестовой выборке также могут быть начислены бонусные баллы. | ||
+ | |||
+ | '''5. Оценка качества''' (1 балл) | ||
+ | |||
+ | Последний этап — оценка качества моделей из п. 4 при помощи метрики качества, выбранной в п. 2. Не забудьте, что качество должно оцениваться на выборке, не используемой при обучении, поэтому необходимо с самого начала «отрезать» тестовую выборку для этого пункта. | ||
+ | |||
+ | После выбора данных (вне зависимости от того, планируете вы брать готовые табличные данные или парсить их самостоятельно) и задачи, необходимо заполнить [https://forms.gle/Zud4mp5zZ94ZUvsw7 форму], предварительно убедившись при помощи [https://docs.google.com/spreadsheets/d/1fWI0fWKzkscGkea2icA6cw7KUt11ROIFrokd6lxmuGg/edit?usp=sharing таблицы], что ваши данные/задача не пересекается с чьей-то еще. При совпадении данных у нескольких студентов, оценка за работу выставляется только первому студенту, выбравшему эти данные или задачу, остальным студентам за работу выставляется 0. Итоговая оценка за проект не может быть выше 10 (даже с учетом бонусных баллов; излишек бонусных баллов можно перенести в оценки за домашние задания и проверочные). В процессе выполнения проекта есть возможность консультироваться с преподавателями и ассистентов по любым возникающим вопросам. Готовый архив необходимо сдать в систему Anytask. | ||
+ | |||
+ | ==Коллоквиум== | ||
+ | |||
+ | '''Дата и место проведения''': 29.02.2020, 15:10, ауд. 421 | ||
+ | |||
+ | Коллоквиум проводится устно. Каждому студенту будет дано 2 теоретических вопроса (на вопросы нужно отвечать без подготовки и без использования каких-либо материалов; исчерпывающие ответы на эти вопросы будут оцениваться в 3 и 4 балла соответственно), и 1 задача (в процессе решения задачи можно использовать любые материалы; оценивается в 3 балла). | ||
+ | |||
+ | [https://docs.google.com/document/d/1tGvwAmOvIbA_McfoKjcze3Jr-76xsGLWcEiLHmmI9Pk/edit?usp=sharing Список вопросов для подготовки] (обратите внимание, что данный список вопросов следует воспринимать как перечень тем, а не как вопросы, которые будут использоваться непосредственно на коллоквиуме, — конкретные формулировки вопросов могут и будут отличаться). | ||
== Экзамен == | == Экзамен == | ||
+ | |||
+ | '''Дата и место проведения''': 20.06.2020, 12:00 | ||
+ | |||
+ | Экзамен проводится устно через zoom (детали проведения можно найти в чате курса в telegram). Каждому студенту будет дано 2 теоретических вопроса (на вопросы нужно отвечать без подготовки и без использования каких-либо материалов; исчерпывающие ответы на эти вопросы будут оцениваться в 3 и 4 балла соответственно), и 1 задача (в процессе решения задачи можно использовать любые материалы; оценивается в 3 балла). | ||
+ | |||
+ | [https://docs.google.com/document/d/1Z7DGrLYkgAERN3CTzXxINsn_kHHtegYmwwxXj6yI--0/edit?usp=sharing Список вопросов для подготовки] (обратите внимание, что данный список вопросов следует воспринимать как перечень тем, а не как вопросы, которые будут использоваться непосредственно на коллоквиуме, — конкретные формулировки вопросов могут и будут отличаться). | ||
+ | |||
== Полезные материалы == | == Полезные материалы == |
Текущая версия на 22:50, 7 июня 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 января) Решающие деревья. [Слайды]
Лекция 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 марта) Бустинг [Колаб]
Семинар 15 (16 марта) Кластеризация и методы понижения размерности [Колаб] [Проверочная]
Семинар 16 (23 марта) Нейронные сети [Колаб]
Практические задания
ДЗ 1 (до 23 декабря) Задачи машинного обучения. Pandas и Matplotlib [GitHub]
ДЗ 2 (до 22 февраля) Логистическая регрессия. [GitHub]
ДЗ 3 (до 20 марта) Случайный лес. [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 балла).
Список вопросов для подготовки (обратите внимание, что данный список вопросов следует воспринимать как перечень тем, а не как вопросы, которые будут использоваться непосредственно на коллоквиуме, — конкретные формулировки вопросов могут и будут отличаться).
Экзамен
Дата и место проведения: 20.06.2020, 12:00
Экзамен проводится устно через zoom (детали проведения можно найти в чате курса в telegram). Каждому студенту будет дано 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.
Курсы по машинному обучению и анализу данных
- Курс по машинному обучению К.В. Воронцова
- Видеозаписи лекций курса Школы Анализа Данных, К.В. Воронцов
- Coursera: Машинное обучение и анализ данных (специализация)
- Coursera: Введение в машинное обучение, К.В. Воронцов