{"id":14268,"url":"\/distributions\/14268\/click?bit=1&hash=1e3309842e8b07895e75261917827295839cd5d4d57d48f0ca524f3f535a7946","title":"\u0420\u0430\u0437\u0440\u0435\u0448\u0430\u0442\u044c \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430\u043c \u0438\u0433\u0440\u0430\u0442\u044c \u043d\u0430 \u0440\u0430\u0431\u043e\u0447\u0435\u043c \u043c\u0435\u0441\u0442\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e?","buttonText":"\u0423\u0437\u043d\u0430\u0442\u044c","imageUuid":"f71e1caf-7964-5525-98be-104bb436cb54"}

Источники для изучения data science и machine learning (книги, курсы и не только)

Пост состоит из двух частей:

  • Часть про курсы и материалы для входа в Data science
  • Часть про книги для всестороннего развития в профессии Data Science

Части самодостаточные, но показалось, что они отлично сочетаются в рамках одного поста.

Часть про курсы, видео и материалы для тех, кто хочет в Data science

Я иногда выступаю на конференциях и других публичных мероприятиях, и меня часто спрашивают о том, как вообще начать обучение в ML, DS. За последние пару лет я собрал небольшой гайд — минимально достаточный набор материалов из того огромного пула, существующих курсов, видео, сайтов, книг, публично доступных лекций и многого другого.

Я рекомендую знакомиться с материалами в указанной последовательности.

Основной план прохождения курсов:

1. Погружение в python и pandas: https://stepik.org/course/74457/syllabus (можете купить полный курс, если понравится эта демо версия) ИЛИ/И https://www.youtube.com/watch?v=dd3RcafdOQk

2. Полезный курс "Машинное обучение" от Евгения Соколова в ВШЭ, но без ДЗ: https://www.youtube.com/playlist?list=PLEqoHzpnmTfDwuwrFHWVHdr1-qJsfqCUX и материалы курса на гитхабе

3. Вместо предыдущего можно курс "Введение в Data Science и машинное обучение" на степике, но он проще и меньше: https://stepik.org/course/4852/promo?search=1000902645

4. Набор видео (курс) "Data Mining in Action" о прикладном машинном обучении: https://www.youtube.com/channel/UCop3CelRVvrchG5lsPyxvHg/videos

Если у вас есть пробелы в программировании на python, и не хватает курсов выше, то начать свое обучение можно со следующего курса:

Если есть пробелы в матстате и теорвере, то рекомендую начать с этих двух курсов:

Теория вероятностей на степике

Основы статистики на степике

Дополнительно оставлю потенциально полезные материалы на время обучения:

Как можно раньше переходить к практике:

kaggle.com - не нуждается в представлении, переходите и участвуйте в соревнованиях

⁃ Искать реальные данные и работать с ними, например, на GitHub. Датасеты из промышленности можно поискать в этих репозиториях:

Пара полезных ссылок на будущее:

Часть про книги

Нередко можно столкнуться с подборками книг, где представлены списки с большим числом книг, еще и дублирующих материал друг друга. Либо списки наоборот могут покрывать лишь часть тех навыков, что нужны на практике.

Примеры:

⁃ И многие другие

Разобраться с такими списками для начинающих специалистов является нетривиальной задачей. Давайте попробуем дать полный (не математикой единой), систематизированный по направлениям список книг для развития в профессии Data Science и сократить выбор до 1, ну максимум 2х книг по каждому направлению.

Математика для машинного обучения

⁃ Mathematics for Machine Learning by Marc Peter Deisenroth, A. Aldo Faisal, and Cheng Soon Ong (2020) - https://mml-book.github.io - книга нацелена на развитие навыков и знаний по математике, которые необходимы для эффективного изучения материалов (книг, курсов) по машинному обучения

Основы машинного обучения

⁃ Онлайн-учебник по машинному обучению от ШАД - https://ml-handbook.ru (школа анализа данных Яндекса) - для тех, кто не боится математики и хочет разобраться в технологиях ML. Учебник постоянно пополняется полезной информацией

⁃ Основы статистического обучения: интеллектуальный анализ данных, логический вывод и прогнозирование от Тревора Хасти и Роберта Тибришани - одна из двух базовых книжек (вторая - Распознавание образов и машинное обучение от Кристофера Бишопа) для изучения основ и того, как работает машинное обучение

Глубокое (глубинное) обучение

⁃ Deep learning by Ian Goodfellow, Yoshua Bengio and Aaron Courville (2016) - https://www.deeplearningbook.org - классическая книга, дает подробное введение в глубокое обучение, полезна для специалистов разного уровня

Вам, возможно, только предстоит узнать, что на сегодняшний день наиболее популярны 2 фреймворка для глубокого обучения: PyTorch и Tensorflow (Keras), держите по 1 заметной книге для каждого из фреймворков:

⁃ Deep Learning with Keras by Antonio Gulli and Sujit Pal

⁃ Deep Learning with PyTorch: Build, train, and tune neural networks using Python tools by Eli Stevens, Luca Antiga, and Thomas Viehmann

Python

⁃ Изучаем Python | Марк Лутц - практическая книга со всесторонним и глубоким введением в основы языка Python

⁃ Python for Data Analysis. A Complete Guide for Beginners, Including Python Statistics and Big Data Analysis ИЛИ Python for Data Analysis by Wes McKinney - любая из 2х книг на выбор, концентрирует внимание читателя на тех функциях и деталях языка python, которые нужны на практике при анализе данных

