Программирование (python) для лингвистов
Материал из Wiki - Факультет компьютерных наук
Версия от 10:20, 3 октября 2018; Denaas (обсуждение | вклад)
Содержание
О курсе
Курс читается для студентов лингвистов 4-го курса факультета гуманитарных наук.
Проводится с 2017 года.
Преподаватель: Денис Литвинов (Почта, Telegram )
Ассистенты Елизавета Корнеева (Почта, Telegram ), Егор Соловьев (Почта, Telegram )
Правила выставления оценок
итоговая оценка = 0.7*накопленная + 0.3*экзамен
накопленная оценка — средняя по всем домашним заданиям.
- При вычислении накопленной оценки округление не производится
- Домашнее задание оценивается по 10-балльной шкале.
- В случае пропуска дедлайна за каждый пропущенный день снимается 0.5 балла в течении первых 6 дней. Затем, за каждый пропущенный день снимаются по 1 баллу.
- Дедлайны для каждой домашней работы указываются отдельно.
- В оценке домашнего задания оцениваются: работоспособность программы, использование изложенных средств и методов.
- При оценивании программы в первую очередь обращается внимание на то, насколько её работа соответствует требованиям, описанным в задании. Программа, не запускающаяся из-за синтаксических ошибок, не может получить оценку выше 4 баллов. Баллы могут сниматься, в частности, за неточное выполнение задания и отсутствие разбора случаев, из-за которых при исполнении программы может произойти ошибка. Так же оценивается оптимальность решенения (в смысле времени работы и потребляемой памяти). Во вторую очередь оценивается стиль кода.
- При обнаружении плагиата в домашнем или контрольном задании это задание получает оценку 0 баллов.
- Экзамен проводится в письменной форме.
Рекомендуемая литература
- Кормен. Алгоритмы: построение и анализ
- Bishop. Pattern Recognition and Machine Learning
- Christopher Manning. Foundations of Statistical Natural Language Processing
Программные средства
- редактор кода sublime text / notepad++ / PyCharm
- jupyter notebook
- numpy, scipy, pandas, matplotlib, seaborn, scikit-learn, gensim, lightgbm, pytorch
Правила сдачи домашних заданий
Домашние задания сдаются по умолчанию в репозиториях, указанных в форме (пожалуйста, пройдите этот опрос)
- Домашнее задание выполняется в jupyter notebook, если явно не указано иное.
- Не стоит выкладывать в репозиторий запакованные файлы.
- Соблюдайте именование каталогов, классов и сигнатур функций, если они явно указаны. В противном случае автотесты их не подцепят и ваше решение не будет засчитано.
- Опоздание считается по последнему сданному заданию в домашней работе
Оценки за домашние задания
Экзамен
Экзамен проходит в письменной форме и сотоит из 3 частей
- Решение задачи машинного обучения на ноутбуке
- Необходимые библиотеки numpy, scipy, pandas, scikit-learn, nltk. Проверьте что они у вас стоят, и не слишком старой версии.
- Задачи по мотивам домашних работ + обработка текстовых данных.
- Вопрос по теории.
- Написать формулы где они есть.
- вопрос по применению теории к решению практических задач
- По мотивам теоретических вопросов
- e.g. Каким требованиям должна удовлетворять метрика качества, чтобы ее напрямую можно было оптимизировать с помощью SGD?
Дополнительные материалы для подготовки:
- курс Евгения Соколова по машинному обучению на ФКН
- Peter Flatch. Machine Learning
- Bishop. Pattern Recognition and Machine Learning
- Scikit-learn tutorials and User guide
- Hidden Markov Models Fundamentals
Семинары
№ | Тема семинара | материалы семинара | домашнее задание | дедлайн |
---|---|---|---|---|
1 | Теория алгоритмов. Фильтр Блума. Алгоритм Рабина-Карпа | seminar_1 | assignment_1 | 18.09.2018 12:00 |
2 | Тестирование программ. Визуализация. Избранные главы теории вероятностей и линейной алгебры. | |||
3 | Основные понятия машинного обучения |