От линейной алгебры к глубокому обучению за 7 книг (обновление на зиму 2023 года)

Освоение глубокого обучения через 7 книг от базовых навыков линейной алгебры к актуальным трендам (обновление на зиму 2023 года)

Семь моих любимых книг по машинному обучению

Фото Лауры Капфер на Unsplash

В своей первой статье для Towards Data Science в 2019 году я рассказал о пяти моих любимых книгах по машинному обучению, которые охватывают все аспекты от основ линейной алгебры до современного глубокого обучения.

Это были:

  • Линейная алгебра сделана правильно Шелдоном Акслером
  • Математическая статистика и анализ данных Джоном Райсом
  • Элементы статистического обучения Тревором Хасти и др.
  • Нейронные сети и глубокое обучение Майклом Нильсеном
  • Глубокое обучение Ианом Гудфеллоу и др.

Линейная алгебра для глубокого обучения в 5 книгах

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

towardsdatascience.com

Каждая из этих пяти книг я считаю по-настоящему замечательными по своим причинам. Например, “Элементы статистического обучения” заинтересовал меня впервые в области науки о данных, когда я был студентом-бакалавром. Фактически, все пять книг помогли мне так многому в течение многих лет, и я бы не был там, где я сейчас, без них.

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

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

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

Вот мы и начинаем…

Введение в статистическое обучение Тревором Хасти и др.

В своей первоначальной статье я упомянул книгу “Элементы статистического обучения”, которая считается классикой и одной из самых влиятельных и замечательных книг по машинному обучению, когда-либо написанных.

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

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

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

Что я узнал из книги: Большая часть моей интуиции в области машинного обучения исходит из чтения “Элементов статистического обучения” и “Введения в статистическое обучение”. Просто нет другой книги, которая так хорошо иллюстрирует эти концепции. Это особенно верно для многих более сложных концепций, таких как кросс-валидация и методы опорных векторов, которые могут быть сложными для понимания сначала.

Советы по чтению книги: Если вы новичок в области науки о данных, начните читать ее сначала до конца. Главы строятся на основе друг друга, поэтому важно освоить хотя бы основы из каждой главы, прежде чем переходить к следующей. Если вы хотите вызвать вызов, вы можете читать “Введение в статистическое обучение” параллельно с соответствующими главами “Элементов статистического обучения”. Это мгновенно перенесет вас от простого понимания темы к уровню эксперта.

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

Что нового в самой последней версии: Обновленное второе издание книги было выпущено в прошлом году и содержит совершенно новые главы, которых не было в предыдущей версии. Это в основном продвинутые темы, такие как глубинное обучение, выживаемость и множественное тестирование.

Кроме того, в этом году была выпущена еще одна версия книги, на этот раз на официальном языке Python, в то время как оригинал как уже упоминалось, основан на R.

Введение в статистическое обучение

По мере увеличения масштаба и объема сбора данных почти во всех областях, статистическое обучение…

www.statlearning.com

R для науки о данных от Хэдли Уикхэма и др.

Говоря о R, R для науки о данных – еще одна ценная книга с открытым исходным кодом. Вы можете изучить “весь процесс” науки о данных – от приема данных до очистки данных, от обучения моделей до передачи результатов.

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

Книга также знакомит и сильно полагается на tidyverse, который является красиво разработанной коллекцией библиотек R для работы с данными. Так что это также отличное (возможно, лучшее?) руководство, если вы переходите с Python и хотите узнать, как делать вещи в R.

Что я узнал из этой книги: Эта книга доказывает, что R – удивительный язык для работы с данными, и особенно для его изучения. Это очень практическое, практическое руководство, из которого я узнал о способе работы с данными tidyverse. Оно особенно сосредоточено на обработке данных, чего часто не хватает в других книгах (например, в ISLR). До сих пор я полагаюсь на знания о обработке данных, полученные из этой книги.

Как читать книгу: Вы можете читать ее от начала до конца и узнать удивительное количество новых знаний и техник. Если вы новичок в науке о данных, я определенно рекомендую это. Однако это не была моя первая книга по науке о данных, поэтому я делал несколько иначе. Вместо этого я читал главы в том порядке, который мне хотелось. Если у вас уже есть некоторый опыт работы с наукой о данных (например, потому что вы знаете Python), вы можете поступить так же – просто выберите тему, которую вы хотите узнать больше и углубите свои знания, прочитав соответствующую главу. Каждая секция достаточно самодостаточна, чтобы вы могли сделать это легко.

Что нового в новой версии: Второе издание книги вышло в этом году и идет с обновлением всех примеров кода. Tidyverse развивался стремительно в последние годы, поэтому это потребовало обновления книги.

R для науки о данных (2-ое издание)

Это веб-сайт для работы над “R for Data Science” – 2-й версией. Эта книга научит вас тому, как…

r4ds.hadley.nz

(На основе (ссылка) второго издания книги, которое должно быть завершено к настоящему моменту, но вы можете найти первое оригинальное издание здесь.)

Математика для машинного обучения Марк Питер Дайзенрот и др.

