Это случилось: в русском переводе вышла самая объемная из когда-либо издававшихся книг по машинному и глубокому обучению. "Machine Learning with PyTorch and Scikit-Learn" Себастьяна Рашки и его соавторов — это огромное, почти на 800 страниц, руководство по практическому применению Python в сфере Data Science. Книга изначально планировалась как 4-е издание "Python Machine Learning", но из-за множества изменений авторы решили выпустить его под новым названием. Ввиду достаточно высокой цены книги, вам пригодится наш промокод SSPSOFT для покупки со скидкой 25% на сайте издательства БХВ.

***

Напомним, недавно мы делали рецензию на еще одну новую книгу по Machine Learning. «Обработка данных на Python. Data Wrangling и Data Quality» — также переводное издание, в котором много внимания уделяется оценке качества данных. Поэтому может служить хорошим дополнением к той книге, что рассматриваем сегодня.

Для кого эта книга и как ее рекомендуется использовать

Начнем с того, что авторы позиционируют книгу, как «большое универсальное пособие», которое подойдет как начинающим дата-сайентистам, включая слушателей ИТ-курсов, так и опытным экспертам в ML и DL (Machine Learning & Deep Learning). Считается, что первые найдут в ней фундаментальные концепции и пошаговые инструкции, а вторые станут использовать книгу как справочник, куда будут периодически заглядывать в поиске ответов по теории и инструментарию ML и DL, а также другим концепциям анализа и обработки данных, которые ими еще недостаточно освоены.

Чтобы купить книгу «Машинное обучение с PyTorch и Scikit-Learn» и любую другую компьютерную литературу со скидкой 25% на сайте издательства БХВ, введите промокод SSPSOFT как подарок от нашего блога для читателей Хабра. 

На первый взгляд, такое «универсальное» позиционирование выглядит как маркетинговый посыл, чтобы книгу больше покупали. Ведь главный вопрос читателей — как рационально осилить почти 800 страниц, не бросив эту затею и не сойдя с дистанции? Покопавшись в интернете, мы нашли на Амазон полезный совет от читателя Richard Hackathorn по использованию знаний из книги, и этот совет нам кажется довольно толковым и рациональным. Поэтому о нем и расскажем.
Итак, действительно существует как минимум два способа использования этой книги:

Для экспертов в области ML и DL

Для экспертов в области машинного обучения — это справочник, который стоит иметь в своей библиотеке, чтобы углубиться в интересующие вас или ранее не изученные разделы.Как справочник, эта книга также подходит, если вы ориентированы на TensorFlow, но хотите расширить свои знания, освоив передовые модели и инструменты, закодированные в PyTorch. Концепции, обсуждаемые в книге, подкреплены примерами кода и имеют ссылки на источники.

Для новичков в области машинного обучения

Для новичков в машинном обучении — это учебник для пошагового разбора и практики, а не просто чтения. Отведите на его изучение значительный период времени, пусть это будет даже 1 год. Если вы знаете, что машинное обучение — это ключевой навык для вашей дальнейшей ИТ-карьеры, рассматривайте этот учебник как часть вашей ежедневной учебной практики (по 10-30 минут в день).

Можно посоветовать новичкам следующее: сначала клонируйте репозиторий GitHub, настройте свою Python-среду и изучайте раздел за разделом. Если что непонятно, то смотрите и смежные темы, и постоянно экспериментируйте с кодом. Делайте это максимально методично как часть своей ежедневной учебной практики, и не бойтесь переходить к следующим главам, чтобы подготовиться к очередному самостоятельному занятию. В книге достаточно полезного материала для целого года работы.

Структура книги: вначале ML, затем DL

Источник: блог автора https://sebastianraschka.com/blog/2022/ml-pytorch-book.html
Источник: блог автора
https://sebastianraschka.com/blog/2022/ml-pytorch-book.html

Книга «Машинное обучение с PyTorch и Scikit‑Learn» разделена на две основные части:

