На этот раз в рубрике "Книжный клуб" говорим о книгах по машинному обучению.
Машинное обучение (ML) – это такой класс методов, когда алгоритм учат думать и действовать как человек, на основе полученного опыта. То есть, специалист "кормит" машину примерами человеческого поведения: передает машине данные и объясняет, что хочет получить на выходе. Задача машины в этом случае – найти решение самостоятельно. Компьютер запоминает этот опыт, накапливает его и, таким образом, обучается действовать и "принимать решения" в разных ситуациях, почти как живой специалист.
Например, в Инфостарт мы используем ML / DL для анализа входящих обращений пользователей, обработки различных видов заказов и прогнозирования спроса.
Дата-аналитик в Инфостарт и автор собственной книги об ML для начинающих Елена Капаца составила личный топ книг, которые помогут погрузиться в тему.
Себастьян Рашка: Python и Машинное обучение
Эта книга предлагает практический метод изучения машинного обучения с помощью языка программирования Python. В книге приведены примеры кода и методологии, которые могут помочь вам научиться выбирать и использовать подходящие алгоритмы машинного обучения.
Допустим, перед вами встала задача выбрать ушедших без покупки пользователей, чтобы их потом “дожали” продающие отделы. Абы кого выделять бесполезно, стоит найти похожих на покупателей людей. Для такой задачи под названием Uplift Modeling вы быстро выберете кандидатов на уже “обкатанном” перечне решений – XGBoost, kNN и проч.
Орельен Жерон: Прикладное машинное обучение с помощью Scikit-Learn, Keras и TensorFlow
Книга содержит стратегии для создания и оценки моделей машинного обучения, используя библиотеки Scikit-Learn, TensorFlow и Keras.
Орельен Жерон не только описывает теоретические концепции, но и предоставляет практические примеры и код в Python, используя библиотеки Scikit-Learn, Keras и TensorFlow. Также автор показывает, как подобрать параметры модели и использовать функции для оценки ее эффективности.
Андрей Бурков: Машинное обучение без лишних слов
В книге описаны основные алгоритмы машинного обучения, сопровождаемые кодом на Python. Очень важно, чтобы читатель, всерьез взявшийся осваивать дисциплину, сразу мог “пощупать” код, даже запустить его. Так вы расстанетесь с чувством страха при освоении непростой темы и, возможно, даже немного научитесь дебажить код, ведь с момента написания книги прошло время, и инструменты обновились.
В первой главе есть забавный философский раздел, которого не найти в других книгах – “Когда следует использовать Машинное обучение”. Наверное, из-за таких выводов на ML сегодня принято “сваливать” все, что другими средствами не решилось:
- Когда задача слишком сложна для кодирования
- Когда задача постоянно меняется
- Когда речь идет о задаче восприятия
- Когда это неизученное явление
- Когда задача имеет простую целевую функцию
- Когда это экономически выгодно
Бенджио Иошуа, Гудфеллоу Ян, Курвилль Аарон: Глубокое обучение
Эта книга описывает глубокое обучение и охватывает теорию, алгоритмы и приложения. Книга разработана для тех, кто уже имеет некоторый опыт в машинном обучении и хочет расширить свои знания.
В книге представлены основы линейной алгебры, теории вероятности и теории информации, а также основы численных расчетов и машинного обучения, которые необходимы для полного понимания материала. При этом в книге содержится описание различных методов глубокого обучения, применяемых на практике, включая глубокие сети прямого распространения, алгоритмы оптимизации, сверточные сети, а также моделирование последовательностей. Помимо этого, книга охватывает множество областей применения глубокого обучения, таких как обработка естественных языков, распознавание речи, компьютерное зрение, онлайновые рекомендательные системы, биоинформатика и видеоигры.
Ричард Саттон, Эндрю Барто: Обучение с подкреплением
Это учебник, посвященный глубокому обучению, в котором исследуется, как модель выбирает действия на основе наград и штрафов. Эта книга обязательна для любого, кто прошел стадию новичка и готов принять в свою жизнь целый зверинец новых понятий – метод Монте-Карло, многорукие бандиты, SARSA и т.д..
Книга не даст заскучать: она состоит из 500+ страниц, насыщенных математическими формулами, кодом и непростыми иллюстрациями. Новичкам не подходит.
Эндрю Траск: Грокаем глубокое обучение
Книга представляет собой метод изучения глубокого обучения, основываясь на интуиции, в которой повествование и примеры основаны на аналогиях и образах, что делает книгу доступной для новичков.
К примеру, в задаче распознавания рукописных цифр Траск виртуозно, буквально за одну картинку знакомит читателя с понятиями “прогнозы” (выходные значения): модель, “наевшаяся” учебных изображений цифр с пометками, относит следующую, неразмеченную к девяткам с вероятностью 98%.
Джейк Вандер Плас: Python для сложных задач: наука о данных и машинное обучение
Книга описывает инструменты, необходимые для выполнения практических задач в науке о данных в Python. Входит в список “Бестселлеры o’Reilly” – ту самую “звериную” подборку книг по самым разнообразным технологиям, среди которых, кстати, найдется еще несколько интересных изданий про Машинное / Глубокое обучение.
Особенный интерес для меня представил подробнейший раздел про визуализацию с помощью инструмента Matplotlib. Казалось бы, через нее проходит 99% новичков в ML, и сказать что-то новое трудно, но нет. Больше 100 страниц Вандер Плас посвящает самым тонким нюансам dataviz (визуализации данных). Вот яркий пример “закрытого гештальта” для меня – визуализация графиков разного размера на одном прямоугольном “полотне”:
Андреас Мюллер, Сара Гвидо: Введение в машинное обучение с помощью Python. Руководство для специалистов по работе с данными
Книга предлагает простой и практичный подход к изучению машинного обучения. Она содержит множество примеров и задач в области предсказательного моделирования и классификации, используя библиотеки Scikit-Learn и Pandas.
Редакция добавила к этому списку и книгу Елены “Машинное обучение доступным языком”. Это краткий гайд для новичков по машинному и глубокому обучению с разбором кода. В книге вы найдете необходимый минимум по предмету: Елена описала его понятным языком, так что книга подойдет даже школьникам. А некоторые разделы в книге написаны с помощью chatGPT.
Книга включает море практических примеров: читатель сможет освоить базовый инструментарий подготовки данных, их загрузку в модель и ее донастройки. Подходит разработчикам, аналитикам и студентам технических специальностей.
Внимание, конкурс
Делитесь в комментариях собственными отзывами или опытом по использованию ML в решении рабочих задач. Автору лучшего комментария подарим книгу "Машинное обучение доступным языком”.