Книги о машинном обучении для новичков

Posted by

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

«Python. Большая книга примеров» Антона Марченко

!

Гайд от преподавателя МГУ, в котором есть часть основ для подготовки к собеседованию на позицию Junior Python Developer. Книга знакомит с основной терминологией языка на доступных примерах. В ней много иллюстраций и примеров. А код будет понятен новичкам.

Вот роскошно раскомментированный пример создания анимированной диаграммы на Matplotlib:

Если честно, не ожидала от Matplotlib возможности анимироваться!

Если посмотреть требования к Junior Python Developer в вакансии, то окажется, что книга хорошо знакомит со следующими компетенциями:

Алгоритмы и анализ сложности;
— Архитектура вычислительных систем;
— Компьютерные сети;
Математическая логика и теория алгоритмов;
Математический анализ;
— Методы реализации СУБД;
Моделирование информационных процессов;
— Операционные системы;
Основы программирования;
— Программная инженерия;
— Тестирование программного обеспечения;
— Технологии Интернет и веб-программирования

Кафедра автора Антона Леонардовича — сейсмология, так что опытным разработчикам материал тоже может быть интересен — как взгляд необычного для сферы профессионала.

«Python и Машинное обучение» Себастьяна Рашка

!

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

!

Авторы освещают базис нейронных сетей (перцептроны, веса, оптимизация), и знакомят со «швейцарским ножом» ML-библиотекой scikit-learn. В следующих главах уже решаются классические проблемы Data Science: понижение размерности, подбор гиперпараметров и проч.

Подсказка: Особый интерес, на мой взгляд, представляет глава про встраивание модели в веб-приложение. Ведь когда-нибудь модель должна выйти в мир!

Книга стала бестселлером в США, недавно вышло третье издание. В продолжение темы Рашка предлагает «сиквел» — «Машинное обучение с PyTorch и Scikit-learn».

!

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

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

!

«Машинное обучение без лишних слов» Андрея Буркова

!

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

Подсказка: С “Машинным обучением без лишних слов” вы вспомните операции над матрицами и производные с минимальным количеством боли.

Прилагать многоэтажный сниппет не буду, но покажу, какие концепции автор решил раскрыть: здесь и градиентный спуск (Gradient Descent), и ядерный трюк (Kernel Trick), и недо-/переобучение (Under/Overfitting):

!

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

!

Книга известна за рубежом, ведь Андрей Бурков релоцировался в Канаду и работает в Gartner. Кроме того, у неё есть сайт (themlbook.com) с кучей положительных отзывов и рекомендациями профессионалов.

Из любопытного: в первой главе представлен интересный философский раздел, который не встретить в других учебниках — «Когда следует применять Машинное обучение»:

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

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

В завершение хочу похвастаться своей книгой, тем более что она бесплатная.

«Машинное обучение доступным языком» Елены Капаца

!

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

Главы — это последовательный рассказ о том, как подготовить данные клиентов банка и загрузить их в модель и понять, кого стоит «дожимать» средствами маркетинга, а кого нет.

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

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

!

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

Вы можете бесплатно скачать материал на Литрес (ссылка).

Заключение

Книги — хороший способ дополнить образование. Но практика всё равно остаётся в приоритете. В случае с наукой о данных, когда необходимый объём знаний изначально большой и постоянно обновляется, печатными изданиями хочется скорее развлекаться время от времени.

Но всё же магия «толстого и умного справочника», стоящего на полке в силе: всегда приятно осознавать, какую сложную вещь можешь осилить.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *