НИС Машинное обучение и приложения — различия между версиями
Tipt0p (обсуждение | вклад) (→Темы семинаров) |
Tipt0p (обсуждение | вклад) |
||
(не показано 12 промежуточных версии этого же участника) | |||
Строка 1: | Строка 1: | ||
'''Таблица с расписание семинаров [https://docs.google.com/spreadsheets/d/1DdPqVTAT5waRSPiRZD0Zp_FEIQpBgw0NarcrspQfZes/edit?usp=sharing здесь]''' | '''Таблица с расписание семинаров [https://docs.google.com/spreadsheets/d/1DdPqVTAT5waRSPiRZD0Zp_FEIQpBgw0NarcrspQfZes/edit?usp=sharing здесь]''' | ||
+ | |||
+ | '''Таблица со списком следующих тем [https://drive.google.com/open?id=1G6_Xte45ct4BPjbgRGUgVgpvzNDcHctFsBqpr46PEQ8 здесь]''' | ||
+ | |||
+ | '''Таблица с итогами [https://docs.google.com/spreadsheets/d/1qhqqR_p48ayHrr-1vYxFVZzNPdV_dri4Wa-EDaIWf0s/edit?usp=sharing здесь]''' | ||
'''Контакты: ''' | '''Контакты: ''' | ||
Строка 11: | Строка 15: | ||
В ходе курса студенты изучат теоретические основы машинного обучения и получат практические навыки применения методов поиска скрытых закономерностей в данных. Также студенты получат опыт самостоятельного разбора научной литературы, который пригодится им при написании курсовых, дипломных и научных работ. | В ходе курса студенты изучат теоретические основы машинного обучения и получат практические навыки применения методов поиска скрытых закономерностей в данных. Также студенты получат опыт самостоятельного разбора научной литературы, который пригодится им при написании курсовых, дипломных и научных работ. | ||
+ | |||
+ | == Результаты == | ||
+ | |||
+ | Напоминаем, что итоговая формула выставления оценки выглядит следующим образом: | ||
+ | |||
+ | О_результ = 0.6 * О_сем + 0.4 * О_доклад + 0.3 * О_итог.контроль | ||
+ | |||
+ | * O_сем складывается на 50% из участия в хакатоне и на 50% из доли посещенных семинаров. | ||
+ | * О_доклад равняется 10 (успешный доклад), 5 (серьезные замечания к докладчику), 0 (незасчитанный доклад или человек с докладом не выступал) | ||
+ | * О_итог.контроль определяется результатом собеседования, которое состоится '''22 июня (среда) в 13:00 в 622 аудитории'''. На собеседование выносятся все темы, начиная с семинара 4. | ||
+ | |||
+ | Текущее число баллов студентов можно посмотреть в таблице, которая будет выложена [https://docs.google.com/spreadsheets/d/1qhqqR_p48ayHrr-1vYxFVZzNPdV_dri4Wa-EDaIWf0s/edit?usp=sharing здесь]. Студенты, имеющие больше трех баллов, которых устраивает текущая оценка по НИСу, освобождаются от собеседования. | ||
== Темы семинаров == | == Темы семинаров == | ||
Строка 91: | Строка 107: | ||
См. список материалов к предыдущему семинару. | См. список материалов к предыдущему семинару. | ||
+ | |||
+ | '''Семинар 7. Деревья решений и ансамбли решающих правил''' | ||
+ | |||
+ | ''План доклада:'' | ||
+ | |||
+ | # Общие представления о деревьях решений для классификации и регрессии, примеры, геометрия решающего правила. | ||
+ | # Алгоритм обучения ID3. Проблемы алгоритма ID3: невозможность обработки вещественных признаков, а также пропущенных значений в данных. | ||
+ | # Решение этих проблем в алгоритме C4.5, принцип максимизации информационной выгоды (information gain). | ||
+ | # Проблема переобучения, регуляризация при обучении деревьев решений: ограничение максимальной глубины дерева, обрезание дерева (tree pruning). | ||
+ | # Ансамбли решающих правил. Примеры, геометрия решающего правила. Общая идея бустинга. | ||
+ | # Схема алгоритма AdaBoost. | ||
+ | # Верхняя оценка ошибки на обучающей выборке алгоритма AdaBoost. | ||
+ | |||
+ | ''Полезные ссылки'': [http://www.jair.org/media/279/live-279-1538-jair.pdf 1], | ||
+ | [https://basegroup.ru/community/articles/math-c45-part2 2], | ||
+ | [http://media.nips.cc/Conferences/2007/Tutorials/Slides/schapire-NIPS-07-tutorial.pdf 3], | ||
+ | [http://cmp.felk.cvut.cz/~sochmj1/adaboost_talk.pdf 4]. | ||
Строка 96: | Строка 129: | ||
− | '''Семинар | + | '''Семинар 9. Конференции и современные результаты в машинном обучении''' |
− | '''Семинар | + | '''Семинар 10. Методы кластеризации''' |
''План доклада:'' | ''План доклада:'' | ||
Строка 112: | Строка 145: | ||
[http://mlg.eng.cam.ac.uk/tutorials/06/cb.pdf 3], | [http://mlg.eng.cam.ac.uk/tutorials/06/cb.pdf 3], | ||
[http://statweb.stanford.edu/~tibs/stat315a/LECTURES/em.pdf 4]. | [http://statweb.stanford.edu/~tibs/stat315a/LECTURES/em.pdf 4]. | ||
+ | |||
+ | '''Семинар 11. Матричные разложения и их приложения в рекомендательных системах и анализе текста''' | ||
+ | |||
+ | ''План доклада:'' | ||
+ | |||
+ | # Введение. Матрицы как естественное представление данных в рекомендательных системах (оценки пользователей) и анализе текста (количество слов в каждом документе). | ||
+ | # Предположение о существовании базиса в скрытом пространстве низкой размерности, хорошо описывающем данные в виде общих характеристик/жанров/тематик/etc. Формула для выражения элемента матрицы через скалярное произведение векторов в скрытом пространстве. Аналогичная запись в матричной форме. | ||
+ | # Функции потерь. Обработка отсутствующих данных. | ||
+ | # Стохастические алгоритмы оптимизации в задаче матричного разложения. | ||
+ | # Улучшения предсказаний, вычитание средних значений. | ||
+ | # Предсказания для новых данных, интерпретация объектов разложения в скрытом пространстве, извлечение признаков. | ||
+ | # Тензорные разложения (разложение Таккера, СP-разложение) | ||
+ | |||
+ | ''Полезные ссылки'': [http://www.columbia.edu/~jwp2128/Teaching/W4721/papers/ieeecomputer.pdf 1], | ||
+ | [https://github.com/uclmr/acl2015tutorial/blob/master/tutorial.pdf 2], | ||
+ | [http://www.scholarpedia.org/article/Latent_semantic_analysis 3], | ||
+ | [http://videolectures.net/slsfs05_hofmann_lsvm/ 4]. | ||
+ | |||
+ | '''Семинар 12. Оптимизация: градиентный спуск и стохастический градиент''' | ||
+ | |||
+ | ''План доклада:'' | ||
+ | |||
+ | # Задачи машинного обучения и соответствующие им задачи оптимизации: линейная регрессия, логистическая регрессия, двойственная задача в SVM. | ||
+ | # Понятия функции многих переменных, выпуклости множества и функции, свойства выпуклых функций. Примеры выпуклых и невыпуклых функций. | ||
+ | # Определение производной (для одномерного случая) и градиента (для функции многих переменных), понятие непрерывной, дифференцируемой и гладкой функции (примеры и антипримеры). | ||
+ | # Свойства градиента, правила дифференцирования, дифференцирование сложной функции. | ||
+ | # Алгоритм градиентного спуска (GD) | ||
+ | #* Общая схема алгоритма | ||
+ | #* Выбор шага градиента | ||
+ | #* Условия и скорость сходимости (пояснить смысл данного понятия) | ||
+ | #* Пример пошаговой оптимизации для двумерной линейной регрессии | ||
+ | # Стохастическая оценка градиента, сходимость градиентного спуска со стохастической оценкой градиента (теорема Роббинса-Монро). | ||
+ | # Алгоритм стохастического градиентного спуска (SGD) | ||
+ | #* Общая схема алгоритма | ||
+ | #* Выбор шага градиента | ||
+ | #* Условия и скорость сходимости | ||
+ | #* Пример пошаговой оптимизации для двумерной линейной регрессии | ||
+ | |||
+ | ''Замечание:'' Нужно реализовать GD и SGD и применить их к задаче двумерной линейной регрессии. Следует привести графики зависимости значения минимизируемого функционала от номера итерации, а также показать как меняется положение искомой прямой в пространстве в ходе оптимизации. | ||
+ | |||
+ | ''Полезные ссылки'': [http://www.machinelearning.ru/wiki/images/7/74/MOMO12_minnd_basic.pdf 1], | ||
+ | [https://ipvs.informatik.uni-stuttgart.de/mlr/marc/notes/gradientDescent.pdf 2], | ||
+ | [http://research.microsoft.com/pubs/192769/tricks-2012.pdf 3], | ||
+ | [http://web.stanford.edu/class/ee364a/lectures/unconstrained.pdf 4], | ||
+ | [http://web.stanford.edu/class/ee364b/lectures/stoch_subgrad_slides.pdf 5]. | ||
+ | |||
+ | '''Семинар 13. Введение в нейросети''' | ||
+ | |||
+ | ''План доклада:'' | ||
+ | |||
+ | # Основные тезисы коннекционизма. Сложная модель на основе сети из простых связанных элементов. Биологическая модель нейрона. Модель искусственного нейрона. | ||
+ | # Функции активации нейронов (сигмоидальная, гиперболический тангенс, кусочно-линейная). Многослойный перцептрон. Выходной слой для различных задач: регрессия над произвольными и неотрицательными числами, классификация. | ||
+ | # Теорема о многослойном перцептроне как универсальном аппроксиматоре. Примеры. | ||
+ | # Обзор библиотеки theano или tensorflow (на выбор), основные возможности, типы данных, принципы построения эффективных программ. Типичные проблемы производительности и способы их решения. Методы отладки. | ||
+ | # '''Подробный''' пример '''собственной''' реализации двуслойного перцептрона для классификации изображений из коллекции MNIST. | ||
+ | # Основные управляющие параметры модели: число слоев, размеры слоев, функции активации, регуляризация, инициализация параметров, алгоритм оптимизации и его параметры. Влияние данных параметров на скорость / качество обучения ('''обязательно''' с конкретными цифрами / графиками). | ||
+ | |||
+ | ''Полезные ссылки'': [http://www.deeplearningbook.org/ 1], | ||
+ | [http://neuralnetworksanddeeplearning.com/ 2], | ||
+ | [https://www.tensorflow.org/versions/r0.7/tutorials/mnist/pros/index.html 3], | ||
+ | [http://deeplearning.net/tutorial/mlp.html 4], | ||
+ | [https://en.wikipedia.org/wiki/Connectionism 5]. | ||
+ | |||
+ | '''Семинар 14. Сокращение размерности, автокодировщики''' | ||
+ | |||
+ | ''План доклада:'' | ||
+ | |||
+ | # Важность признакового описания в задачах машинного обучения. Примеры удачных и неудачных признаковых описаний. | ||
+ | # Недостатки использования “сырого” представления данных (пример: пиксели изображения), избыточность и низкая информативность | ||
+ | # Задача понижения размерности, связь с извлечением признаков. Метод главных компонент. | ||
+ | #* Ликбез: ковариационная матрица и ее свойства, SVD-разложение положительно определенной матрицы | ||
+ | #* Различные постановки задачи и их эквивалентность: поиск ортогонального базиса с наибольшей дисперсией, декорреляция признаков, оптимальное (с точки зрения квадратичной ошибки) линейное уменьшение размерности. '''Обязательно''' рассмотреть хотя бы две из формулировок, можно рассмотреть больше. | ||
+ | #* Итеративный алгоритм поиска главных компонент. | ||
+ | #* Матрица прямого и обратного преобразования. | ||
+ | # Пример приложения МГК - система eigenfaces. | ||
+ | # Автокодировщик как нейросетевая архитектура понижения размерности и извлечения признаков. Нелинейные и иерархические преобразования данных. | ||
+ | |||
+ | ''Полезные ссылки'': [http://www.face-rec.org/algorithms/PCA/jcn.pdf 1], | ||
+ | [https://geektimes.ru/post/68870/ 2], | ||
+ | [http://www.machinelearning.ru/wiki/images/a/a4/MOTP11_5.pdf 3], | ||
+ | [http://www.machinelearning.ru/wiki/index.php?title=%D0%9C%D0%B5%D1%82%D0%BE%D0%B4_%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D1%8B%D1%85_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82 4], | ||
+ | [https://www.cs.princeton.edu/picasso/mats/PCA-Tutorial-Intuition_jp.pdf 5], [http://ufldl.stanford.edu/tutorial/unsupervised/Autoencoders/ 6], [http://cs.stanford.edu/~quocle/tutorial2.pdf 7], [http://www.deeplearningbook.org/contents/autoencoders.html 8]. | ||
+ | |||
+ | '''Семинар 15. Сверточные нейронные сети в компьютерном зрении''' | ||
+ | |||
+ | ''План доклада:'' | ||
+ | |||
+ | # Полносвязные нейронные сети и их приложения к задачам компьютерного зрения. Преимущества (например, устойчивость к перестановке пикселей) и недостатки (например, большое число настраиваемых параметров). | ||
+ | # Сверточные сети. Операция свертки с примерами. Мотивация: меньшее число настраиваемых параметров, инвариантнось к небольшим смещениям и поворотам, меньшая зависимость от размера входа. | ||
+ | # Обзор типичной архитектуры сверточной сети (LeNet) для классификации изображений. Назначение и устройство различных типов слоев (сверточные, пулинг, полносвязные). Обработка RGB-входа. | ||
+ | # Интерпретация фильтров сверточных слоев. Использование активаций обученных сетей для извлечения признаков и других задач (перенос стиля, моментальное обучение и пр.) | ||
+ | # Примеры использования сверточных сетей для различных задач. Стоит поискать интересные примеры в интеренете + для многих из них можно скачать готовые модели и позапускать их на семинаре. | ||
+ | |||
+ | ''Полезные ссылки'': [http://neuralnetworksanddeeplearning.com/chap6.html 1], | ||
+ | [http://www.deeplearningbook.org/contents/convnets.html 2], | ||
+ | [http://ufldl.stanford.edu/tutorial/supervised/ConvolutionalNeuralNetwork/ 3], | ||
+ | [https://events.yandex.ru/lib/talks/2793/ 4], | ||
+ | [http://yann.lecun.com/exdb/lenet/ 5], [http://image-net.org/tutorials/cvpr2015/ 6], [http://gitxiv.com/posts/jG46ukGod8R7Rdtud/a-neural-algorithm-of-artistic-style 7], [http://googleresearch.blogspot.ru/2015/06/inceptionism-going-deeper-into-neural.html 8], [http://www.matthewzeiler.com/pubs/arxive2013/arxive2013.pdf 9]. | ||
+ | |||
+ | '''Семинар 16. Спектральный анализ графов''' | ||
+ | |||
+ | ''План доклада:'' | ||
+ | |||
+ | # Ликбез: собственные числа и собственные векторы матрицы. | ||
+ | # Ненаправленный простой граф. Матрица смежности. Расчет существования путей длины k с помощью матрицы смежности. | ||
+ | # Случайные блуждания на графе. Вероятность перехода в вершину за k шагов. Стационарное распределение случайного блуждания, достаточные условия его существования, алгоритмы вычисления. | ||
+ | # Лапласиан графа. Вложения вершин графа с помощью лапласиана, связь с собственными векторами. Приложения: извлечение признаков, спектральная кластеризация. | ||
+ | # Расчет близостей между вершинами в графе, среднее время пути (average commute time distance) и связанные меры близости/расстояния. Эффективный алгоритм вычисления. Приложения. | ||
+ | # Бонус: спектральные свойства графов, число компонент связности, диаметр и т.д. | ||
+ | |||
+ | ''Полезные ссылки'': [https://www.researchgate.net/publication/3297672_Random-Walk_Computation_of_Similarities_between_Nodes_of_a_Graph_with_Application_to_Collaborative_Recommendation 1], | ||
+ | [https://www.win.tue.nl/~aeb/2WF02/spectra.pdf 2], | ||
+ | [http://www.cs.cornell.edu/courses/cs685/2007fa/spectral.pdf 3], | ||
+ | [http://www.cs.yale.edu/homes/spielman/sgta/SpectTut.pdf 4], | ||
+ | [http://www.math.ucsd.edu/~fan/cbms.pdf 5], | ||
+ | [https://alexanderdyakonov.files.wordpress.com/2015/03/sgt2015_slides_03.pdf 6], | ||
+ | [https://csustan.csustan.edu/~tom/Clustering/GraphLaplacian-tutorial.pdf 7], | ||
+ | [http://ranger.uta.edu/~chqding/Spectral/ 8]. | ||
+ | |||
+ | '''Семинар 17. Обучение с подкреплением''' | ||
+ | |||
+ | ''План доклада:'' | ||
+ | |||
+ | # Постановка задачи обучения с подкреплением. Понятия наблюдаемых данных, состояния, действий, награды и стратегии. Марковский процесс приятия решений и его не полностью наблюдаемый аналог. Примеры задач обучения с подкреплением. | ||
+ | # Понятие ожидаемого дохода (англ. return), средний и дисконтированный доход. Функции ценности состояния (англ. value function) и ценности действия-состояния (англ. action-state function). Уравнение Беллмана. | ||
+ | # Принцип обучения функции ценности (Q-learning) для марковского процесса принятия решений, аппроксимация функции ценности. | ||
+ | # Градиентное обучение стратегий, алгоритм REINFORCE. | ||
+ | # Приложения: алгоритм Deep Q-network для Atari игр. | ||
+ | |||
+ | ''Полезные ссылки'': [https://webdocs.cs.ualberta.ca/~sutton/book/the-book.html 1], | ||
+ | [https://www.cs.toronto.edu/~vmnih/docs/dqn.pdf 2], | ||
+ | [http://www.iclr.cc/lib/exe/fetch.php?media=iclr2015:silver-iclr2015.pdf 3], | ||
+ | [http://www.readcube.com/articles/10.1038/nature14236 4], | ||
+ | [http://hunch.net/~jl/projects/RL/RLTheoryTutorial.pdf 5], | ||
+ | [http://web.mst.edu/~gosavia/tutorial.pdf 6], | ||
+ | [http://ml.informatik.uni-freiburg.de/_media/documents/teaching/ws1011/rl/policy_search.pdf 7]. |
Текущая версия на 22:26, 16 июня 2016
Таблица с расписание семинаров здесь
Таблица со списком следующих тем здесь
Таблица с итогами здесь
Контакты:
- Ветров Дмитрий Петрович DVetrov@hse.ru
- Лобачева Екатерина Максимовна elobacheva@hse.ru
- Бартунов Сергей Олегович sbos.net@gmail.com
Просьба к теме письма добавлять тег [НИС ФКН].
Краткое описание
В ходе курса студенты изучат теоретические основы машинного обучения и получат практические навыки применения методов поиска скрытых закономерностей в данных. Также студенты получат опыт самостоятельного разбора научной литературы, который пригодится им при написании курсовых, дипломных и научных работ.
Результаты
Напоминаем, что итоговая формула выставления оценки выглядит следующим образом:
О_результ = 0.6 * О_сем + 0.4 * О_доклад + 0.3 * О_итог.контроль
- O_сем складывается на 50% из участия в хакатоне и на 50% из доли посещенных семинаров.
- О_доклад равняется 10 (успешный доклад), 5 (серьезные замечания к докладчику), 0 (незасчитанный доклад или человек с докладом не выступал)
- О_итог.контроль определяется результатом собеседования, которое состоится 22 июня (среда) в 13:00 в 622 аудитории. На собеседование выносятся все темы, начиная с семинара 4.
Текущее число баллов студентов можно посмотреть в таблице, которая будет выложена здесь. Студенты, имеющие больше трех баллов, которых устраивает текущая оценка по НИСу, освобождаются от собеседования.
Темы семинаров
Семинар 1. Машинное обучение и история его развития.
Семинар 2. Научный метод.
Основные моменты: Что такое научный метод? Его основные особенности. Эмпирическое и теоретический научный метод. Принципы верификации и фальсификации. Бритва Оккама. Научный и ненаучный метод. Псевдонаука.
Полезные ссылки: 1, 2, 3 + глава 22 из Гарри Поттера и методов рацмышления
Семинар 3.1. Как сделать качественную презентацию.
Полезные ссылки: 1, 2, 3, 4, 5, 6, 7
Семинар 3.2. Как не нужно работать с данными.
Полезные ссылки: 1, 2, 3, 4, 5, 6, 7
Семинар 4. Линейная регрессия.
В докладе следует осветить следующие основные моменты:
- Общую постановка задачи обучения с учителем, а также регрессии как ее частный случай
- Привести несколько примеров из жизни, где подобная задача возникает
- Рассмотреть линейную модель регресии, а также привести пример любой нелинейной модели
- Записать задачу оптимизации, которая возникает при использовании квадратичной функции потерь.
- Вывести разложение квадратичной ошибки в виде суммы bias и variance, обсудить значение этого разложения
- Показать хотя бы два метода для решения данной задачи - метод градиентного спуска и псевдо-решение СЛАУ, обсудить, какие преимущества и недостатки есть у каждого метода.
- Рассмотреть пример переобучения и использования L2-регуляризации как метода борьбы с ним. Связь L2-регуляризации с нормальным псевдо-решением.
- Обсудить другие функции потерь, например, L1.
Полезные ссылки: 1, 2 (главы 2 и 3), 3, 4, 5, 6, 7, 8
Семинар 5. Метод опорных векторов. Линейно-разделимый случай
План доклада:
- Ликбез. Теорема Куна-Такера и как ее использовать для задач оптимизации с ограничениями.
- Общая постановка задачи обучения с учителем, а также классификации, как ее частный случай.
- Привести несколько примеров из жизни, где подобная задача возникает
- Рассмотреть линейный классификатор, как выглядит его решающее правило, его геометрический смысл (разделяющая гиперплоскость).
- Неоднозначность выбора разделяющей гиперплоскости при использовании бинарной функции потерь.
- Принцип максимального зазора (или иначе заступа, англ. max margin), как некоторый разумный способ выбора разделяющей гиперплоскости. Показать его устойчивость при добавлении небольшого шума к обучающей выборке.
- Вывод величины зазора через вектор нормали гиперплоскости
- Задача оптимизации, возникающая при обучении метода опорных векторов в случае линейно-разделимой выборки.
- Решение выпуклой задачи условной оптимизации с использованием метода множителей Лагранжа.
- Двойственная функция, возникающая при обучении SVM.
- Решение данной задачи оптимизации, его зависимость от опорных векторов. Смысл множителей лагранжа, условий дополняющей нежесткости.
Полезные ссылки: 1, 2, 3, 4, 5, 6, 7, 8.
Семинар 6. Метод опорных векторов. Линейно-неразделимый случай, ядровой переход
План доклада:
- Краткое напоминание основных результатов предыдущего семинара:
- постановка задачи бинарной классификации
- вид решающего правила и его геометрический смысл
- принцип максимизации зазора
- прямая и двойственная задачи оптимизации
- Ослабление предположения о линейной разделимости выборки
- изменение задачи оптимизаци
- решение двойственной задачи оптимизации
- вывод функции потерь SVM (hinge loss)
- Ядровой переход
- формальная замена скалярного произведения на функцию ядра
- свойства скалярного произведения
- примеры ядер с объяснением их свойств и параметров
- способы определения новых ядер
См. список материалов к предыдущему семинару.
Семинар 7. Деревья решений и ансамбли решающих правил
План доклада:
- Общие представления о деревьях решений для классификации и регрессии, примеры, геометрия решающего правила.
- Алгоритм обучения ID3. Проблемы алгоритма ID3: невозможность обработки вещественных признаков, а также пропущенных значений в данных.
- Решение этих проблем в алгоритме C4.5, принцип максимизации информационной выгоды (information gain).
- Проблема переобучения, регуляризация при обучении деревьев решений: ограничение максимальной глубины дерева, обрезание дерева (tree pruning).
- Ансамбли решающих правил. Примеры, геометрия решающего правила. Общая идея бустинга.
- Схема алгоритма AdaBoost.
- Верхняя оценка ошибки на обучающей выборке алгоритма AdaBoost.
Практическое задание. Классификация изображений. Описание.
Семинар 9. Конференции и современные результаты в машинном обучении
Семинар 10. Методы кластеризации
План доклада:
- Задача кластеризации. Отличия от задачи классификации. Неоднозначность/возможность разных постановок задачи.
- Функция близости/расстояния, ее свойства, подробно рассмотреть неравенство треугольника и проблемы, к которым оно может приводить. В качестве примера можно рассмотреть тройку объектов: человек, лошадь и кентавр. Привести примеры функций близости/расстояния кроме евклидового для различных типов объектов.
- Иерархические алгоритмы кластеризации. Построение иерархии снизу вверх и сверху вниз, преимущества и недостатки обоих подходов.
- Алгоритм k-средних. Оптимизируемая функция потерь, алгоритмическая сложность глобальной минимизации данной функции. Алгоритм k-средних как метод локальной покоординатной оптимизации, доказательство сходимости, зависимость от инициализации. Подбор числа кластеров.
- EM-алгоритм для смеси гауссиан. Многомерное нормальное распределение, его параметры и их смысл. Описания кластера с помощью нормального распределения, связь правдоподобия нормального распределения и евклидового расстояния. Оптимизируемая функция потерь/качества (логарифм неполного правдоподобия или обоснованность модели). Сложность оптимизации подобной функции в явном виде. EM-алгоритм как строгое обобщения алгоритма k-means.
Семинар 11. Матричные разложения и их приложения в рекомендательных системах и анализе текста
План доклада:
- Введение. Матрицы как естественное представление данных в рекомендательных системах (оценки пользователей) и анализе текста (количество слов в каждом документе).
- Предположение о существовании базиса в скрытом пространстве низкой размерности, хорошо описывающем данные в виде общих характеристик/жанров/тематик/etc. Формула для выражения элемента матрицы через скалярное произведение векторов в скрытом пространстве. Аналогичная запись в матричной форме.
- Функции потерь. Обработка отсутствующих данных.
- Стохастические алгоритмы оптимизации в задаче матричного разложения.
- Улучшения предсказаний, вычитание средних значений.
- Предсказания для новых данных, интерпретация объектов разложения в скрытом пространстве, извлечение признаков.
- Тензорные разложения (разложение Таккера, СP-разложение)
Семинар 12. Оптимизация: градиентный спуск и стохастический градиент
План доклада:
- Задачи машинного обучения и соответствующие им задачи оптимизации: линейная регрессия, логистическая регрессия, двойственная задача в SVM.
- Понятия функции многих переменных, выпуклости множества и функции, свойства выпуклых функций. Примеры выпуклых и невыпуклых функций.
- Определение производной (для одномерного случая) и градиента (для функции многих переменных), понятие непрерывной, дифференцируемой и гладкой функции (примеры и антипримеры).
- Свойства градиента, правила дифференцирования, дифференцирование сложной функции.
- Алгоритм градиентного спуска (GD)
- Общая схема алгоритма
- Выбор шага градиента
- Условия и скорость сходимости (пояснить смысл данного понятия)
- Пример пошаговой оптимизации для двумерной линейной регрессии
- Стохастическая оценка градиента, сходимость градиентного спуска со стохастической оценкой градиента (теорема Роббинса-Монро).
- Алгоритм стохастического градиентного спуска (SGD)
- Общая схема алгоритма
- Выбор шага градиента
- Условия и скорость сходимости
- Пример пошаговой оптимизации для двумерной линейной регрессии
Замечание: Нужно реализовать GD и SGD и применить их к задаче двумерной линейной регрессии. Следует привести графики зависимости значения минимизируемого функционала от номера итерации, а также показать как меняется положение искомой прямой в пространстве в ходе оптимизации.
Полезные ссылки: 1, 2, 3, 4, 5.
Семинар 13. Введение в нейросети
План доклада:
- Основные тезисы коннекционизма. Сложная модель на основе сети из простых связанных элементов. Биологическая модель нейрона. Модель искусственного нейрона.
- Функции активации нейронов (сигмоидальная, гиперболический тангенс, кусочно-линейная). Многослойный перцептрон. Выходной слой для различных задач: регрессия над произвольными и неотрицательными числами, классификация.
- Теорема о многослойном перцептроне как универсальном аппроксиматоре. Примеры.
- Обзор библиотеки theano или tensorflow (на выбор), основные возможности, типы данных, принципы построения эффективных программ. Типичные проблемы производительности и способы их решения. Методы отладки.
- Подробный пример собственной реализации двуслойного перцептрона для классификации изображений из коллекции MNIST.
- Основные управляющие параметры модели: число слоев, размеры слоев, функции активации, регуляризация, инициализация параметров, алгоритм оптимизации и его параметры. Влияние данных параметров на скорость / качество обучения (обязательно с конкретными цифрами / графиками).
Полезные ссылки: 1, 2, 3, 4, 5.
Семинар 14. Сокращение размерности, автокодировщики
План доклада:
- Важность признакового описания в задачах машинного обучения. Примеры удачных и неудачных признаковых описаний.
- Недостатки использования “сырого” представления данных (пример: пиксели изображения), избыточность и низкая информативность
- Задача понижения размерности, связь с извлечением признаков. Метод главных компонент.
- Ликбез: ковариационная матрица и ее свойства, SVD-разложение положительно определенной матрицы
- Различные постановки задачи и их эквивалентность: поиск ортогонального базиса с наибольшей дисперсией, декорреляция признаков, оптимальное (с точки зрения квадратичной ошибки) линейное уменьшение размерности. Обязательно рассмотреть хотя бы две из формулировок, можно рассмотреть больше.
- Итеративный алгоритм поиска главных компонент.
- Матрица прямого и обратного преобразования.
- Пример приложения МГК - система eigenfaces.
- Автокодировщик как нейросетевая архитектура понижения размерности и извлечения признаков. Нелинейные и иерархические преобразования данных.
Полезные ссылки: 1, 2, 3, 4, 5, 6, 7, 8.
Семинар 15. Сверточные нейронные сети в компьютерном зрении
План доклада:
- Полносвязные нейронные сети и их приложения к задачам компьютерного зрения. Преимущества (например, устойчивость к перестановке пикселей) и недостатки (например, большое число настраиваемых параметров).
- Сверточные сети. Операция свертки с примерами. Мотивация: меньшее число настраиваемых параметров, инвариантнось к небольшим смещениям и поворотам, меньшая зависимость от размера входа.
- Обзор типичной архитектуры сверточной сети (LeNet) для классификации изображений. Назначение и устройство различных типов слоев (сверточные, пулинг, полносвязные). Обработка RGB-входа.
- Интерпретация фильтров сверточных слоев. Использование активаций обученных сетей для извлечения признаков и других задач (перенос стиля, моментальное обучение и пр.)
- Примеры использования сверточных сетей для различных задач. Стоит поискать интересные примеры в интеренете + для многих из них можно скачать готовые модели и позапускать их на семинаре.
Полезные ссылки: 1, 2, 3, 4, 5, 6, 7, 8, 9.
Семинар 16. Спектральный анализ графов
План доклада:
- Ликбез: собственные числа и собственные векторы матрицы.
- Ненаправленный простой граф. Матрица смежности. Расчет существования путей длины k с помощью матрицы смежности.
- Случайные блуждания на графе. Вероятность перехода в вершину за k шагов. Стационарное распределение случайного блуждания, достаточные условия его существования, алгоритмы вычисления.
- Лапласиан графа. Вложения вершин графа с помощью лапласиана, связь с собственными векторами. Приложения: извлечение признаков, спектральная кластеризация.
- Расчет близостей между вершинами в графе, среднее время пути (average commute time distance) и связанные меры близости/расстояния. Эффективный алгоритм вычисления. Приложения.
- Бонус: спектральные свойства графов, число компонент связности, диаметр и т.д.
Полезные ссылки: 1, 2, 3, 4, 5, 6, 7, 8.
Семинар 17. Обучение с подкреплением
План доклада:
- Постановка задачи обучения с подкреплением. Понятия наблюдаемых данных, состояния, действий, награды и стратегии. Марковский процесс приятия решений и его не полностью наблюдаемый аналог. Примеры задач обучения с подкреплением.
- Понятие ожидаемого дохода (англ. return), средний и дисконтированный доход. Функции ценности состояния (англ. value function) и ценности действия-состояния (англ. action-state function). Уравнение Беллмана.
- Принцип обучения функции ценности (Q-learning) для марковского процесса принятия решений, аппроксимация функции ценности.
- Градиентное обучение стратегий, алгоритм REINFORCE.
- Приложения: алгоритм Deep Q-network для Atari игр.