Программирование (python) для лингвистов — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(О курсе)
(Семинары)
Строка 72: Строка 72:
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! № !! Тема семинара !! презентация !! материалы семинара !! домашнее задание !! дедлайн
+
! № !! Тема семинара !! материалы семинара !! домашнее задание !! дедлайн
 
|-
 
|-
| 1 || Объекто-ориентированное программирование ||  || [https://github.com/thedenaas/hse_seminars/blob/seminar_1/OOP.ipynb notebook] || [http://wiki.cs.hse.ru/Программирование_(python)_для_лингвистов_дз#tasks%201 Assignment 1] || 12.09.17 12:00
+
 
|-
+
| 2 || Паттерны проектирования & web mining, part 1 ||  || [https://github.com/thedenaas/hse_seminars/blob/master/seminar_2 notebooks] || [http://wiki.cs.hse.ru/Программирование_(python)_для_лингвистов_дз#tasks%201 Assignment 2] || 17.10.17 12:00
+
|-
+
| 3 || Тестирование и профилирование программ ||  || [https://github.com/thedenaas/hse_seminars/blob/master/seminar_3 notebooks] || [http://wiki.cs.hse.ru/Программирование_(python)_для_лингвистов_дз#tasks%201 Assignment 3] || 17.10.17 12:00
+
|-
+
| 4 || Алгоритм Рабина-Карпа ||  || [https://github.com/thedenaas/hse_seminars/blob/master/seminar_4 notebooks] || [http://wiki.cs.hse.ru/Программирование_(python)_для_лингвистов_дз#tasks%201 Assignment 4] || 10.10.17 12:00
+
|-
+
| 5 || Scientific libraries: Numpy, scipy, matplotlib ||  || [https://github.com/thedenaas/hse_seminars/blob/master/seminar_5 notebooks] || ||
+
|-
+
| 6 || Scientific libraries: pandas, plotly ||  || [https://github.com/thedenaas/hse_seminars/blob/master/seminar_6 notebooks] || ||
+
|-
+
| 7 || Linear Regression ||  ||  || [https://github.com/thedenaas/hse_seminars/blob/master/seminar_7 notes and Assignment 5] || 18.10.17 12:00
+
|-
+
| 8 || Regularization in linear models ||  ||  || ||
+
|-
+
| 9 || Classification with linear models||  || [https://github.com/thedenaas/hse_seminars/blob/master/seminar_9 data] || [https://github.com/thedenaas/hse_seminars/blob/master/seminar_9 Assignment 6] || 11.11.17 12:00
+
|-
+
| 10 || SVM ||  ||  ||  ||
+
|-
+
| 11 || Word embeddings ||  || [https://github.com/thedenaas/hse_seminars/blob/master/seminar_11/dist_representation.ipynb notebook] [https://github.com/thedenaas/hse_seminars/blob/master/seminar_11/data.zip datasets]|| [https://github.com/thedenaas/hse_seminars/blob/master/seminar_11/hw_ner.ipynb  Assignment 7] [https://github.com/thedenaas/hse_seminars/blob/master/seminar_11/hw_sentiment_analysis.ipynb Assignment 8] || 3.12.17 12:00
+
|-
+
| 12 || Decision trees. Random Forest ||  || [https://github.com/thedenaas/hse_seminars/blob/master/seminar_12/trees.ipynb notebook] ||  ||
+
|-
+
| 13 || Boosting ||  || [https://github.com/thedenaas/hse_seminars/blob/master/seminar_13/ notebook] ||  ||
+
|-
+
| 14 || Dimension reduction. PCA, SVD ||  || [https://github.com/thedenaas/hse_seminars/blob/master/seminar_14/ notebook] ||  ||
+
|-
+
| 15 || Clustering. Kmeans, DBSCAN, Agglomerative clustering ||  || [https://github.com/thedenaas/hse_seminars/blob/master/seminar_15/ notebook] ||  [https://github.com/thedenaas/hse_seminars/blob/master/seminar_15/data.zip  data]  [https://github.com/thedenaas/hse_seminars/blob/master/seminar_15/hw_titanic.ipynb  Assignment 9]|| 22.12.2017 12.00
+
|-
+
| 16 || Topic modeing ||  || [https://github.com/thedenaas/hse_seminars/blob/master/seminar_16/ notebook] || [http://wiki.cs.hse.ru/Программирование_(python)_для_лингвистов_дз#tasks%201 Assignment 10] || 24.01.2018 12.00
+
|-
+
| 17 || Hidden Markov Models ||  || || ||
+
|-
+
| 18 || Hidden Markov Models(continued). Feedforward Neural Networks ||  || [https://github.com/thedenaas/hse_seminars/blob/master/seminar_18/ notebooks] || [https://github.com/thedenaas/hse_seminars/blob/master/seminar_18/hw_11.ipynb Assignment 11] || 25.02.2018 12.00
+
|-
+
| 19 || Training Neural Networks. Convolutional and recurrent NN for text classification and language modeling ||  || [https://github.com/thedenaas/hse_seminars/blob/master/seminar_19/ notebooks] ||  ||
+
|-
+
| 20 || Basic seq2seq models applied to machine translation  ||  || [https://github.com/thedenaas/hse_seminars/blob/master/seminar_20/ notebooks] ||  ||
+
 
|-
 
|-
  
 
|}
 
|}

Версия 13:01, 27 августа 2018

О курсе

Курс читается для студентов лингвистов 4-го курса факультета гуманитарных наук.

Проводится с 2017 года.

Преподаватель: Денис Литвинов (Почта, Telegram )

Ассистенты Елизавета Корнеева (Почта), Егор Соловьев (Почта, Telegram )


Правила выставления оценок

итоговая оценка = 0.7*накопленная + 0.3*экзамен

накопленная оценка — средняя по всем домашним заданиям.

  1. При вычислении накопленной оценки округление не производится
  2. Домашнее задание оценивается по 10-балльной шкале.
  3. В случае пропуска дедлайна за каждый пропущенный день снимается 0.5 балла в течении первых 6 дней. Затем, за каждый пропущенный день снимаются по 1 баллу.
  4. Дедлайны для каждой домашней работы указываются отдельно.
  5. В оценке домашнего задания оцениваются: работоспособность программы, использование изложенных средств и методов.
  6. При оценивании программы в первую очередь обращается внимание на то, насколько её работа соответствует требованиям, описанным в задании. Программа, не запускающаяся из-за синтаксических ошибок, не может получить оценку выше 4 баллов. Баллы могут сниматься, в частности, за неточное выполнение задания и отсутствие разбора случаев, из-за которых при исполнении программы может произойти ошибка. Так же оценивается оптимальность решенения (в смысле времени работы и потребляемой памяти). Во вторую очередь оценивается стиль кода.
  7. При обнаружении плагиата в домашнем или контрольном задании это задание получает оценку 0 баллов.
  8. Экзамен проводится в письменной форме.

Рекомендуемая литература

  1. Кормен. Алгоритмы: построение и анализ
  2. Bishop. Pattern Recognition and Machine Learning
  3. Christopher Manning. Foundations of Statistical Natural Language Processing


Программные средства

  1. редактор кода sublime text / notepad++ / PyCharm
  2. jupyter notebook
  3. numpy, scipy, pandas, matplotlib, seaborn, scikit-learn, gensim, lightgbm, pytorch


Правила сдачи домашних заданий

Домашние задания сдаются по умолчанию в репозиториях, указанных в форме (пожалуйста, пройдите этот опрос)

  1. Домашнее задание выполняется в jupyter notebook, если явно не указано иное.
  2. Не стоит выкладывать в репозиторий запакованные файлы.
  3. Соблюдайте именование каталогов, классов и сигнатур функций, если они явно указаны. В противном случае автотесты их не подцепят и ваше решение не будет засчитано.
  4. Опоздание считается по последнему сданному заданию в домашней работе

Оценки за домашние задания

Экзамен

Экзамен проходит в письменной форме и сотоит из 3 частей

  1. Решение задачи машинного обучения на ноутбуке
    1. Необходимые библиотеки numpy, scipy, pandas, scikit-learn, nltk. Проверьте что они у вас стоят, и не слишком старой версии.
    2. Задачи по мотивам домашних работ + обработка текстовых данных.
  2. Вопрос по теории.
    1. Написать формулы где они есть.
  3. вопрос по применению теории к решению практических задач
    1. По мотивам теоретических вопросов
    2. e.g. Каким требованиям должна удовлетворять метрика качества, чтобы ее напрямую можно было оптимизировать с помощью SGD?

вопросы к экзамену

Задачи

Дополнительные материалы для подготовки:

  1. курс Евгения Соколова по машинному обучению на ФКН
  2. Peter Flatch. Machine Learning
  3. Bishop. Pattern Recognition and Machine Learning
  4. Scikit-learn tutorials and User guide
  5. Hidden Markov Models Fundamentals

Семинары

Тема семинара материалы семинара домашнее задание дедлайн