НИС Машинное обучение и приложения — различия между версиями
Tipt0p (обсуждение | вклад) |
Tipt0p (обсуждение | вклад) |
||
Строка 212: | Строка 212: | ||
[http://www.machinelearning.ru/wiki/images/a/a4/MOTP11_5.pdf 3], | [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], | [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], [ | + | [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]. |
− | 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. Сверточные нейронные сети в компьютерном зрении''' | '''Семинар 15. Сверточные нейронные сети в компьютерном зрении''' |
Версия 14:31, 16 марта 2016
Таблица с расписание семинаров здесь
Таблица со списком следующих тем здесь
Контакты:
- Ветров Дмитрий Петрович DVetrov@hse.ru
- Лобачева Екатерина Максимовна elobacheva@hse.ru
- Бартунов Сергей Олегович sbos.net@gmail.com
Просьба к теме письма добавлять тег [НИС ФКН].
Краткое описание
В ходе курса студенты изучат теоретические основы машинного обучения и получат практические навыки применения методов поиска скрытых закономерностей в данных. Также студенты получат опыт самостоятельного разбора научной литературы, который пригодится им при написании курсовых, дипломных и научных работ.
Темы семинаров
Семинар 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-входа.
- Интерпретация фильтров сверточных слоев. Использование активаций обученных сетей для извлечения признаков и других задач (перенос стиля, моментальное обучение и пр.)
- Примеры использования сверточных сетей для различных задач. Стоит поискать интересные примеры в интеренете + для многих из них можно скачать готовые модели и позапускать их на семинаре.