Предметная область, которую мы рассматриваем в курсе, является достаточно обширной и в рамках предоставленного нам времени рассмотреть все аспекты не представляется возможным. Вместе с тем, хотелось бы, чтобы курс, с одной стороны, был полезен в вашей работе и научной деятельности, с другой стороны, не хотелось бы останавливаться только на тривиальных вопросах, которые рассматриваются во всех курсах по машинному обучению. В связи с этим, ответьте, пожалуйста, на следующие вопросы:
1. Назовите тему вашей бакалаврской ВКР и вкратце опишите основную суть на уровне и по объему abstract научных статей. Если есть публикации, связанные с темой работы, можно также предоставить ссылки.
2. Назовите тему вашей предполагаемой магистерской работы, и также опишите в рамках одного-двух абзацев задачу, которую вы решаете в рамках ВКР.
3. Опишите опыт взаимодействия с машинным обучением и/или искусственным интеллектом в целом (возможно, например, занимались экспертными системами). Он может касаться как вашей работы, научной или учебной деятельности, так и ваших личных проектов. Какие модели, алгоритмы использовали? С какими трудностями сталкивались?
4. Оцените ваши остаточные знания по линейной алгебре, численным методам и методам оптимизации, теории вероятностей и математической статистике, а также дискретной математике.
5. Сформулируйте ваши ожидания от курса. Например, вы не сталкивались с ML напрямую и хотелось бы получить базовые знания, или же наоборот вы имеете достаточный опыт и хотелось бы рассмотреть отдельные аспекты, касающиеся конкретных моделей и их применения. Хотелось бы больше концентрироваться на теоретическом обосновании применимости алгоритмов или больше иметь практический опыт работы моделей, используя различные эвристики.
Формат ответов на вопросы предполагается свободным. Эта часть задания не является оцениваемой, но скорее служит для моего знакомства с вами для адаптации курса. Для этого и дальнейших заданий будем придерживаться следующей схемы сдачи работ. Создайте, пожалуйста, репозиторий на GitHub. Если репозиторий будет публичным, то достаточно будет разместить ссылку на него в таблице “Машинное обучение. Осень 2021”, которая находится в той же папке, что и данный файл. Если репозиторий будет приватный, то необходимо будет также отправить мне инвайт на него по почте [email protected]. Статистический анализ В качестве данных для построения анализа и “проб” работы алгоритмов в курсе будут использоваться как классические датасеты по типу IRIS или MNIST, так и выбранные вами самостоятельно датасеты с платформы Kaggle, поэтому цель данной работы с одной стороны связано с воспоминанием основ статистики и анализа данных, с другой стороны знакомством (или продолжением знакомства) с разными платформами и инструментами.
1. Каждое задание будет сдаваться в виде jupyter notebooks, поэтому убедитесь, что у вас установленно необходимое ПО: git, python версии не ниже 3.7, jupyter notebook (а для удобства можно использовать даже jupyter lab), а также установлены пакеты numpy, pandas, scipy, matplotlib, seaborn
2. На платформе Kaggle найдите раздел Datasets. Среди всех датасетов выберите понравившийся вам набор данных, в котором есть как минимум 3 количественных признака, т.е. такие признаки, множество допустимых значений которых является полем действительных чисел. Скачайте подходящий датасет
3. Загрузите его в объект DataFrame пакета pandas. Как правило данные такого рода хранятся в формате csv (comma separated values), для чтения которого имеется удобная функция в pandas
4. С помощью функции drop удалите столбцы, кроме тех, которые обозначили в п.2 для вашего же удобства, чтобы лишние данные пока что не отвлекали. При необходимости также можно случайным образом сделать подвыборку (относительно строк), для снижения вычислительной нагрузки при дальнейшем анализе
5. Для каждого количественного признака постройте эмпирическую функцию распределения и гистограмму
6. Проанализируйте распределение признака. Здесь можно проявить творческий подход в максимальной степени ваших знаний и желания. Можно выдвигать гипотезы о форме распределения или проверять какие-то свойства распределений (унимодальность/мультимодальность, симметричность и т.д.)
7. Для каждого признака найдите выборочные моменты (начальные и центральные), можно вычислить также коэффициенты асимметрии и эксцесса.
8. В случае мультимодальных распределений можете попытаться представить распределение в виде смеси и определить ее параметры (не обязательный пункт)
9. И, наконец, с помощью функций пакетов pandas и seaborn постройте тепловую карту (heatmap) корреляций признаков.
Выполненную работу разместите в двух notebook’ах (знакомство и статистический анализ) и загрузите в репозиторий.