Книги о машинном обучении для новичков
Сделали для новичков в Machine Learning подборку из четырех книг, которые помогут обогатить и упростить ваше обучение.
6К открытий12К показов
Учебная воронка на курсах по машинному обучению жестока: несмотря на лояльность онлайн-университетов, больше половины студентов уходят (так было у меня), потому что не выдерживают нагрузку или теряют интерес. Частично справиться с этим: повторить материал, узнать что-то за рамками программы — помогают книги. Здесь я собрала небольшой список тех, которые погрузят в тему и разрушат популярные мифы.
«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) с кучей положительных отзывов и рекомендациями профессионалов.
Из любопытного: в первой главе представлен интересный философский раздел, который не встретить в других учебниках — «Когда следует применять Машинное обучение»:
- когда задача является слишком сложной для учета всех условий;
- когда условия постоянно меняются;
- когда речь идет о задаче восприятия;
- когда это неизученное явление;
- когда задача имеет простую целевую функцию;
- когда это выгодно.
Это помогает плавно вникнуть в вопрос людям, которые только начали программировать.
В завершение хочу похвастаться своей книгой, тем более что она бесплатная.
«Машинное обучение доступным языком» Елены Капаца
Краткое руководство для новичков в машинном и глубоком обучении. Здесь вы найдете основные концепции и инструменты, примеры кода, подробно разъяснённые.
Главы — это последовательный рассказ о том, как подготовить данные клиентов банка и загрузить их в модель и понять, кого стоит «дожимать» средствами маркетинга, а кого нет.
Практиковаться во время чтения — это прекрасный способ учиться, так что я взяла реальный проект и перенесла его в книгу, перевела с «программистского» на русский. Выбрала банковскую сферу, потому что она всегда была богатой и проектов достаточно, чтобы разжевать самый тонкий нюанс в данных и в коде.
Поясняющих комментариев воистину много, вы сможете наглядно сравнить, как глубокое обучение «обгоняет» классическое машинное по эффективности. Например, в первой части я показываю работу Дерева решений. После предварительного преобразования датасета мы обучаем модель всего за пару строк и получаем исчерпывающий ответ: какого клиента прозванивать, а какого лучше не трогать:
На верхних уровнях видны названия параметров (доходность, длительность звонка и проч.). В целом становится понятно, как выглядит процесс отбора целей рекламной кампании
Вы можете бесплатно скачать материал на Литрес (ссылка).
Заключение
Книги — хороший способ дополнить образование. Но практика всё равно остаётся в приоритете. В случае с наукой о данных, когда необходимый объём знаний изначально большой и постоянно обновляется, печатными изданиями хочется скорее развлекаться время от времени.
Но всё же магия «толстого и умного справочника», стоящего на полке в силе: всегда приятно осознавать, какую сложную вещь можешь осилить.
Если вы любите читать, напишите в комментариях, какие книги по программированию оказали на вас наибольшее влияние и почему.
6К открытий12К показов