Один из главных вопросов у людей изучающих что-либо - выбор источников информации: курсов, книг, статей. В последнее время, и особенно в изучении data science, широта выбора вводит в ступор: курсов и книг просто море, особенно если рассматривать доступные на английском языке. В данной статье дам субъективный обзор платформ он-лайн обучения, показывая те, которые дают изначально более фундаментальные знания (спойлер: coursera.org и learning.oreilly.com мои фавориты).

Введение. Мотивация к данной статье

Когда я начал изучать машинное обучение и математику, то в какой-то момент заметил как легко я понимаю те вещи, которые в институте скорее заучивал, чем понял. Это было благодаря нескольким факторам:

конечно, выше мотивация, т.к. когда вы занимаетесь самообразованием, то, обычно, имеете более четкое представление о своих желаниях и целях, чем в университете;

в каждый момент времени, когда что-то "не идёт" можно отложить текущую лекцию/книгу и освежить/изучить знания, необходимые для данной темы; а хорошие курсы и книги, зачастую, вообще начинают с основ, заботясь о том, что вы понимаете все предпосылки к каждой теме, т.е. имеете фундамент на котором могут закрепляться новые знания.

т.к. вы можете выбрать абсолютно любой курс и преподавателя - можно найти того, кто объясняет наиболее понятно;

наконец, огромные преимущества видео-лекций в том, что можно поставить изучение на паузу, если вам просто что-то не даёт учиться. И можно лектора переслушать несколько раз, в отличие от лекции в университете.

В итоге, у меня сложилось мнение, что эффективное изучение материала, в первую очередь, зависит от качества и формы его подачи, а не от талантов ученика. Поэтому, для себя я решил, что стоит тратить силы на нахождение лучших, в своём роде, книг и курсов. В итоге, пока изучал основы DS, я просматривал десятки разных источников, и заметил, что есть настоящие жемчужины, отлично объясняющие материал, и, наоборот, многие курсы и книги не дают принципиальное понимание предмета, а просто приводят отдельные примеры, призывая их повторять (набрать программный код), но не объясняя общих принципов так, чтобы вы смогли решить принципиально похожую, но отличающуюся задачу. Т.к. издание книг и курсов дело прибыльное, то курсов и книг второго типа намного больше: большая часть книг и курсов, которые я просматривал, не давали ничего полезного (запоминающегося).

Сначала я начал писать статью с рекомендациями по книгам и курсам, но т.к. новые книги и курсы выходят регулярно, то поменял что необходимо иметь представление об он-лайн платформах в целом. К тому же, обзор платформ получился длинный, и стоило его публиковать отдельно от списка конкретных курсов. Ниже привожу субъективное сравнение платформ, в основном на базе курсов, которые там были доступны в 2016-2018гг (в эти годы я просмотрел десятки вариантов).

Платформы

coursera.org  

На этой платформе собраны лучшие курсы и специализации, из того что мне встречалось.

Данный портал был первопроходцем в он-лайн образовании, выводя в он-лайн разные курсы от топовых преподавателей американских университетов. Т.к. изначально это был вывод он-лайн лучших университетских курсов - они были ориентированы  на преподавание базовых и фундаментных принципов. Именно это свойство качественно отличает курсы на данной платформе, от других платформ. Сейчас кроме университетских курсов там также есть курсы от ведущих организаций (Google, Яндекс, deeplearning.ai, т.п.) 

Также на этой платформе есть хорошие курсы по математике ( а т.ч. специальные "математика для data science") и много других университетских курсов по самым разным областям знаний.

Следите за курсами данных организаций

Возможно, лучшие курсы по самым основам машинного обучения и дата сайенс - изначально русскоязычные и доступны на этой платформе. Это хорошие курсы и специализации Высшей школы экономики, Яндекс (+МФТИ). Даже если вы прекрасно владеете английским - основы я рекомендую изучать по этим русскоязычным курсам. В целом, каждый курс от представленных выше организацией, был мне в чём-то полезен.

Англоязычный курс по нейронным сетям от Andrew Ng (deeplearning.ai), вероятно, самые известный из всех курсов по нейронным сетям. Другие курсы от "deeplearning.ai" по нейронным сетям также хороши.

