Методы машинного обучения (2018 год, весна)

Материалы лекционных занятий.

Данный курс является логическим продолжением курса "Введение в методы машинного обучения" (с электронным конспектом, подготовленным обучающимися, можно ознакомиться здесь), читавшегося бакалаврам весной 2017 года. Несмотря на то, что знание материалов предыдущего курса не является необходимым, так как краткое введение в предмет будет дано на первых лекционных и практических занятиях, студентам рекомендуется ознакомиться с основными рассмотренными ранее концепциями (хотя бы перед экзаменом).

Проект на Github с сопровождающим кодом можно найти здесь. Вопросы к экзамену можно скачать здесь.

Материалы практических занятий.

Обратите внимание на формат файлов с предсказаниями, которые Вы должны отправить мне: текстовый файл, в каждой строке которого находится ОДНО предсказание для соответствующего объекта из файла с тестовой выборкой. НИКАКОЙ ДОПОЛНИТЕЛЬНОЙ ИНФОРМАЦИИ В ФАЙЛ ПИСАТЬ НЕ НАДО!!!

Предсказание - это число, метка класса, а НЕ НАЗВАНИЕ КЛАССА.

Л.Р. №1 (20 баллов, срок - 11.04.2018)

Тема: Исследование методов обучения многослойной нейронной сети прямого распространения.

В работе необходимо реализовать классификатор на основе многослойной нейронной сети прямого распространения и исследовать характеристики процедуры обучения:

  • Мини-пакетный градиентный спуск (mini-batch gradient descent).
  • Один из следующих алгоритмов (номер алгоритма рассчитывается как порядковый номер в группе по модулю 6, плюс 1)
    1. SGD + momentum
    2. Nesterov accelerated gradient
    3. RmsProp
    4. Adadelta
    5. Adam
    6. Adagrad

Выборка: CIFAR-10.

Для сдачи лабораторной работы необходимо обойти по точности предсказаний простейшее решение, представленное в сопровождающем коде.

Язык программирования: Python. Реализованная сеть должна содержать как минимум один скрытый слой. При реализации нельзя пользоваться готовыми библиотеками (Tensorflow, Pytorch, Caffe и т.д.).

Л.Р. №2 (20 баллов, срок - апрель 2018) Классификация разнородных данных с пропусками

В данной работе необходимо обучить бинарный классификатор. Целевая переменная находится в последнем столбце.

Вспомогательная информация.

Рекомендуется воспользоваться библиотекой sklearn, можно пользоваться любыми алгоритмами. Для работы с выборкой рекомендуется воспользоваться библиотекой pandas. Выборка содержит пропуски, для заполнения можно применить стандартный класс Imputer, подбор параметров поможет сделать GridSearchCV. Пример работы с библиотекой можно посмотреть в видео лекциях.

Порог сдачи работы: 65% точноcть классификации на тестовой выборке. Для расчета точности на тестовой выборке необходимо отправить мне по электронной почте текстовый файл (большая просьба высылать файл в архиве), в каждой строке которого будет предсказанная метка (0 или 1) для соответствующего объекта из тестового множества.

Л.Р. №3. (20 баллов, срок - май 2018) Обработка текстовых данных.

В данном задании необходимо научиться определять тип текстового запроса пользователя.

Формат выборки.

Текстовые запросы пользователей сгруппированы по файлам - каждый файл с префиксом train содержит примеры запросы из одного класса. Цифра перед префиксом - метка класса. Файл test.txt содержит тестовые запросы. Для сдачи работы необходимо отправить файл с предсказаниями мне по почте, формат файла совпадает с форматом для второй работы.

Результаты

Результаты выполнения лабораторных работ можно посмотреть здесь.

Курсовые работы

Список тем.

Вспомогательные материалы для выполнения работ.