Программирование и алгоритмы

⁃ Чистый код. Создание, анализ и рефакторинг | Роберт Мартин - книга с большим числом реальных примеров. Дает представление о том, чем отличится плохой код от хорошего, как писать хороший код и как преобразовать плохой код в хороший

⁃ Hands-On Data Structures and Algorithms with Python: Write complex and powerful code using the latest features of Python 3.7 by Dr Basant Agarwal - для повышения качества кода и уровня ваших компетенций изучение структур данных и алгоритмов является обязательным. Не зря же Яндекс делает на этой части такой упор во время собеседований?)

Трудоустройство и собеседования

Machine Learning Interviews Book - "This book is not a replacement to machine learning textbooks nor a shortcut to game the interviews. It’s a tool to consolidate your existing theoretical and practical knowledge in machine learning." Отличная цитата прямо из книги. Знание английского языка вам очень нужны в data science, поэтому привыкайте.

⁃ Cracking the Coding Interview: 189 Programming Questions and Solutions by Gayle Laakmann McDowell - книга о том, как проходить интервью по разработки. Еще одно напоминание о том, что написание кода - часть работы дата сайентистов.

Применение машинного обучения на практике

⁃ Machine Learning Yearning by Andrew Ng - After finishing this book, you will have a deep understanding of how to set technical direction for a machine learning project.

⁃ Seven Steps to Success Machine Learning in Practice by Daoud Clarke - https://daoudclarke.github.io/guide.pdf - короткая книга с базовыми простыми правилами для эффективного применения машинного обучения на практике

⁃ Rules of Machine Learning: Best Practices for ML Engineering by Martin Zinkevich - https://martin.zinkevich.org/rules_of_ml/rules_of_ml.pdf - This document is intended to help those with a basic knowledge of machine learning get the benefit of best practices in machine learning from around Google

Менеджмент проектов и разработка продуктов с машинным обучением

⁃ Managing Data Science products and Projects with Lean Data Science - https://leands.ai/ru#rec317872343 - гибкое управление проектами и продуктами в Data Science. Книга представляет собой краткое описание практик LeanDS с примерами.

⁃ Machine Learning Product Manual by Laszlo Sragner and Chris Kelly - https://machinelearningproductmanual.com - в книге описаны практические подходы и советы по созданию продуктов на основе машинного обучения для менеджеров продукта, руководителей команд. Советы должны помочь повысить качество процессов в полном жизненном цикле продукта.

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

Я создал телеграм канал DataKatser, где появляюсь гораздо чаще и делюсь своими мыслями и интересными кейсами по data science, машинному обучению и искусственному интеллекту. Буду рад вашей подписке!

0
10 комментариев
Написать комментарий...
Кирилл Добряков

классная подборка, благодарочка!

Ответить
Развернуть ветку
Роман Величкин

А вы какие из перечисленных книг и материалов читали/проходили?

Ответить
Развернуть ветку
under construction

лекции одс на ютубе найти
если нормально в английский кагла достаточно

Ответить
Развернуть ветку
Роман Величкин

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

Andrew Ng предлагает сосредоточиться на практике и в лекциях говорит, что в компаниях редко и мало кто углубляется в матан.

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

Интересно какой подход у крупных специалистов в этой области, следуют ли они собственным рекомендациям.

Ответить
Развернуть ветку
Yuriy Katser
Автор

к слову вот лекции от ODS https://github.com/Yorko/mlcourse.ai

Надо разделять все-таки 2 части поста про книги и про курсы:
- часть про книги - не считаю, что все надо прочитать, но если надо подтянуть или разобраться в какой-то подобласти, то можно брать книжки из списка
- часть про курсы, материалы и тд - стоит прочитать и посмотреть все, если нет какой-то хорошей базы, например, из института или хороших платных курсов (ФКН ВШЭ, физтех и др.)
Вообще я согласен, что надо сосредоточится на практике как можно раньше (как только получается что-то делать) и учиться по типу learning by doing. А знать, что "под капотом" у алгоритмов и методов, нужно далеко не всегда, зависит от специфики работы и задач. Вот теорвер, матстат действительно часто нужны в работе, например, для анализа данных, для анализа результатов алгоритмов, для дизайна экспериментов и тд.

ПС курсы и материалы из тех, что рекомендую смотрел все, но не все очень внимательно, обычно беру из курса то, что нужно. Книги читал не все, но непрочитанные лежат в списке to read и ждут своей очереди)

Ответить
Развернуть ветку
Роман Величкин

Спасибо, приму во внимание!

Ответить
Развернуть ветку
under construction

учить надо мат.ан и статистику.
та часть, что про программирование осваивается быстро.

Ответить
Развернуть ветку
Kirill Mokevnin

Питон можно еще учить вот так: https://ru.code-basics.com/languages/python с тренажером в браузере

Ответить
Развернуть ветку
Yuriy Katser
Автор

действительно подзабыл про тренажеры и решение задачек, вот 2 известных сервиса, которыми пользовался сам:
- для программирования - https://leetcode.com
- для анализа данных - https://www.stratascratch.com

Ответить
Развернуть ветку
Ildarik

Спасибо за подборку!

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку
7 комментариев
Раскрывать всегда