Машинное обучение 2 — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(Лекции)
Строка 9: Строка 9:
 
'''Лектор:''' [http://www.hse.ru/staff/esokolov Соколов Евгений Андреевич]
 
'''Лектор:''' [http://www.hse.ru/staff/esokolov Соколов Евгений Андреевич]
  
Лекции проходят по вторникам, 10:30 - 11:50, ауд. 509.
+
Лекции проходят по пятницам, 10:30 - 11:50, ауд. 317.
  
  
Строка 18: Строка 18:
 
=== Полезные ссылки ===
 
=== Полезные ссылки ===
  
[https://www.hse.ru/edu/courses/184771518 Карточка курса и программа]
+
[https://www.hse.ru/edu/courses/205514318 Карточка курса и программа]
  
 
[https://github.com/esokolov/ml-course-hse Репозиторий с материалами на GitHub]
 
[https://github.com/esokolov/ml-course-hse Репозиторий с материалами на GitHub]
  
Почта для сдачи домашних заданий: hse.cs.ml+<номер группы>@gmail.com (например, hse.cs.ml+141@gmail.com)
+
Почта для сдачи домашних заданий: hse.cs.ml+<номер группы>@gmail.com (например, hse.cs.ml+151@gmail.com)
  
Канал в telegram для объявлений: https://telegram.me/hse_cs_ml_2_course
+
Канал в telegram для объявлений: https://telegram.me/hse_cs_ml_2_course_2017
  
[https://docs.google.com/spreadsheets/d/1BhzeronD6_DUcH1l0W2ohN4wU97DobLj0tp9-nELNSY/edit?usp=sharing Таблица с оценками]
+
Чат в telegram для обсуждений: https://t.me/joinchat/A5rlQEQ7r16nvyHbyXtjNA
 +
 
 +
[https://docs.google.com/spreadsheets/d/16wj3eH2crdGY-MFqiMMUoy1E7uo80nYT2MYfz3Y7gx4/edit?usp=sharing Таблица с оценками]
  
 
Оставить отзыв на курс: [https://goo.gl/forms/5CddG0gc75VZvqi52 форма]
 
Оставить отзыв на курс: [https://goo.gl/forms/5CddG0gc75VZvqi52 форма]
Строка 37: Строка 39:
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Группа !! Преподаватель !! Учебный ассистент !! Страница !! Расписание
+
! Группа !! Преподаватель !! Расписание
 
|-
 
|-
| 141 (МОП) || [https://www.hse.ru/org/persons/165212870 Зиннурова Эльвира Альбертовна] || Козловская Наталия || || вторник, 12:10 - 13:30, ауд. 501
+
| 151 (МОП) || [https://www.hse.ru/org/persons/165212870 Зиннурова Эльвира Альбертовна] || пятница, 12:10 - 13:30, ауд. ??
 
|-
 
|-
| 142 (МОП) || [https://www.hse.ru/org/persons/191263008 Неклюдов Кирилл Олегович] || Егоров Евгений || || вторник, 12:10 - 13:30, ауд. 503
+
| 152 (МОП) || [https://www.hse.ru/org/persons/191263008 Неклюдов Кирилл Олегович] || пятница, 12:10 - 13:30, ауд. ??
 
|-
 
|-
 
|}
 
|}
Строка 47: Строка 49:
 
=== Консультации ===
 
=== Консультации ===
  
Консультации с преподавателями и учебными ассистентами (если иное не оговорено на странице семинаров конкретной группы) по курсу проводятся по предварительной договорённости ввиду невостребованности регулярных консультаций.
+
Консультации с преподавателями и учебными ассистентами по курсу проводятся по предварительной договорённости.
  
 
=== Правила выставления оценок ===
 
=== Правила выставления оценок ===
Строка 53: Строка 55:
 
В курсе предусмотрено несколько форм контроля знания:
 
В курсе предусмотрено несколько форм контроля знания:
 
* Самостоятельные работы на семинарах, проверяющие знание основных фактов с лекций и выполнение теоретических домашних заданий
 
* Самостоятельные работы на семинарах, проверяющие знание основных фактов с лекций и выполнение теоретических домашних заданий
 +
* Теоретические домашние задания
 
* Практические домашние работы на Python
 
* Практические домашние работы на Python
 
* Соревнования по анализу данных
 
* Соревнования по анализу данных
 
* Письменный коллоквиум в конце 3-го модуля
 
* Письменный коллоквиум в конце 3-го модуля
* Устный экзамен
+
* Письменный экзамен
  
 
Итоговая оценка вычисляется на основе оценки за работу в семестре и оценки за экзамен:
 
Итоговая оценка вычисляется на основе оценки за работу в семестре и оценки за экзамен:
Строка 64: Строка 67:
 
Оценка за работу в семестре вычисляется по формуле
 
Оценка за работу в семестре вычисляется по формуле
  
O<sub>накопленная</sub> = 0.2 * O<sub>самостоятельные</sub> + 0.6 * О<sub>дз</sub> + 0.2 * О<sub>коллоквиум</sub>
+
O<sub>накопленная</sub> = 0.2 * O<sub>самостоятельные</sub> + 0.2 * O<sub>теоретические дз</sub> + 0.4 * О<sub>практические дз</sub> + 0.2 * О<sub>контрольная</sub>
  
 
Оценка за самостоятельную работу вычисляется как среднее по всем самостоятельным, оценка за домашнюю работу — как среднее по всем практическим заданиям и соревнованиям.
 
Оценка за самостоятельную работу вычисляется как среднее по всем самостоятельным, оценка за домашнюю работу — как среднее по всем практическим заданиям и соревнованиям.
 
Также за каждое практическое задание и соревнование можно получить дополнительные баллы, которые влияют на освобождение от задач на экзамене.
 
  
 
=== Правила сдачи заданий ===
 
=== Правила сдачи заданий ===
  
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работа не принимаются.
+
За каждый день просрочки после мягкого дедлайна снимается 1 балл. После жёсткого дедлайна работы не принимаются.
  
 
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.
 
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.
Строка 80: Строка 81:
 
== Лекции ==
 
== Лекции ==
  
'''Лекция 14''' (10 января). Reproducing kernel Hilbert space. Теорема о представлении. Аппроксимация спрямляющего пространства. [[https://github.com/esokolov/ml-course-hse/blob/master/2016-spring/lecture-notes/lecture14-kernels.pdf Конспект]]
+
'''Лекция 14''' (12 января). Двойственные представления для линейной регрессии и SVM. Ядра. Теорема Мерсера. Способы построения ядер. Полиномиальные и гауссовы ядра. [[https://github.com/esokolov/ml-course-hse/blob/master/2017-spring/lecture-notes/lecture14-kernels.pdf Конспект]]
 
+
'''Лекция 15''' (17 января). Смеси распределений. Модели со скрытыми переменными. KL-дивергения. EM-алгоритм в общем виде, его сходимость. [[https://github.com/esokolov/ml-course-hse/blob/master/2016-spring/lecture-notes/lecture15-em.pdf Конспект]]
+
 
+
'''Лекция 16''' (31 января). Ядровой метод главных компонент. Двойственные задачи и условия Куна-Таккера. Двойственный SVM. [[https://github.com/esokolov/ml-course-hse/blob/master/2016-spring/lecture-notes/lecture16-kernels.pdf Конспект]]
+
 
+
'''Лекция 17''' (7 февраля). Лапласианы графов. Спектральная кластеризация. Методы частичного обучения (semi-supervised learning).
+
 
+
'''Лекция 18''' (14 февраля). Работа с несбалансированными выборками. Одноклассовые методы и обнаружение аномалий: статистический и метрический подходы. Одноклассовый SVM. Метод главных компонент в обнаружении аномалий. [[https://github.com/esokolov/ml-course-hse/blob/master/2016-spring/lecture-notes/lecture18-anomaly.pdf Конспект]]
+
 
+
'''Лекция 19''' (21 февраля). Рекомендательные системы. Коллаборативная фильтрация: memory-based и model-based. Матричные разложения, ALS. Учёт неявной информации и модель iALS. Factorization machines. [[https://github.com/esokolov/ml-course-hse/blob/master/2016-spring/lecture-notes/lecture19-recommender.pdf Конспект]]
+
 
+
'''Лекция 20''' (28 февраля). Рекомендательные системы. Холодный старт. Метрики качества рекомендаций. [[https://github.com/esokolov/ml-course-hse/blob/master/2016-spring/lecture-notes/lecture20-recommender.pdf Конспект]]
+
 
+
'''Лекция 21''' (14 марта). Метрические методы. Метод k ближайших соседей для классификации и регрессии, его оптимальность. Измерение расстояний между текстами с помощью их внутренних представлений. Приближенные методы поиска соседей и locality sensitive hashing. [[https://github.com/esokolov/ml-course-hse/blob/master/2016-spring/lecture-notes/lecture21-knn.pdf Конспект]]
+
 
+
'''Лекция 22''' (21 марта). Locality sensitive hashing, композиции хэш-функций. Обучение метрик, методы NCA и LMNN. [[https://github.com/esokolov/ml-course-hse/blob/master/2016-spring/lecture-notes/lecture22-knn.pdf Конспект]]
+
 
+
'''Лекция 23''' (4 апреля). Тематическое моделирование. Методы LSA, PLSA, LDA. [[https://github.com/esokolov/ml-course-hse/blob/master/2016-spring/lecture-notes/lecture23-topicmodels.pdf Конспект]]
+
 
+
'''Лекция 24''' (11 апреля). Обучение ранжированию. Метрики качества ранжирования. Примеры факторов в ранжировании: BM25 и PageRank. [[https://github.com/esokolov/ml-course-hse/blob/master/2016-spring/lecture-notes/lecture24-ranking.pdf Конспект]]
+
 
+
'''Лекция 25''' (18 апреля). Обучение ранжированию. Поточечный, попарный и списочный подходы. Краудсорсинг при сборе данных, оптимальная агрегация меток. [[https://github.com/esokolov/ml-course-hse/blob/master/2016-spring/lecture-notes/lecture25-ranking.pdf Конспект]]
+
 
+
'''Лекция 26''' (30 мая). Защита данных в машинном обучении. Дифференциальная приватность. Лапласовский механизм, его применение для метода k-means. Reverse engineering для классификаторов и защита от него. Метод на основе обучения распределения на весах.
+
 
+
'''Лекция 27''' (6 июня). Обучение с переносом знаний (transfer learning). Перевзвешивание выборки с помощью дополнительной модели. Адаптация текстовых классификаторов под новое распределение признаков с помощью опорных слов.
+
  
 
== Семинары ==
 
== Семинары ==
  
'''Семинар 14''' (10 января). Решение задач на ядра. Ядра на строках. [[https://github.com/esokolov/ml-course-hse/blob/master/2016-spring/seminars/sem14-kernels.pdf Конспект]] [[https://github.com/esokolov/ml-course-hse/blob/master/2016-spring/homeworks-theory/homework-theory-12-kernels.pdf Домашнее задание]]
 
 
'''Семинар 15''' (17 января). Решение задач на EM-алгоритм. [[https://github.com/esokolov/ml-course-hse/blob/master/2016-spring/seminars/sem15-EM.pdf Конспект]] [[https://github.com/esokolov/ml-course-hse/blob/master/2016-spring/homeworks-theory/homework-theory-13-em.pdf Домашнее задание]]
 
 
'''Семинар 16''' (31 января). Решение задач на SVM. [[https://github.com/esokolov/ml-course-hse/blob/master/2016-spring/seminars/sem16-svm.pdf Конспект]] [[https://github.com/esokolov/ml-course-hse/blob/master/2016-spring/homeworks-theory/homework-theory-14-svm.pdf Домашнее задание]]
 
 
'''Семинар 17''' (7 февраля). Лапласианы графов и спектральная кластеризация. [[https://github.com/esokolov/ml-course-hse/blob/master/2016-spring/seminars/sem17-spectral-clustering.pdf Конспект]] [[https://github.com/esokolov/ml-course-hse/blob/master/2016-spring/homeworks-theory/homework-theory-15-unsupervised.pdf Домашнее задание]]
 
 
'''Семинар 18''' (14 февраля). Параметрические оценки плотности. Байесовская классификация, наивный байесовский подход к восстановлению плотности. [[https://github.com/esokolov/ml-course-hse/blob/master/2016-spring/seminars/sem18-bayes.pdf Конспект]] [[https://github.com/esokolov/ml-course-hse/blob/master/2016-spring/homeworks-theory/homework-theory-16-density.pdf Домашнее задание]]
 
 
'''Семинар 19''' (28 февраля). Рекомендательные системы. Факторизационные машины и методы их обучения. [[https://github.com/esokolov/ml-course-hse/blob/master/2016-spring/seminars/sem19-FM.pdf Конспект]] [[https://github.com/esokolov/ml-course-hse/blob/master/2016-spring/homeworks-theory/homework-theory-17-factorizations.pdf Домашнее задание]]
 
 
'''Семинар 20''' (14 марта). Метод k ближайших соседей, его особенности и недостатки. Способы задания расстояния на признаках. [[https://github.com/esokolov/ml-course-hse/blob/master/2016-spring/seminars/sem20-knn.pdf Конспект]] [[https://github.com/esokolov/ml-course-hse/blob/master/2016-spring/homeworks-theory/homework-theory-18-knn.pdf Домашнее задание]]
 
 
'''Семинар 21''' (21 марта). Применение гауссовских процессов в задачах восстановления регрессии [[https://github.com/esokolov/ml-course-hse/blob/master/2016-spring/seminars/sem21-gp.pdf Конспект]] [[https://github.com/esokolov/ml-course-hse/blob/master/2016-spring/homeworks-theory/homework-theory-19-norm.pdf Домашнее задание]]
 
 
'''Семинар 22''' (4 апреля). Анализ текстовой информации. Тематическое моделирование. [[https://github.com/esokolov/ml-course-hse/blob/master/2016-spring/seminars/sem22-texts.ipynb Конспект]]
 
  
 
== Практические задания ==
 
== Практические задания ==
  
'''Задание 5.''' Ядровые методы.
 
 
Дата выдачи: 26.02.2017
 
 
Дедлайн: 13.03.2017 23:59MSK
 
 
[https://github.com/esokolov/ml-course-hse/blob/master/2016-spring/homeworks-practice/homework-practice-05-kernels.ipynb Условие]
 
 
'''Задание 6.''' ЕМ-алгоритм.
 
 
Дата выдачи: 03.04.2017
 
 
Дедлайн: 16.04.2017 23:59MSK
 
 
[https://github.com/esokolov/ml-course-hse/blob/master/2016-spring/homeworks-practice/homework-practice-06-em.ipynb Условие]
 
 
'''Задание 7.''' Рекомендательные системы.
 
 
Дата выдачи: 11.05.2017
 
 
Дедлайн: 28.05.2017 23:59MSK
 
 
[https://github.com/esokolov/ml-course-hse/blob/master/2016-spring/homeworks-practice/homework-practice-07-recommender.ipynb Условие]
 
 
'''Задание 8.''' Ранжирование.
 
 
Дата выдачи: 30.05.2017
 
 
Дедлайн: 07.06.2017 23:59MSK
 
 
[https://github.com/esokolov/ml-course-hse/blob/master/2016-spring/homeworks-practice/homework-practice-08-ranking.ipynb Условие]
 
  
 
== Соревнования ==
 
== Соревнования ==
  
'''В течение недели''' после окончания соревнования на почту курса необходимо прислать:
 
* краткий отчёт с описанием решения (достаточно нескольких предложений с описанием использованных признаков и методов);
 
* код, с помощью которого можно получить ответы, отправленные в качестве решения на Kaggle.
 
 
Оценка за соревнование в случае преодоления всех бейзлайнов вычисляется по формуле
 
 
10 - 9 * (i - 1) / (n - 1),
 
 
где i — номер студента в таблице результатов среди своих одногруппников, n — количество студентов в группе. В противном случае студент получает за соревнование 0 баллов.
 
 
Также за первое, второе и третье место в пределах группы студент получет 3, 2 или 1 дополнительный балл соответственно. За лучшие места в общем рейтинге также могут быть выставлены дополнительные баллы. Напоминаем, что дополнительные баллы не влияют на накопленную оценку.
 
 
Если решения всех участников окажутся тривиальными или участников будет слишком мало, то преподаватели имеют право
 
снизить максимальную оценку или сделать шкалу более разреженной.
 
 
Студент, набравший менее 6 баллов (но при этом преодолевший бейзлайны), имеет право написать подробный отчёт по итогам соревнования и повысить свою оценку до 6 баллов (при выполнении всех требований к отчёту).
 
 
Регистрируясь на соревнование, выбирайте осмысленное имя. Рекомендованный формат: ''Иванов Иван (ПМИ ФКН ВШЭ, группа 141)''.
 
 
=== Соревнование 2: Разметка ресторанов по изображениям ===
 
 
Дата выдачи: 10.01.2017
 
 
Дедлайн: 05.02.2017
 
 
Соревнование на Kaggle InClass: https://inclass.kaggle.com/c/hse-yelp-restaurant-photo-classification-2/
 
 
Ссылка для участия: https://kaggle.com/join/hserestaurant
 
 
[https://github.com/esokolov/ml-course-hse/tree/master/2016-spring/contests Требования к отчёту по соревнованию]
 
 
Дедлайн по отчёту: 12.02.2017 23:59 MSK
 
 
== Коллоквиум ==
 
 
Дата: 25.04.2017
 
 
Коллоквиум проводится с 12:10 до 13:30 в семинарских аудиториях (по расписанию).
 
  
[https://docs.google.com/document/d/1BkuJ8Fh16anRKVZRMlgjbLdQSdfF5fqBBNWegQJOXuA/edit?usp=sharing Вопросы к коллоквиуму]
+
== Контрольная работа ==
  
Коллоквиум письменный, каждый вариант будет состоять из теоретического вопроса и нескольких задач.
 
  
 
== Экзамен ==
 
== Экзамен ==
  
Дата: 20.06.2017
 
  
[https://docs.google.com/document/d/190t1QNxSboNEh2g6dB-KlDipVfU-5y0gpqETLyTgiCY/edit?usp=sharing Вопросы к экзамену]
 
 
Экзамен письменный, каждый вариант будет состоять из двух теоретических вопросов.
 
  
 
== Полезные материалы ==
 
== Полезные материалы ==
Строка 229: Строка 113:
 
* [https://www.coursera.org/specializations/machine-learning-data-analysis Coursera: Машинное обучение и анализ данных (специализация)]
 
* [https://www.coursera.org/specializations/machine-learning-data-analysis Coursera: Машинное обучение и анализ данных (специализация)]
 
* [https://www.coursera.org/learn/introduction-machine-learning Coursera: Введение в машинное обучение, К.В. Воронцов]
 
* [https://www.coursera.org/learn/introduction-machine-learning Coursera: Введение в машинное обучение, К.В. Воронцов]
 +
 +
== Страницы предыдущих лет ==
 +
 +
[[Машинное_обучение_2/2016_2017 | 2016/2017 учебный год]]

Версия 19:25, 14 января 2018

О курсе

borderless

Курс читается для студентов 3-го курса ПМИ ФКН ВШЭ в 3-4 модулях.

Проводится с 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_2_course_2017

Чат в telegram для обсуждений: https://t.me/joinchat/A5rlQEQ7r16nvyHbyXtjNA

Таблица с оценками

Оставить отзыв на курс: форма

Вопросы по курсу можно задавать на почту курса, а также в телеграм лектору (esokolov@) или семинаристу. Вопросы по материалам лекций/семинаров и по заданиям лучше всего оформлять в виде Issue в github-репозитории курса.

Семинары

Группа Преподаватель Расписание
151 (МОП) Зиннурова Эльвира Альбертовна пятница, 12:10 - 13:30, ауд. ??
152 (МОП) Неклюдов Кирилл Олегович пятница, 12:10 - 13:30, ауд. ??

Консультации

Консультации с преподавателями и учебными ассистентами по курсу проводятся по предварительной договорённости.

Правила выставления оценок

В курсе предусмотрено несколько форм контроля знания:

  • Самостоятельные работы на семинарах, проверяющие знание основных фактов с лекций и выполнение теоретических домашних заданий
  • Теоретические домашние задания
  • Практические домашние работы на Python
  • Соревнования по анализу данных
  • Письменный коллоквиум в конце 3-го модуля
  • Письменный экзамен

Итоговая оценка вычисляется на основе оценки за работу в семестре и оценки за экзамен:

Oитоговая = 0.7 * Oнакопленная + 0.3 * Оэкз

Оценка за работу в семестре вычисляется по формуле

Oнакопленная = 0.2 * Oсамостоятельные + 0.2 * Oтеоретические дз + 0.4 * Опрактические дз + 0.2 * Оконтрольная

Оценка за самостоятельную работу вычисляется как среднее по всем самостоятельным, оценка за домашнюю работу — как среднее по всем практическим заданиям и соревнованиям.

Правила сдачи заданий

За каждый день просрочки после мягкого дедлайна снимается 1 балл. После жёсткого дедлайна работы не принимаются.

При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.

При наличии уважительной причины пропущенную проверочную можно написать позднее, а дедлайн по домашнему заданию может быть перенесён (при этом получить дополнительные баллы за призовые места на конкурсе можно только при участии в общий срок). Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.

Лекции

Лекция 14 (12 января). Двойственные представления для линейной регрессии и SVM. Ядра. Теорема Мерсера. Способы построения ядер. Полиномиальные и гауссовы ядра. [Конспект]

Семинары

Практические задания

Соревнования

Контрольная работа

Экзамен

Полезные материалы

Книги

  • 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.

Курсы по машинному обучению и анализу данных

Страницы предыдущих лет

2016/2017 учебный год