Рецензия на книгу “Прикладное машинное обучение и искусственный интеллект для инженеров” Джеффа Просиза
Хорошая новость — все больше книг по машинному и глубокому обучению теперь доступны и в русском переводе. Очередная рецензия будет на книгу «Прикладное машинное обучение и искусственный интеллект для инженеров» (Applied Machine Learning and AI for Engineers) автора Джеффа Просиза от O’Reilly Media, в переводе от БХВ Петербург. В отличие от многих других введений и пособий на эту тему, книга Дж. Просиза избегает упора на излишне сложную математику, делая акцент на практическое применение ML и DL технологий.
Прежде чем перейти к разбору книги «Прикладное машинное обучение и искусственный интеллект для инженеров», напомним про две другие книги-новинки по теме ML/DL вышедшие в 2024 году в издательстве БХВ Петербург. Вот наши рецензии на них:
И, как всегда, на все книги по компьютерным технологиям от издательств «БХВ Петербург» и «Фолиант» доступен промокод SSPSOFT на скидку 25% как подарок читателям Хабра от нашего блога.
Для кого эта книга
Джефф Просиз — инженер по образованию, и при этом ментор и предприниматель по складу характера. Решив написать эту книгу, Джефф поставил своей целью помочь инженерам и разработчикам программного обеспечения освоить методы машинного обучения. Соучредитель компании Wintellect, он написал несколько книг, обучил множество разработчиков в Microsoft и выступал на крупнейших мировых конференциях по программному обеспечению. В настоящее время Джефф Просиз занимает должность директора по обучению в компании Atmosera, где помогает клиентам внедрять искусственный интеллект в свои продукты.
Джефф Просиз из тех людей, кого называют адвокатами бренда, — в данном случае адвоката продуктов Microsoft. Поэтому вы встретите в книге прикладные сервисы Microsoft Azure в области машинного обучения и примеры использования языка С# при построении моделей.
А теперь перейдем к портрету читателя этой книги: «Прикладное машинное обучение и искусственный интеллект для инженеров» ориентирована на инженеров и разработчиков программного обеспечения, работающих в таких отраслевых направлениях как:
Обработка сигналов и изображений — в книге есть примеры использования CNN (Convolutional Neural Networks) для классификации изображений и идентификации лиц.
Задачи обработки естественного языка в виде анализа тональности текста и других применений ML.
Промышленная диагностика на предприятиях — включает обнаружение аномалий в продукции и прогнозирование отказов оборудования.
Направление автоматизации и робототехники, где перспективно применение ML для создания автономных систем и роботов.
Что интересного в главах книги
Как и многие другие книги по анализу данных, «Прикладное машинное обучение и искусственный интеллект для инженеров» разбита на две части, с описанием инструментов машинного обучения (ML) и глубокого обучения (DL).
Русское оглавление книги доступно на сайте издательства БХВ, а английское — на сайте O«REILLY. Далее рассмотрим содержание всех глав в виде конспекта, что даст вам понимание содержания книги и возможность оценить, стоит ли эту книгу приобретать.
Часть 1. Машинное обучение с Scikit-Learnт
Scikit-Learn — это библиотека машинного обучения для языка программирования Python, которая предоставляет множество инструментов для построения и тренировки моделей машинного обучения. В этой книге Scikit-Learn используется для объяснения и реализации основных алгоритмов и методов машинного обучения.
Первые три главы книги представляют комплексное введение в машинное обучение.
В первой главе рассматриваются основные концепции машинного обучения, различие между ML и AI, а также методы supervised и unsupervised learning, что полезно для общей инженерии, анализа данных и разработки программного обеспечения. Вторая глава фокусируется на объяснении моделей регрессии, таких как линейная регрессия, деревья решений, случайные леса и машины опорных векторов, применимых в финансовом моделировании, прогнозировании спроса и оценке стоимости. Третья глава охватывает методы классификации, включая логистическую регрессию и классификацию по множеству классов, что важно для обнаружения мошенничества, медицинской диагностики и классификации текстов и изображений.
Главы 4–7:
они посвящены практическим задачам с использованием ML в инженерной деятельности. Четвертая глава переводит читателя к задаче классификации текста, охватывая подготовку текстовых данных для классификации, анализ тональности, фильтрацию спама и системы рекомендаций, что особенно полезно для маркетинга, службы поддержки и анализа отзывов клиентов. Пятая глава рассматривает т.н. машины опорных векторов (SVM), объясняя принципы их работы, ядра, методы настройки гиперпараметров и нормализацию данных, что находит применение в распознавании лиц, анализе биомедицинских данных и классификации текстов.
В шестой главе обсуждаются основы анализа главных компонент (PCA), включая фильтрацию шума, анонимизацию данных и визуализацию многомерных данных, что важно для обнаружения аномалий, финансового анализа и предварительной обработки данных.
7-я глава сосредоточена на операционализации моделей машинного обучения, описывая их внедрение в производственные системы, контейнеризацию, использование ONNX и ML.NET, что критично для разработки программного обеспечения, DevOps и интеграции машинного обучения в бизнес-приложения.
Часть 2. Глубокое обучение с Keras и TensorFlow
Если вы погружены в тему глубокого обучения, то главу 8 можно пропустить и сразу пойти дальше. Но автор так поступить не может и начинает с самых азов.
Кстати, еще надо сказать несколько вступительных слов о том, что такое Keras и TensorFlow:
TensorFlow — популярная библиотека с открытым исходным кодом для машинного обучения, разработанная Google Brain Team. В контексте глубокого обучения TensorFlow используется для определения и выполнения вычислительных графов для обработки больших объемов данных на различных аппаратных платформах.
Keras — это высокоуровневый API для построения и обучения моделей нейронных сетей, который изначально был разработан как независимый проект, но позже стал частью TensorFlow. Поддерживаются различные типы нейронных сетей, включая полносвязные сети, свёрточные сети (CNN), рекуррентные сети (RNN) и их комбинации.
В контексте глубокого обучения Keras и TensorFlow работают в тандеме, где Keras предоставляет удобный интерфейс для создания моделей, а TensorFlow выступает в качестве вычислительного движка, обеспечивая высокую производительность и гибкость.
А теперь перейдем к главам про глубокое обучение в инженерном деле:
Глава 8 книги посвящена основам нейронных сетей, их обучению и применению, что важно для разработки рекомендательных систем, прогнозирования и обработки естественного языка.
Главы 9 и 10:
в 9-й главе рассматривается создание нейронных сетей с использованием Keras и TensorFlow, а также их настройка, что находит применение в прогнозировании цен, медицинской диагностике и распознавании образов. 10-я глава охватывает основы свёрточных нейронных сетей (CNN), использование предварительно обученных моделей, передачу обучения и увеличение данных, что критично для классификации изображений, медицинской визуализации и автоматического распознавания объектов.
Главы 11, 12 и 13:
они охватывают аспекты работы с изображениями и текстами с использованием методов машинного обучения и глубокого обучения. Глава 11 посвящена обнаружению и распознаванию лиц с использованием алгоритмов Viola-Jones и сверточных нейронных сетей (CNN), что находит применение в системах безопасности, биометрии и улучшении пользовательского опыта.
Глава 12 рассматривает различные методы обнаружения объектов, такие как R-CNN, Mask R-CNN и YOLO, и их применение в автономных транспортных средствах, системах видеонаблюдения и робототехнике. Глава 13 фокусируется на обработке естественного языка (NLP), включая подготовку текста, векторизацию слов и использование рекуррентных нейронных сетей (RNN) и трансформеров для анализа текстов, что полезно для создания чат-ботов, автоматического перевода и анализа тональности.
Глава 14 знакомит со службой Azure Cognitive Services. Автор пытается продемонстрировать, как использовать службу для задач компьютерного зрения, обработки языка и речи. Это различные API и инструменты Azure для создания интеллектуальных приложений, которые могут анализировать изображения и видео, обрабатывать и понимать естественный язык, а также синтезировать и распознавать речь. Azure Cognitive Services считается достаточно продвинутым облачным сервисом ИИ, но более недоступен на территории РФ.
Заключение
Книга «Прикладное машинное обучение и искусственный интеллект для инженеров» может быть полезной, если вы работаете в одной из таких прикладных областей как компьютерное зрение, медицинская диагностика по рентгеновским снимкам, промышленная автоматизация, навигация и взаимодействия с окружающей средой в автономных системах и ряде других сфер.
Владение технологиями ML/DL позволяет инженерам анализировать большие объемы данных и выявлять закономерности, которые сложно обнаружить вручную и таким образом помогать менеджменту принимать более обоснованные решения. С помощью ИИ можно автоматизировать множество рутинных производственных задач, таких как более точное обнаружение брака на конвейере или диагностика состояния оборудования в течение времени.
Добавим каплю рекламы от нашего блога: компания SSP SOFT приглашает на позиции инженеров QA и DevOps, системного аналитика, аналитика данных, разработчиков на Java, JS, React и Python, 1С — см. страницу на hh.ru. Если вашей специальности нет в текущих вакансиях, все равно присылайте резюме, т.к. новые позиции в командах открываются еженедельно (пишите в Telegram или на почту job@ssp-soft.com).
Успехов в обработке и анализе данных для инженерных задач!