1. Традиционное машинное обучение (главы 1-11):

   - Первые одиннадцать глав книги посвящены обучению с использованием библиотеки Scikit-Learn, одной из самых популярных библиотек для машинного обучения. Эти главы охватывают темы предварительной обработки данных, оценки модели и настройки гиперпараметров. Рассматриваются основные алгоритмы машинного обучения, такие как линейная регрессия, логистическая регрессия, деревья решений, методы ансамблей и кластеризация.

   - Даны практические примеры с примерами кода и упражнениями, что позволяет читателям применять теорию на практике.

2. Глубокое обучение (главы 12-18):

   - Работа с PyTorch, начиная с главы 12. Здесь фокус смещается на PyTorch, популярную библиотеку для глубокого обучения. В этой части рассматриваются такие темы, как классификация изображений, генерация текста, работа с графовыми данными и обучение с подкреплением. Книга также включает разделы по использованию PyTorch Lightning, что упрощает многие сложные аспекты глубокого обучения, включая обучение на нескольких GPU.

   - Современные архитектуры трансформеров для обработки естественного языка (NLP). Описаны архитектуры GPT и BERT, их применение и настройка для различных задач NLP. “Что такое трансформеры”, объясняется от базовых принципов до практического применения.

   - Графовые нейронные сети в виде отдельной главы. Она посвящена графовым нейронным сетям, что является относительно новым направлением в глубоком обучении. Рассматриваются методы работы с данными, структурированными в виде графов, и приводятся примеры использования графовых нейронных сетей для прогнозирования молекулярных свойств.

Чем отличается новое издание от серии книг “Python Machine Learning”?

Первое отличие — переход от TensorFlow к PyTorch. PyTorch концептуально и практически более удобен для обучения. С PyTorch, по мнению авторов, можно достичь большей квалификации себя как эксперта и с меньшими усилиями, а также можно при необходимости адаптировать свои наработки к TensorFlow. Кроме того, большинство передовых исследований в области ML/AI/DL сейчас проводится с использованием PyTorch. Полезно читать свежие статьи на arXiv, клонировать их репозитории, запускать Colab-уроки и повторять эксперименты, попутно осваивая множество новых трюков и советов по кодированию.

Второе отличие — внимание к практике отслеживания и настройки моделей. Это часто упускается в других учебниках и курсах по машинному обучению. По мере того, как читатели переходят от простых демонстрационных примеров к реальным задачам, они понимают, что настоящая работа заключается в практических упражнениях, чтобы понять, как архитектура модели и гиперпараметры влияют на набор данных. В книге хорошо освещены такие темы, как пайплайны scikit-learn, сеточный поиск и оценка производительности моделей.

Третье отличие — быстрое развитие практики ML/AI/DL. Каждую неделю появляются новые пакеты и сервисы, которые могут существенно облегчить выполнение текущих  задач, над которыми работают дата-сайентисты. Это издание включает такие современные новшества, как трансформеры, самообучение, автоэнкодеры и GAN, графовые нейронные сети, DBSCAN, t-SNE (с кратким упоминанием UMAP) и PyTorch-Lightning.

Плюсы и минусы книги

Еще раз вернемся к отзывам на Амазон и воспользуемся комментарием опытных пользователей на тему плюсов и минусов книги. Вот что пишет читиатель Gabe Rigall:

Плюсы: 

1. Полнота содержания: Книга охватывает как традиционные методы машинного обучения, так и современные подходы к глубокому обучению. Включены темы, которые редко освещаются в подобных изданиях, такие как графовые нейронные сети и обучение с подкреплением.

2. Практическая направленность: Книга изобилует примерами кода и проектами, что позволяет читателям применять теорию на практике. Практические упражнения способствуют лучшему усвоению материала.

3. Современные инструменты: Переход с TensorFlow на PyTorch делает книгу актуальной и соответствующей текущим тенденциям в области глубокого обучения. PyTorch широко используется в исследовательских проектах и промышленных приложениях, что делает книгу полезной для широкой аудитории.

