Машинное обучение (фэн 2019) — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(lecture 2)
(Полезные материалы)
 
(не показано 12 промежуточных версии 2 участников)
Строка 1: Строка 1:
 
== О курсе ==
 
== О курсе ==
  
[... Таблица с оценками]
+
[https://www.hse.ru/edu/courses/292706624 Официальная программа]
 +
 
 +
[https://docs.google.com/spreadsheets/d/1wszs9DwtMwSzmF9igTkkQEEg8Mq05ampc6doDPDG2zY/edit?usp=sharing Таблица с оценками]
 +
 
  
 
{| class="wikitable"
 
{| class="wikitable"
Строка 7: Строка 10:
 
! Группа !! Преподаватель !! Учебный ассистент !! Username !! Расписание  
 
! Группа !! Преподаватель !! Учебный ассистент !! Username !! Расписание  
 
|-
 
|-
| лекции || [https://www.hse.ru/staff/bbd Борис Демешев] || ||  || R405, пятница, 9:00-10:30  
+
| лекции || [https://www.hse.ru/staff/bbd Борис Демешев] || ||  || G508, пятница, 9:00-10:30  
 
|-
 
|-
| ... || Павел Губко || ||  ||  
+
| ... || Павел Губко || Глеб Мезенцев || gleb_mezentsev ||  ||  
 
|-
 
|-
 
| ...  || [https://www.hse.ru/org/persons/101555071 Артем Филатов] ||  || ||  
 
| ...  || [https://www.hse.ru/org/persons/101555071 Артем Филатов] ||  || ||  
Строка 34: Строка 37:
 
По курсу возможно получение оценки автоматом без сдачи экзамена. Необходимым условием для получения автомата является накопленная оценка, равная 8 или выше.
 
По курсу возможно получение оценки автоматом без сдачи экзамена. Необходимым условием для получения автомата является накопленная оценка, равная 8 или выше.
  
== Коллоквиум и экзамен ==
 
 
'''Коллоквиум будет проведен ...'''
 
 
* коллоквиум будет включать в себя теоретические вопросы и задачи
 
* на подготовку и ответ будет выделено примерно по ... минут
 
* пользоваться при подготовке ничем нельзя
 
 
'''Экзамен будет проведен ...'''
 
  
 
== Полезные материалы ==
 
== Полезные материалы ==
Строка 48: Строка 42:
 
[https://github.com/bdemeshev/mlearn_pro Задачник по машинному обучению]
 
[https://github.com/bdemeshev/mlearn_pro Задачник по машинному обучению]
  
'''Неделя 1''' (лекция 6 сентября). [http://www.janmagnus.nl/misc/mdc-ch18.pdf Матричный дифференциал] и его свойства. Формула оценивания. Киноклуб [https://www.youtube.com/channel/UCbfYPyITQ-7l4upoX8nvctg Two minutes paper].
+
'''Неделя 1''' (лекция 6 сентября). Матричный дифференциал и его свойства. Формула оценивания. Киноклуб Two minutes paper.
 +
 
 +
[http://www.janmagnus.nl/misc/mdc-ch18.pdf Матричный дифференциал]
 +
 
 +
[https://www.youtube.com/channel/UCbfYPyITQ-7l4upoX8nvctg Two minutes paper]
  
 
[https://www.coursera.org/learn/python-osnovy-programmirovaniya Курс по питону с курсеры]
 
[https://www.coursera.org/learn/python-osnovy-programmirovaniya Курс по питону с курсеры]
Строка 56: Строка 54:
  
 
[https://distill.pub/2017/momentum/ Приятная визуализация Why momentum really works?]
 
[https://distill.pub/2017/momentum/ Приятная визуализация Why momentum really works?]
[https://github.com/esokolov/ml-course-hse/blob/master/2016-fall/lecture-notes/lecture02-linregr.pdf Лекция Евгения Соколова]
+
 
 +
[https://github.com/esokolov/ml-course-hse/blob/master/2016-fall/lecture-notes/lecture02-linregr.pdf Лекция 2 Евгения Соколова про линейную регрессию]
 +
 
 
[http://www.cs.cmu.edu/~aarti/Class/10725_Fall17/Lecture_Slides/stochastic_optimization_methods.pdf Слайды про SG, SAG от Carnegie Mellon]
 
[http://www.cs.cmu.edu/~aarti/Class/10725_Fall17/Lecture_Slides/stochastic_optimization_methods.pdf Слайды про SG, SAG от Carnegie Mellon]
 +
 +
'''Неделя 3''' (лекция 20 сентября). Парадокс Штейна или зачем нужна регуляризация? Идея LASSO и гребневой регрессии.
 +
 +
[https://en.wikipedia.org/wiki/Stein%27s_example Wikipedia, Stein's example]
 +
 +
[http://www.statslab.cam.ac.uk/~rjs57/SteinParadox.pdf Richard Samworth, Stein Paradox]
 +
 +
[https://github.com/esokolov/ml-course-hse/blob/master/2019-fall/lecture-notes/lecture03-linregr.pdf Лекция 3 Евгения Соколова про линейные модели]
 +
 +
[https://stats.stackexchange.com/questions/122062 Что общего между Ridge regression и Stein paradox?]
 +
 +
'''Неделя 4''' (лекция 27 сентября). Задача классификации. Персептрон, обучение персептрона. Логистическая регрессия: функция правдоподобия, интерпретация коэффициентов,
 +
интерпретация с помощью полезности. Кривая точность-полнота, ROC-кривая.
 +
 +
[https://github.com/esokolov/ml-course-hse/blob/master/2019-fall/lecture-notes/lecture04-linclass.pdf Лекция 4 Евгения Соколова про линейные классификаторы]
 +
 +
[http://ciml.info/ Глава 5 про персептрон и глава 9 про логистическую регрессию]
 +
 +
'''Неделя 5''' (лекция 04 октября). Многоклассовая классификация. Идеи: обобщение алгоритма на примере логистической регрессии, один против остальных, каждый против каждого. Создание признаков: стандартизация, one-hot кодирование, one-hot кодирование с хэш-функцией, mean-target кодирование на примере долей для дискретной зависимой переменной.
 +
 +
[https://github.com/esokolov/ml-course-hse/raw/master/2018-fall/lecture-notes/lecture06-linclass.pdf Лекция 6 Евгения Соколова про многоклассовую классификацию]
 +
 +
'''Неделя 6''' (лекция 11 октября). Два взглядов на метод главных компонент: максимизация выборочной дисперсии, диагонализация ковариационной матрицы.
 +
 +
[http://web.math.ku.dk/~richard/courses/statlearn2011/pca.pdf оч удачный листок, доказывающий эквивалентность трёх подходов]
 +
 +
[https://stats.stackexchange.com/questions/2691 making sense of PCA]
 +
 +
'''Неделя 7''' (лекция 18 октября). Ещё три взгляда на метод главных компонент. Сингулярное разложение матрицы X. Минимизация суммы квадратов расстояний от X до аппроксимирующей матрицы меньшего ранга. Максимизиация средней величины R^2, где прогнозируемыми переменными выступают исходные переменные, а предикторами — главные компоненты. Вероятностная модель за pca.
 +
 +
[https://www.researchgate.net/publication/318472700_Teaching_Principal_Components_Using_Correlations pca как максимизация среднего значения коэффициента детерминации]
 +
 +
[http://www.robots.ox.ac.uk/~cvrg/hilary2006/ppca.pdf вероятностная модель за pca]
 +
 +
[https://medium.com/@jonathan_hui/machine-learning-singular-value-decomposition-svd-principal-component-analysis-pca-1d45e885e491 про связь svd и pca с картинками]
 +
 +
[https://stats.stackexchange.com/questions/134282 Про связь PCA и SVD на stats.stackexchange]
 +
 +
[http://www.d.umn.edu/~mhampton/m4326svd_example.pdf пример подсчёта SVD руками]. Компьютер считает принципиально по-другому :)
 +
 +
[https://www.scss.tcd.ie/Rozenn.Dahyot/CS1BA1/SolutionEigen.pdf пример подсчёта собственных векторов]
 +
 +
 +
'''Коллоквиум''' (25 октября). Будет включать в себя теоретические вопросы и задачи. При подготовке к ответу пользоваться ничем нельзя.
 +
 +
'''Неделя 8''' (лекция 1 ноября). Энтропия. Энтропия как количество среднее количество бит на передачу одного сообщения при оптимальном кодировании.
 +
Энтропия как среднее количество вопросов в данетках для отгадывания загаданного слова при оптимальной стратегии. Кросс-энтропия. Дивергенция Кульбака-Лейблера.
 +
Алгоритм umap.
 +
 +
[https://colah.github.io/posts/2015-09-Visual-Information/ Visual introduction to entropy]
 +
[https://towardsdatascience.com/how-exactly-umap-works-13e3040e1668 umap-tsne]
 +
[https://towardsdatascience.com/how-to-program-umap-from-scratch-e6eff67f55fe DIY umap]
 +
[https://distill.pub/2016/misread-tsne/ Tsne visualiazed]
 +
 +
'''Неделя 9''' (лекция 8 ноября). Разложение смещение-разброс. Зелёные друзья: дерево. Критерий Джини. Какие вопросы можно задавать в узле? Какая функция минимизируется при выборе вопроса? Как прокидываются пропущенные наблюдения? Когда останавливается рост дерева? Как обрезается дерево? Случайный лес.
 +
 +
[http://www.r2d3.us/ Trees and bias-variance trade-off]
 +
[https://github.com/esokolov/ml-course-hse/blob/master/2018-fall/lecture-notes/lecture08-ensembles.pdf Лекция 8: разложение у Евгения Соколова с жуткими индексами :)]
 +
 +
'''Неделя 10''' (лекция 8 ноября). Случайный лес. Градиентный бустинг.  Задачка на разложение шум-смещение-дисперсия.
 +
 +
[https://arxiv.org/pdf/1603.02754.pdf Xgboost]
 +
[https://stats.stackexchange.com/questions/354484/ why does xgboost has a learning rate?]
 +
[https://github.com/esokolov/ml-course-hse/blob/master/2018-fall/lecture-notes/lecture10-ensembles.pdf Лекция 10 Евгения Соколова: xgboost]
 +
 +
 +
'''Экзамен''' (xx декабря). Письменный.
  
  
Строка 74: Строка 141:
 
* [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: Введение в машинное обучение, К.В. Воронцов]
 +
* [http://ciml.info/ A Course in Machine Learning by Hal Daume]

Текущая версия на 10:42, 16 ноября 2019

О курсе

Официальная программа

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


Группа Преподаватель Учебный ассистент Username Расписание
лекции Борис Демешев G508, пятница, 9:00-10:30
... Павел Губко Глеб Мезенцев gleb_mezentsev
... Артем Филатов
... Артур Петросян

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

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

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

Итоговая оценка = 0.2 * Квизы + 0.3 * Домашние задания + 0.2 * Коллоквиум + 0.3 * Экзамен

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

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

По курсу возможно получение оценки автоматом без сдачи экзамена. Необходимым условием для получения автомата является накопленная оценка, равная 8 или выше.


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

Задачник по машинному обучению

Неделя 1 (лекция 6 сентября). Матричный дифференциал и его свойства. Формула оценивания. Киноклуб Two minutes paper.

Матричный дифференциал

Two minutes paper

Курс по питону с курсеры

Неделя 2 (лекция 13 сентября). Второй дифференциал. Явный вывод оценок МНК в матричной форме. Проверка условий второго порядка с помощью второго дифференциала. Градиентный спуск. Методы оценки градиента: SG, SAG, momentum.

Приятная визуализация Why momentum really works?

Лекция 2 Евгения Соколова про линейную регрессию

Слайды про SG, SAG от Carnegie Mellon

Неделя 3 (лекция 20 сентября). Парадокс Штейна или зачем нужна регуляризация? Идея LASSO и гребневой регрессии.

Wikipedia, Stein's example

Richard Samworth, Stein Paradox

Лекция 3 Евгения Соколова про линейные модели

Что общего между Ridge regression и Stein paradox?

Неделя 4 (лекция 27 сентября). Задача классификации. Персептрон, обучение персептрона. Логистическая регрессия: функция правдоподобия, интерпретация коэффициентов, интерпретация с помощью полезности. Кривая точность-полнота, ROC-кривая.

Лекция 4 Евгения Соколова про линейные классификаторы

Глава 5 про персептрон и глава 9 про логистическую регрессию

Неделя 5 (лекция 04 октября). Многоклассовая классификация. Идеи: обобщение алгоритма на примере логистической регрессии, один против остальных, каждый против каждого. Создание признаков: стандартизация, one-hot кодирование, one-hot кодирование с хэш-функцией, mean-target кодирование на примере долей для дискретной зависимой переменной.

Лекция 6 Евгения Соколова про многоклассовую классификацию

Неделя 6 (лекция 11 октября). Два взглядов на метод главных компонент: максимизация выборочной дисперсии, диагонализация ковариационной матрицы.

оч удачный листок, доказывающий эквивалентность трёх подходов

making sense of PCA

Неделя 7 (лекция 18 октября). Ещё три взгляда на метод главных компонент. Сингулярное разложение матрицы X. Минимизация суммы квадратов расстояний от X до аппроксимирующей матрицы меньшего ранга. Максимизиация средней величины R^2, где прогнозируемыми переменными выступают исходные переменные, а предикторами — главные компоненты. Вероятностная модель за pca.

pca как максимизация среднего значения коэффициента детерминации

вероятностная модель за pca

про связь svd и pca с картинками

Про связь PCA и SVD на stats.stackexchange

пример подсчёта SVD руками. Компьютер считает принципиально по-другому :)

пример подсчёта собственных векторов


Коллоквиум (25 октября). Будет включать в себя теоретические вопросы и задачи. При подготовке к ответу пользоваться ничем нельзя.

Неделя 8 (лекция 1 ноября). Энтропия. Энтропия как количество среднее количество бит на передачу одного сообщения при оптимальном кодировании. Энтропия как среднее количество вопросов в данетках для отгадывания загаданного слова при оптимальной стратегии. Кросс-энтропия. Дивергенция Кульбака-Лейблера. Алгоритм umap.

Visual introduction to entropy umap-tsne DIY umap Tsne visualiazed

Неделя 9 (лекция 8 ноября). Разложение смещение-разброс. Зелёные друзья: дерево. Критерий Джини. Какие вопросы можно задавать в узле? Какая функция минимизируется при выборе вопроса? Как прокидываются пропущенные наблюдения? Когда останавливается рост дерева? Как обрезается дерево? Случайный лес.

Trees and bias-variance trade-off Лекция 8: разложение у Евгения Соколова с жуткими индексами :)

Неделя 10 (лекция 8 ноября). Случайный лес. Градиентный бустинг. Задачка на разложение шум-смещение-дисперсия.

Xgboost why does xgboost has a learning rate? Лекция 10 Евгения Соколова: xgboost


Экзамен (xx декабря). Письменный.


Книги

  • Hastie T., Tibshirani R, Friedman J. The Elements of Statistical Learning (2nd edition). Springer, 2009.r, 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.

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