1. О курсе
Многие в нашей команде OpenDataScience занимаются state-of-the-art технологиями машинного обучения: DL-фреймворками, байесовскими методами машинного обучения, вероятностным программированием и не только. По этим темам мы готовим лекции и практические занятия, а для того, чтобы подготовить слушателей к ним, решили опубликовать серию вводных статей на Хабре.
Мы не ставим себе задачу разработать еще один исчерпывающий вводный курс по машинному обучению или анализу данных (т.е. это не замена специализации Яндекса и МФТИ, дополнительному образованию ВШЭ и прочим фундаментальным онлайн- и оффлайн-программам и книжкам). Цель этой серии статей — быстро освежить имеющиеся у вас знания или помочь найти темы для дальнейшего изучения. Подход примерно как у авторов книги Deep Learning, которая начинается с обзора математики и основ машинного обучения — краткого, максимально ёмкого и с обилием ссылок на источники.
Если вы планируете пройти курс, то сразу предупреждаем: при подборе тем и создании материалов мы ориентируемся на то, что наши слушатели знают математику на уровне 2 курса технического вуза и хотя бы немного умеют программировать на Python. Это не жёсткие критерии отбора, а всего лишь рекомендации — можно записаться на курс, не зная математики или Python (или даже обоих!), и параллельно навёрстывать:
- базовую математику (мат. анализ, линейную алгебру, оптимизацию, теорвер и статистику) можно повторить по этим конспектам Yandex & MIPT (делимся с разрешения). Кратко, на русском – то что надо. Если подробно, то матан – Кудрявцев, линал – Кострикин, оптимизация – Boyd (англ.), теорвер и статистика – Кибзун. Плюс отличные онлайн-курсы МФТИ и ВШЭ на Coursera;
- по Python хватит небольшого интерактивного туториала на Datacamp или этого репозитория по Python и базовым алгоритмам и структурам данных. Что-то более продвинутое – это, например, курс питерского Computer Science Center;
- что касается машинного обучения, то в 95% случаев вам в первую очередь посоветуют классический курс от Andrew Ng (Stanford, Coursera). На русском языке есть отличная специализация МФТИ и Яндекса «Машинное обучение и анализ данных». А также must-read: "The elements of statistical learning" (Hastie, Tibshirani), "Pattern recognition" (Bishop), "Machine Learning: A Probabilistic Perspective " (Murphy) и "Deep Learning" (Goodfellow, Bengio). Книга Bengio и Goodfellow начинается с понятного и интересного интро в машинное обучение и внутреннее устройство его алгоритмов.
Какое ПО нужно
Пока для воспроизведения описанного нужна только сборка Anaconda с Python 3.6. Чуть позже понадобятся и другие библиотеки, об этом будет сказано дополнительно.
Update:
Надеемся, что большинство из вас уже знают про PyPI, могут установить Python 3.6 или даже слышали и пользуются venv / virtualenvwrapper, и если вы из их числа, пользуйтесь тем, что удобно именно вам (но полную совместимость материалов курса со всеми версиями библиотек мы не гарантируем!).
Для всех остальных — установите Anaconda: Quick Install Guide. Сборка включает в себя 100 Python-библиотек и поддерживает ещё 720. Есть также облегчённая версия — Miniconda, с ней все нужные библиотеки придётся устанавливать самостоятельно.
Также можно воспользоваться Docker-контейнером, в котором все необходимое ПО уже установлено. Подробности – в README репозитория.
Как подключиться к курсу
Подключиться можно в любой момент, но дедлайны по домашним заданиям жесткие. Для участия: