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

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(О курсе)
(Семинары)
(не показано 16 промежуточных версии этого же участника)
Строка 7: Строка 7:
 
'''Преподаватель:''' Денис Литвинов ([mailto:4denaas@gmail.com Почта], [https://t.me/denaas Telegram ])
 
'''Преподаватель:''' Денис Литвинов ([mailto:4denaas@gmail.com Почта], [https://t.me/denaas Telegram ])
  
'''Ассистенты''' Елизавета Корнеева ([mailto:elisavetinaaa@gmail.com Почта]), Егор Соловьев ([mailto:easolovev@edu.hse.ru Почта], [https://t.me/esolovev Telegram ])
+
'''Ассистенты''' Елизавета Корнеева ([mailto:elisavetinaaa@gmail.com Почта], [https://t.me/tithemi Telegram ]), Егор Соловьев ([mailto:easolovev@edu.hse.ru Почта], [https://t.me/esolovev Telegram ])
  
  
Строка 45: Строка 45:
  
 
=== Оценки за домашние задания ===
 
=== Оценки за домашние задания ===
 +
[https://docs.google.com/spreadsheets/d/1SUG3UjWCez6beNukIFP6sRMnKXBs-jnJaNyh4Ateiu4 оценки]
  
 
=== Экзамен ===
 
=== Экзамен ===
Строка 58: Строка 59:
  
 
[http://wiki.cs.hse.ru/index.php?title=Программирование_(python)_для_лингвистов_экзамен вопросы к экзамену]
 
[http://wiki.cs.hse.ru/index.php?title=Программирование_(python)_для_лингвистов_экзамен вопросы к экзамену]
 
[https://github.com/thedenaas/hse_exam Задачи]
 
  
 
Дополнительные материалы для подготовки:
 
Дополнительные материалы для подготовки:
Строка 72: Строка 71:
 
{| 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
+
| 1 || Теория алгоритмов. Фильтр Блума. Алгоритм Рабина-Карпа || [https://github.com/thedenaas/hse_seminars_2018/tree/master/seminar_1 seminar_1] || [https://github.com/thedenaas/hse_seminars_2018/tree/master/seminar_1 assignment_1] || 18.09.2018 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
+
| 2 || Тестирование программ. Визуализация. Избранные главы теории вероятностей и линейной алгебры. || [https://github.com/thedenaas/hse_seminars_2018/tree/master/seminar_2 seminar_2] ||   ||  
 
|-
 
|-
| 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
+
| 3 || Основные понятия машинного обучения || [https://github.com/thedenaas/hse_seminars_2018/tree/master/seminar_3 seminar_3] || [https://github.com/thedenaas/hse_seminars_2018/tree/master/seminar_3 assignment] || 16.10.2018 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
+
| 4 || Регуляризация в линейных моделях || [https://github.com/thedenaas/hse_seminars_2018/tree/master/seminar_4 seminar_4] || ||
 
|-
 
|-
| 5 || Scientific libraries: Numpy, scipy, matplotlib || || [https://github.com/thedenaas/hse_seminars/blob/master/seminar_5 notebooks] || ||
+
| 5 || Линейный модели для классификации || [https://github.com/thedenaas/hse_seminars_2018/tree/master/seminar_5 seminar_5] || [https://github.com/thedenaas/hse_seminars_2018/tree/master/seminar_5 assignment] || 16.11.2018 23:59
 
|-
 
|-
| 6 || Scientific libraries: pandas, plotly ||  || [https://github.com/thedenaas/hse_seminars/blob/master/seminar_6 notebooks] || ||
+
| 6 || Decision Trees. Ensembles. ||  [https://github.com/thedenaas/hse_seminars_2018/tree/master/seminar_6 seminar_6] || [https://github.com/thedenaas/hse_seminars_2018/tree/master/seminar_6 assignment] || 30.11.2018 23:59
 
|-
 
|-
| 7 || Linear Regression ||  ||  || [https://github.com/thedenaas/hse_seminars/blob/master/seminar_7 notes and Assignment 5] || 18.10.17 12:00
+
| 7 || Feed Forward Neural Networks ||  [https://github.com/thedenaas/hse_seminars_2018/tree/master/seminar_7 seminar_7] ||  ||
 
|-
 
|-
| 8 || Regularization in linear models || ||  || ||  
+
| 8 || Dimension reduction. Manifold Learning ||   [https://github.com/thedenaas/hse_seminars_2018/tree/master/seminar_8 seminar_8] ||  ||
 
|-
 
|-
| 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
+
| 8 || Word2Vec. Glove. Convolutional NN ||   [https://github.com/thedenaas/hse_seminars_2018/tree/master/seminar_9 seminar_9] || [https://github.com/thedenaas/hse_seminars_2018/tree/master/seminar_9 assignment] || 29.01.2019 23.59
 
|-
 
|-
| 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] ||  ||
 
|-
 
 
 
|}
 
|}

Версия 19:06, 18 января 2019

О курсе

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

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

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

Ассистенты Елизавета Корнеева (Почта, 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

Семинары

Тема семинара материалы семинара домашнее задание дедлайн
1 Теория алгоритмов. Фильтр Блума. Алгоритм Рабина-Карпа seminar_1 assignment_1 18.09.2018 12:00
2 Тестирование программ. Визуализация. Избранные главы теории вероятностей и линейной алгебры. seminar_2
3 Основные понятия машинного обучения seminar_3 assignment 16.10.2018 12:00
4 Регуляризация в линейных моделях seminar_4
5 Линейный модели для классификации seminar_5 assignment 16.11.2018 23:59
6 Decision Trees. Ensembles. seminar_6 assignment 30.11.2018 23:59
7 Feed Forward Neural Networks seminar_7
8 Dimension reduction. Manifold Learning seminar_8
8 Word2Vec. Glove. Convolutional NN seminar_9 assignment 29.01.2019 23.59