DOU Books: 5 книг по машинному обучению, которые советует Артем Чернодуб, Chief Scientist в Clikque Technology
От редакции: в рубрике DOU Books участники сообщества рассказывают о пяти любимых книгах — тех, которые меняют мировоззрение и могут быть полезны читателям-коллегам.
[Артем Чернодуб, Chief Scientist в Clikque Technology. Более 10 лет опыта работы с алгоритмами машинного обучения, распознавания изображений и нейронных сетей. Кандидат технических наук, преподаватель в Украинском католическом университете, член программного комитета нескольких научных конференций IEEE]
— Слушай, а ты, вообще, понимаешь, что делаешь?
— У меня очень точные данные по анатомии человека.
— Ну конечно. Это же помогает тебе эффективнее нас убивать, да?
— Именно так!
© к/ф «Терминатор 2», сцена с зашиванием Т-800 раны Сары Коннор
Машины, как известно, наступают, а врага нужно знать в лицо. И хотя сейчас, чтобы убить робота, достаточно команды kill в консоли, кто знает, что будет завтра? На всякий случай вооружимся знаниями в машинном обучении. Поехали!
Ian Goodfellow, Yoshua Bengio, Aaron Courville «Deep Learning»
Самая свежая и одновременно самая полная книга по нейронным сетям, лидирующей технологии машинного обучения, хайп на которую пока сохраняется. Книга доступна бесплатно онлайн, есть оперативный перевод на русский и китайский языки.
Эта книга хорошо подойдет для любого уровня подготовки. Пробовали ли вы запускать нейронные сети, читали научные статьи или блоги на эту тему и хотите углубить и систематизировать свои знания, или же у вас уже есть своя публикация на NIPS, у вас должна быть эта книга! Она хорошо структурирована, содержит приличное количество математики (хотя, конечно, чем более свежие подходы приводятся, тем меньше становится формул и больше текста) и ссылки на оригинальные статьи. Также книга хороша в роли справочника и источника для цитирования вместо книги С. Хайкина «Нейронные сети: полный курс» (2006), сейчас уже устаревшей. Это must-have книга для каждого, кто работает с нейронными сетями. Как минимум, чтобы класть ее на ночь под подушку, чтобы знания сами впитывались во время сна, поскольку последовательно прочитать более 1000 страниц, конечно, никаких сил и времени нет.
Christopher Bishop «Pattern Recognition and Machine Learning»
На мой взгляд, лучшая книга по машинному обучению всех времен и народов. Байес наше все! Дает фундаментальные объяснения принципов работы методов машинного обучения с точки зрения теории вероятностей. Несмотря на уже немаленький возраст, все еще более чем актуальна. Книга очень цельная и самосогласованная: различные области и методы «переварились» в голове Кристофера Бишопа и вылились в связную математическую теорию, объясняющую различные аспекты машинного обучения строго, в единой терминологии и компактно. Рекомендуется всем, кто устал от эвристик в машинном обучении и хочет понять всю красоту и мощь математики в этой области.
Более свежий конкурирующий аналог — Kevin P. Murphy «Machine Learning: A Probabilistic Perspective», 2012.
Луис Педро Коэльо, Вилли Ричард «Построение систем машинного обучения на языке Python»
Очень практическая книга, написанная специально для новичков. В отличие от двух предыдущих трактатов, математики она почти не содержит. Зато есть быстрое введение в популярные python-библиотеки для машинного обучения и визуализации (numpy/scikit-learn/matplotlib), дается базовая культура работы с данными и интересные задачки-примеры, сделанные на коленке from scratch. А ведь все знают, что нет лучше способа понять, как работает сложная система, чем собрать ее самому на коленке from scratch! Среди примеров для воспроизведения есть: рекомендательная система для онлайн магазина, анализ эмоциональной окраски твитов, классификация музыкальных жанров по аудио, классификация музыкальных изображений и даже есть пример с обсчетом больших данных на AWS. Хотя эта книга немного сыровата и содержит небольшие ошибки, достоинств у нее явно больше, чем недостатков. Рекомендована девелоперам, которые хотят заняться машинным обучением. Достойная альтернатива на ту же тему — Stephen Marsland «Machine Learning: An Algorithmic Perspective, Second Edition», 2014.
arXiv.org
Позволю себе читинг, приведя вместо книги сайт-библиотеку научных статей arXiv.org (произносится как «архив»). Здесь публикуются препринты научных статей с самыми свежими результатами, часто даже перед их публикацией на конференциях или в научных журналах. Я встречал девелоперов, интересующихся AI/ML, которые без проблем читают длинные мануалы на английском и разбирают сложный чужой код, но почему-то стесняются читать научные статьи в оригинале. Напрасно! Во-первых, читать научные статьи (или «пейперы», прилипло к ним такое словечко!) это просто: хорошие научные статьи написаны по принципу «мыльной оперы», когда сценарий изложения материала очень стандартный: обзор существующих решений, мотивация своего решения и его описание, эксперимент и анализ его результатов. Если потренироваться, то читать их на самом деле легче, чем статьи на Хабре или популярные блоги в силу лучшей структурированности. Во-вторых, сейчас к научным статьям в области машинного обучения принято прилагать код на GitHub, который можно попробовать у себя, на своих примерах и для своих задач. Пробуйте! Если вы хотите быть в курсе самых последних новостей в мире машинного обучения, лучше arXiv.org ничего не бывает.
Владимир Лобас «Желтые короли. Записки нью-йоркского таксиста»
Если машины все-таки победят, нам всем придется переквалифицироваться в таксисты. И тут нам на помощь придет очень интересный опыт советского диссидента и киевлянина Владимира Лобаса, который в семидесятых уехал из СССР по еврейской визе и вкусил трудный хлеб нью-йоркского кэбби. Просто классная проза, которая читается на одном дыхании. Рекомендую!