Практикум на ЭВМ (317)/2017-2018

Материал из MachineLearning.

Перейти к: навигация, поиск
  • Обязательный курс для студентов каф. ММП 3 курса, 5-6 семестр
  • Зачёт с оценкой
  • Преподаватели: Д.А. Кропотов, Артём Попов и другие
  • Занятия проходят в ауд. 524 по вторникам, начало в 16:20


Анонимные отзывы по курсу можно оставлять здесь: ссылка на гугл-форму

Чат курса в telegram: инвайт

Репозиторий со всеми материалами: ссылка на репозиторий

Правила сдачи практикума в осеннем семестре 2017/2018

1. В рамках семестра предполагается три больших практических задания и четыре домашних задания. Все задания сдаются в систему anytask, инвайт к курсу можно получить у преподавателя.

2. За каждое большое практическое задание можно получить до 50-ти баллов. Задание включает в себя написание программного кода, выполнение экспериментов и написание отчёта о проделанной работе. Срок выполнения каждого задания — 2 недели. За каждый день просрочки назначается штраф 1 балл. Задание, сданное через две недели после срока сдачи, оценивается в 0 баллов.

3. За каждое домашнее задание можно получить до 20-ти баллов. Задание включает в себя написание программного кода. Срок выполнения каждого задания — 1 неделя. Задания, сданные после срока сдачи, оцениваются в 0 баллов.

4. Также в рамках семестра каждый студент делает небольшое выступление по теме курса. За выступление можно получить до 10-ти баллов.

5. Критерии итоговой оценки:

  • отлично — 190 баллов, все практические и домашние задания зачтены
  • хорошо — 145 баллов, все практические задания зачтены
  • удовлетворительно — 95 баллов, все практические задания зачтены

6. Критерий <<зачтённости>> задания объявляется вместе с заданием.

Материалы занятий (осень)

Дата Номер Тема Материалы Д/З
5 сентября Занятие 1

Организационные вопросы. Введение в Python.

jupyter-notebook

слайды

Ознакомиться c PEP8

домашнее задание 1

12 сентября Занятие 2

Структуры данных (продолжение). Библиотека Numpy.

jupyter-notebook(python)

jupyter-notebook(numpy)

домашнее задание 2

19 сентября Занятие 3

Функции, модули, классы. ООП в Python.

слайды

домашнее задание 3

26 сентября Занятие 4

Разбор первого домашнего задания.

Тестирование. Основы визуализации.

слайды(тестирование)

jupyter-notebook(matplotlib)

3 октября Занятие 5

Обсуждение первого практического задания.

Основы обработки изображений.

Разбор второго домашнего задания.

слайды(изображения)

практическое задание 1

страничка соревнования

10 октября Занятие 6

Подготовка текстовых отчётов. Система TeX.

слайды
Книга по системе LaTeX
LaTeX в примерах

17 октября Занятие 7

Итераторы. Генераторы.

слайды

24 октября Занятие 8

Декораторы.

слайды

ноутбук с примерами

лекция CSC

статья самоучителя

домашнее задание 4

страница соревнования

31 октября Занятие 9

Разбор отчётов по практическому заданию.

Обработка текстов.

слайды (отчёты)

слайды (тексты)

7 ноября Занятие 10

Подготовка коротких выступлений.

Пакет beamer для презентаций. Продвинутый TeX.

слайды (выступление)

слайды (тех)

исходники слайдов

Готовиться к выступлению

практическое задание 2

14 ноября Занятие 11

Выступления студентов.

Готовиться к выступлению

21 ноября Занятие 12

Выступления студентов.

28 ноября Занятие 13

Обсуждение третьего практического задания.

Задачи условной оптимизации.

Метод субградиентного спуска. Метод PEGASOS.

Выступления студентов на семинаре

Выступление должно сопровождаться презентацией, подготовленной в LaTeX с помощью пакета beamer. При согласовании с преподавателем разрешается делать презентацию в Jupyter notebook или просто использовать Jupyter notebook вместо презентации. Приблизительный регламент выступления — 10 минут. После выступления необходимо залить свою презентацию в репозиторий курса.

Каждый студент должен выбрать одну тему из списка ниже либо предложить свою тему.

№ п/п Тема ФИО студента Материалы
1 Система контроля версий Git Солоткий Михаил слайды
2 Основные отличия Python2 и Python3 Шестакова Анна слайды
3 Средства консервации объектов в Python (json, pickle и другие) Всеволод Полетаев слайды
4 Библиотека multiprocessing для распараллеливания и ускорения вычислений в Python Цыпин Артем слайды
5 Библиотека для автоматического дифференцирования и вычислений на GPU TensorFlow Руднев Виктор
6 Библиотека для автоматического дифференцирования и вычислений на GPU PyTorch Яворская Мария
7 Магические команды Jupyter Notebook (отладка, профилирование) Филимонов Владислав слайды
8 Полезные расширения Jupyter Notebook (Jupyter notebook extensions) Шамшиев Мамат слайды
9 Разметка markdown и создание текстовых отчётов в формате pdf с помощью Jupyter Notebook Шаталов Николай слайды
10 Создание презентаций с помощью Jupyter Notebook Пономарева Любовь слайды
11 Проксимальный градиентный метод для обучения моделей с L1-регуляризацией Фоминская Галина слайды
12 Разложение Холецкого и его применения Драгунов Никита слайды
13 Стандартные матричные разложения: LDL, LU и QR. Примеры использования. Скачков Николай слайды
14 Метод NCA для обучения метрики Сомов Иван слайды
15 Одноклассовый SVM и его применения
16 Применение SVM в задачах semi-supervised learning (один вариант на выбор студента)
17 Применение SVM для решения задачи ранжирования
18 Метод уменьшения размерности t-SNE
19 Система вёрстки XeTeX
20 Библиотека для визуализации в Python (выбрать одну, не matplotlib)
21 Интерпретатор языка Python PyPy

Требования к отчёту по большим практическим заданиям

Отчёт должен быть самодостаточным документом в формате PDF, подготовленным в системе LATEX.

Отчёт должен давать проверяющему ответы на следующие вопросы:

  • К какому курсу относится задание?
  • Какое задание выполнено?
  • Кем выполнено задание?
  • В чём заключалось задание?
  • Что было сделано? Что не было сделано?
  • Даны ли правильные ответы на все теоретические вопросы задания?
  • Проведены ли все необходимые эксперименты? Получены ли осмысленные ВЫВОДЫ?
  • Выполнена ли творческая часть задания?
  • Пользовался ли студент чьей-либо помощью? Если да, то в каком объёме?
  • Какой литературой пользовался студент?

Требования к программному коду

  • Код должен в целом соответствовать PEP8 (eng или rus )
  • В частности, код должен проходить автоматическую проверку стиля ссылка. Скрипт запускается из командной строки так: python3 mmp_pep8.py <ваш скрипт>. Код, вызывающий предупреждения, автоматически оценивается в 0 баллов.
  • Код должен быть понятным и единообразным. Переменные, функции и другие элементы кода должны иметь осмысленные, значимые имена, отвечающие их назначению
  • Код, который не соответствует прототипам, выданным в задании, автоматически оценивается в 0 баллов
  • Код, который не удовлетворяет требованиям задания (например, запрету на использование конкретных библиотек), автоматически оценивается в 0 баллов
  • Код, содержащий плагиат, автоматически оценивается в 0 баллов

Страницы прошлых лет

2016-2017

2015-2016

2014-2015

2013-2014

2012-2013

2011-2012

Личные инструменты