На coursera.org очень много хороших курсов (хотя есть и плохие, или неактуальные). Но поиск на этом сайте - отвратительный. Рекомендую через страницу "Партнёры" открывать списки курсов всех упомянутых выше организаций, и смотреть что они предлагают, у них плохих курсов нет (пример https://www.coursera.org/hse).

В отдельной статье, дам шорт-лист из курсов данных партнеров.

Как бесплатно просматривать курсы на coursera.org

Coursera.org изначально создавалась под лозунгом сделать доступными для каждого лучшие образовательные материалы. Поэтому есть две возможности учиться на ней бесплатно: 

При записи на отдельный курс (не специализацию) в самом последнем окне снизу будет маленькая ссылочка "только аудит". В этом режиме все лекции и большинство практических заданий можно просмотреть бесплатно. Хотя вы не можете получить сертификат, но я еще не слышал чтобы какие-то компании их требовали при устройстве на работу, достаточно сказать на словах где вы учились.). Что хуже - вы не сможете получить обратную связь/оценку выполнения некоторых практических заданий. Но базовые знания вы получите, а тренировать их можно и самостоятельно, т.е. потери, по сравнению с платными вариантами, не критичны.

 Другая возможность - написать в coursera.org и попросить дать вам бесплатный доступ, с мотивировкой почему вам следует его дать. Эта возможность явно указана у них на сайте. По опыту знакомых (высокооплачиваемая мать-одиночка из Германии) - они вполне идут на встречу.

edx.org

Платформа конкурирующая с coursera.org, также ориентированная на курсы с глубокой подачей материала. Я изначально мало пользовался этой платформой, т.к. coursera.org всегда была моим первым выбором. Но из тех курсов, которые я на ней просматривал, только парочка давала что-то, чего в этом момент не было на coursera.org. Кажется, тут сейчас идёт больший акцент на преподавание целых университетских программ, с соответствующими дипломами, и ценами.

stepik.org

Это полностью русскоязычная платформа. Многие курсы бесплатные/дешёвые и интерактивные (важно для отработки навыков). Среди всего, доступного на русском языке, некоторые курсы могут быть очень привлекательными (бесплатно и хороший материал). Но лучших, в своём роде, курсов встретилось мало. Сложилось впечатление, что многие (большинство?) курсов скорее вводные, недостаточные для глубокого погружения в тему. Ряд курсов были устаревшими или очень узкими по своей подаче материала, хотя материал и был дан хорошо и может оказаться полезным для понимания общей картины.

Тем не менее, для изучения самых основ (как вводная перед более глубокими специализациями от coursera.org, или доп. материалы, дающие ту же информацию под другим углом) курсы с этой платформы могут быть полезны. 

Среди русскоязычных бесплатных курсов, курсы по нейронным сетям курсы на этой платформе кажутся хорошими, возможно, лучшими. Но англоязычные курсы по нейронным сетям, в целом, лучше. И, как писал ранее, не рекомендую сразу начинать изучение с нейронных сетей. Исчерпывающими (чтобы вы смогли применять знания на практике) эти курсы всё равно не являются.

udemy.com

Несколько раз я рассматривал курсы на этой платформе, но каждый раз приходил к ощущению, что все курсы слишком обзорные. Дают практический навык, но не нацелены на концептуальное понимание. Например, я разочаровался в многообразии бесполезных курсов по Spark и PySpark (это было в 2018г).

Хотя как раз для отработки концептуально не сложных навыков (основы Питон), курсы на этой платформе могут быть эффективны. Например, с нуля по Python могут быть полезны курсы: 1, 2. Это курсы ориентированные на кого-либо без предыдущего опыта программирования.

Также, на этой платформе, вероятно, можно найти хорошие курсы по SQL (если они дают большую базу практических заданий). Я проходил отличный курс по PowerBI (который является не сложным инструментом, и не требует фундаментальных курсов).

БОльшая часть курсов на данной платформе - платные. И способы просмотреть их бесплатно мне не известен.

datacamp.com