4. Поддержка и ресурсы: Книга включает ссылки на дополнительные материалы и репозиторий GitHub, что облегчает доступ к коду и примерам. Это особенно полезно для самостоятельного обучения и углубленного изучения.

Минусы:

1. Объем: Книга содержит почти 800 страниц, что может показаться чрезмерным для новичков. Тем не менее, объем объясняется глубиной и подробностью изложения материала.

2. Сложность для начинающих дата-сайентистов: Некоторые читатели без предварительных знаний в области машинного обучения могут найти сложные темы, такие как трансформеры и графовые нейронные сети, очень трудными для усвоения. Однако, авторы постарались сделать объяснения как можно более доступными.

Заключение

"Машинное обучение с PyTorch и Scikit-Learn" — это исчерпывающее и актуальное руководство по машинному и глубокому обучению. Книга представляет собой один из самых полных и полезных ресурсов для разработчиков и исследователей, предлагая теорию и практику с использованием современных инструментов. Она включает как традиционные методы машинного обучения, так и современные подходы к глубокому обучению, охватывая широкий спектр тем и предоставляя множество примеров и практических упражнений.

Авторы смогли детально рассмотреть архитектуры моделей, сопровождая их хорошо объясняющими кодами и иллюстрациями. Читатели смогут интуитивно понять концепции внимания и самовнимания, что сделает эту важную архитектуру для NLP более ясной. В книге также используются предварительно обученные модели из библиотеки HuggingFace, что помогает получить практический опыт работы с большими наборами данных. Цитируются многочисленные внешние ресурсы, что вызывает интерес к более глубокому изучению темы ML и DL. В целом, книга не пугает, даже если вы никогда не работали с PyTorch.

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

Добавим каплю рекламы от нашего блога: компания SSP SOFT приглашает на позиции инженеров QA и DevOps, системного аналитика, разработчиков на Java, JS, React и Python, 1С — см. страницу на hh.ru. Если вашей специальности нет в текущих вакансиях, все равно присылайте резюме, т.к. новые позиции в командах открываются еженедельно (пишите в Telegram или на почту job@ssp-soft.com ).

Успехов в обработке и анализе данных!

Комментарии (7)


  1. Plesser
    24.07.2024 11:49
    +1

    Очень жалко, что издательство не продает эту книгу в электронном виде.


    1. SSP_blog Автор
      24.07.2024 11:49
      +1

      Можно купить е-book на Амазон в оригинале. Русский перевод видимо будет месяца через 3. У нас есть практика у издательств, что не ставят сразу электронный вариант в продажу, т.к. пираты скопируют и разместят на сайтах-складчинах.


      1. Plesser
        24.07.2024 11:49

        Пираты и так разместят их на рутрекере и иже. На bhv раньше выкладывали в электронном виде через год, в отличие от того же ДМК, который изначально предполагает продажу и в бумажном и в электронном виде, или Питера который через пару недель предоставляет доступ к электронной версии книги.


  1. firehacker
    24.07.2024 11:49

    Саентисты? Нет!

    Сайнтисты? Нет!

    Сайентисты. Назовите хоть одну причину, почему в языке укореняют такой уродливый спеллинг слова scientist?


    1. Bagatur
      24.07.2024 11:49
      +2

      Называйте их сайентологами. Дэйта сайентологами. Потому как нередко эта деятельность напоминает сектантство. Особенно с точки зрения ИБ.


    1. slav1k
      24.07.2024 11:49

      Дата-сатанисты же.)


    1. Wladislavich
      24.07.2024 11:49

      Идите дальше. Зачем это уродливое слово: сайентист? А дата? У нас что, нет прекрасного русского слова: данные

      Учёные данных после 2 месяцев анализа на 800 B200 и подтверждения на A/B тестировании в срециально построенной сети магазинов "Пиво у Михалыча" подтвердили, что люди гораздо чаще покупают сушеную рыбу вместе с пивом.

      Это все ирония, если что. Сайентист наиболее близко звучит к оригиналу.