Если вы ищете исчерпывающую книгу для изучения всей математики, необходимой для освоения машинного обучения, “Математика для машинного обучения” – отличный вариант.

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

Именно это и послужило мотивацией для написания этой книги – объединить всю математику, часто требуемую для машинного обучения, в одной книге.

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

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

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

mml-book.github.io

Книга о машинном обучении на ста страницах от Андрея Буркова

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

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

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

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

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

Книга о машинном обучении на ста страницах от Андрея Буркова

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

themlbook.com

Machine Learning: A Probabilistic Perspective от Кевина Мерфи

Это одна из современных книг по машинному обучению. Machine Learning: A Probabilistic Perspective принимает байесовский (то есть вероятностный) подход к машинному обучению, при этом сравнивая его с классическим частотным подходом.

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

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

Что я узнал из этой книги: В университете я проходил курс по байесовскому машинному обучению, и эту книгу рекомендовали для чтения. Например, я узнал о байесовской версии линейной и логистической регрессии. В книге также есть отличная глава об алгоритме Expectation-Maximization. До сих пор я возвращаюсь к этой книге, когда мне нужно понять метод с вероятностной точки зрения.

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

Машинное обучение

Победитель премии ДеГрут 2013 года, присужденной Международным обществом байесовского анализа, 1104 стр., 8 x 9 дюймов, 300 цветных иллюстраций…

mitpress.mit.edu

Что нового в новых версиях книги: Автор Кевин Мерфи работает над двумя дополнительными книгами по МО. Первая из них — Вероятностное машинное обучение: Введение, которая фокусируется на глубоком обучении, и более продвинутая версия под названием Вероятностное машинное обучение: Расширенные темы.

Глубокое обучение с использованием Python Франсуа Шолле

Книга “Глубокое обучение с использованием Python” – фантастическая книга, если вы хотите понять (а не просто выучить) нейронные сети и как их реализовывать с использованием Python.

Она написана Франсуа Шоллем, создателем Keras, фреймворка глубокого обучения, основанного на TensorFlow. Шолле является выдающимся автором, это не только мои слова. Он на превосходном уровне объясняет механику различных концепций глубокого обучения и то, как они сочетаются для создания основы области, которая в настоящее время покоряет мир (подумайте о ChatGPT).

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

Как читать книгу: Если вы только начинаете изучать глубокое обучение, то лучше прочитать ее от начала до конца, потому что Франсуа великолепный автор, который прекрасно иллюстрирует мотивацию всех концепций. Если у вас уже есть некоторый опыт в глубоком обучении, вы также можете выбрать главу, чтобы улучшить ваше понимание определенной темы.

Что нового во втором издании: Второе издание книги вышло в начале этого года. Глубокое обучение развивается экстремально быстро, поэтому книга требовала некоторого обновления. Она также включает новые главы и темы. Например, в ней содержится новый контент, посвященный последним достижениям в языковых моделях и генерации текста. Кроме того, Keras изменился со временем, поэтому книга также должна была приспособиться к этим изменениям.

Глубокое обучение с использованием Python, второе издание

Электронная копия предыдущего издания этой книги включена без дополнительной платы. Она будет автоматически добавлена в…

www.manning.com

(Также есть очень похожая книга под названием Глубокое обучение с использованием PyTorch, которая включает в себя множество одинакового контента, но с уклоном в PyTorch, а не TensorFlow/Keras.)

Обучение с подкреплением: Введение Ричард Саттон и Эндрю Барто

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

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

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

Что я узнал из этой книги: Очень много. Это также была книга для одного из моих университетских курсов. Фактически, я выполнил свой курсовой проект по алгоритмам Монте-Карло и мою магистерскую диссертацию по Контекстуальным бандитам. Оба метода очень хорошо объяснены в этой книге. Они являются невероятно интересными и мощными методами ДУ.

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

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

Обучение с подкреплением: Введение | Издательство Массачусетского технологического института (MIT) | Библиотека электронных книг IEEE Xplore

Обучение с подкреплением, одна из наиболее активных областей исследований в искусственном интеллекте, является вычислительным подходом…

ieeexplore.ieee.org

Краткое изложение

Эти семь книг, наряду с пятью из моего первоначального блога, являются некоторыми из лучших в этой области, которые вы можете найти. Я уверенно могу сказать это, поскольку я провел (и все еще провожу) много времени на составлении своей (виртуальной) книжной полки. Лучшая часть? Большинство из них доступны онлайн бесплатно.

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

Если у меня есть последний совет — я всегда был поклонником использования нескольких источников для изучения одного и того же понятия. Разные книги (или курсы, видео и учебные пособия) предлагают немного разный подход к преподаванию темы. Это похоже на наличие нескольких учителей, один всегда заставляет все встать на свои места, и, когда это происходит, вы также понимаете, что говорили другие. Я считаю, что это позволяет глубоко понять предмет.

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

Если у вас есть мысли или вопросы, не стесняйтесь обращаться ко мне в комментариях или на LinkedIn.