Я не брал ни один курс, т.к. они все были платными. Судя по бесплатно доступным первым урокам, их подходы хороши для того чтобы "набить руку" на использовании базовых библиотек. И, в таком качестве, их можно использовать (отработка навыков Python, Pandas, SQL, и разных инструментов и библиотек). В этом качестве, вероятно, они будет лучше альтернатив с udemy, т.к. datacamp изначально разрабатывалась как платформа обучения навыкам data science, с хорошей проработкой способов делать интерактивные упражениния.

Но, по моим ощущениям и отзывам тех, кто там учился - курсы данной платформы плохо подходят для формирования общего кругозора и изучения фундаментальных концепций. Поэтому, нельзя их брать за основу изучения такой сферы, в котой много фундаментальных знаний. Скорее как наборы для отработки практических навыков.

Способ сэкономить, если хотите учиться на этих курсах - следить за распродажами. В последнюю "черную пятницу" там были скидки до 50%.

Книги: learning.oreilly.com (также есть и курсы)

Это уникальная, в рамках данного обзора, платформа в том смысле, что она изначально ориентирована на предоставление подписки на книги. Покупаете годовой абонемент, и получаете доступ практически ко всем существующим книгам по ИТ на английском языке.

Эта платформа издательства O'Reilly, которое, кажется, является самым крупным издательством, специализирующемся на ИТ-литературе. И на их платформе не только их книги. Можно найти книги бОльшинства издательств, специализирующихся на ИТ-литературе.

Список рекомендуемых книг я приведу в отдельной статье. Но, в целом, хорошо работает подход предварительной фильтрации книг по рейтингу - все лучшие книги имеют >4 звёзд. Кажется, я не встретил ни одной книги с меньшим рейтингом, которую стал полностью читать. В лучше случаем, просматривал отдельные главные.

В последние годы они также развивают он-лайн курсы на своей платформе, которые доступны в рамках той же подписки. Я их пробовал только в 2019г, тогда им не хватало возможностей отработки практических навыков. Кажется, курсов, ориентированных фундаментальные знания, как на coursera.org, там было мало. Но курсов, посвященных отдельным ИТ-технологиям на этой платформе множество и самых разнообразных.

В бесплатном доступе ничего нет, и подписка достаточно дорогая (~400$ в год). Если подписаться на новости и рассылки на сайте oreilly.com - раз в год они устраивают 2 недели распродаж (в разное время! обычно - осенью). В этот период подписку можно купить со скидкой 50%

Книги: b-ok.global

Многие специализированные книги по machine learning и data science стоят очень дорого. Особенно в сравнении с уровнем доходов большинства русскоязычного населения, кто может читать эту статью. Поэтому позволю себе прорекламировать сомнительный ресурс. На данном сайте можно бесплатно скачать на английском языке многие книги, которые иначе стоят очень дорого.

Но, как я писал ранее, бОльшая часть книг и курсов по data science - не самые лучшие, и не на столько полезные, как хотелось бы. Поэтому, не имеет смысл с ликованием "О! Халява!" скачивать всё подряд.

Обычный способ отбора хороших книг: сначала ищем книгу на amazon.com, смотрим её рейтинг (число звёзд) и количество оценивших (должно идти на десятки). Я еще ни разу не видел чтобы хорошая книга имела рейтинг 4 звезды или ниж. Все хорошие книги будут иметь выше 4 звёзд, и, если они были изданы не в последний месяц, у них будут уже десятки отзывов. Заметьте, что эта эвристика по рейтингу является необходимой, но не достаточной: немало не самых идеальных книг имеет рейтинг 4.5+ и десятки оценивших, к тому же - конкретная книга может давать материал не идеально вам подходящий (писал об этом ранее). Как правило, на amazon можно посмотреть оглавление книги и пролистать несколько страниц. Далее отобранные книги я уже ищу на b-ok.global. Там есть не все, но их львиная часть.

khanacademy.org - математика

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

Однако, в последние годы, конкурирующие курсы на уровне школьной (high school) программы стали появляться и на coursera.org, и там, на мой взгляд, есть более качественные курсы. В том числе на coursera.org есть очень удачные курсы "математика для data science", которые неплохо подбирают самые важные темы для данной профессии. Единственным недостатком coursera.org является множество альтернативных курсов по одной и той же теме, между которыми придётся выбирать, и также плохо организованный каталог/поисковик курсов. Тем не менее, рекомендую инвестировать время в том, чтобы найти лучшее из доступного там.

Преимущества: khan academy - курсы составлены в учебную программу (как в школе) и нет их дублирования, бесплатность.

"Упакованные" программы: Яндекс.Практикум, skillfactory, geekbrains

К сожалению (к счастью?) я не учился на курсах ШАД, Яндекс.Практикум, skillfactory, geekbrains. Поэтому не могу дать о них полностью информированное мнение.

Но из изучения их учебных программ сложилось некоторые ощущения:

Теоретическая часть курсов (фундаментальные знания)

В теоретической части, отдельные курсы Яндекса и других платформ в значительной части пересекаются с теми, которые тот же Яндекс предоставляется на coursera.org, сам или через Высшую Школу Экономики (в ней факультет анализа данных сделан тем же Яндексом). Как писал выше, на coursera.org материалы этих курсов можно просмотреть бесплатно, и там можно скомбинировать, просмотрев каждую тему в том курсе, который её объясняет лучше всего. Риск такого подхода - может быть небольшая каша из кучи отдельных знаний. Но умение ориентироваться в разной информации о методах машинного обучения, и отделять актуальное от неакутального - тоже навык, полезный в дальнейшем саморазвитии. Поэтому, это не является большим минусом.

Субъективно, в ШАД будет больше математической подготовки, на coursera на таком уровне её будет сложно получить. Но, потенциально, частично эта подготовка может быть избыточной.

Яндекс.Практикум, skillfactory, geekbrains

Как указал выше - - теорию можно изучить по бесплатно доступным альтернативам (coursera.org) и книгам.

В первую очередь "упакованные" программы хороши наличием долгосрочного учебного плана. Полезно с ним сверяться, но можно искать другие источники, чтобы изучать этот материал.

Второй огромный плюс данных программ - наличие бизнес-кейсов. В итоге, самой полезной, вероятно, будет программа с наибольшим разнообразием и их проработанностью (в т.ч. реалистичностью постановки). К сожалению, не могу сказать какая из указанных программ будет лучшей по этому критерию. У кого есть опыт - пожалуйста, напишите. Но, потратив определнные усилия, можно найти альтернативные способы потренироваться на практических задачах: найти релевантные бизнес-кейсы на kaggle и поучаствовать в соревнованиях, попробовать там же изучить как это делали другие, проделать практические задания из разных курсов, доступных на coursera.org.

Итого: пройти любую из данных программа полезно (какую полезнее - пока не знаю, жду вашей обратной связи). Но если денег нет, то потратив чуть больше сил можно для себя найти альтернативу через бесплатные источники. Если же хотите эти программы проходить - кажется по началау они все бесплатные, чтобы вы смогли оценить качество преподавания

Что я забыл?

Если есть еще какие-то популярные курсы/платформы - пожалуйста, напишите, вместе со своими отзывами. Планирую дополнять и обновлять данную статью, чтобы поддерживать её актуальность.

Мои другие статьи, по самообучению в дата сайенс

Самообучение в Data science, с нуля до Senior за два года

Принципы эффективного самообучения для желающих изучить машинное обучение

Изучение data science c нуля: этапы и вехи

Готов ответить на индивидуальные вопросы / стать ментором

Посчитав, что мой опыт самообучения и быстрый рост доказывают эффективность отобранных мной подходов, книг и курсов, я решил заняться менторством.

Если у вас есть индивидуальные вопросы, на которые не отвечают данные статьи - пишите на почту self.development.mentor в gmail.com, Олег

Может быть, пообщаемся разок и вам этого хватит. Уже обратилось несколько десятков человек. Некоторые поняли, что им лучше уйти в другую сферу (программирование, биг дата), некоторым смог скорректировать учебный/карьерный план под индивидуальные потребности, некоторым я посоветовал тех, кто им сможет лучше помочь, кого-то спас (?) от лишней траты времени на бесперспективную игру с нейронными сетями.