
Книга рассказывает о применении искусственного интеллекта и машинного обучения в бизнесе и инженерной практике. Подробно описаны популярные алгоритмы машинного обучения и разъяснено, когда их целесообразно использовать. Приведены примеры построения моделей машинного обучения на языке Python с помощью библиотеки Scikit-Learn, а также создания нейронных сетей посредством библиотек Keras и TensorFlow. Изложены базовые принципы и способы оценки регрессионных моделей, моделей бинарной и многоклассовой классификации. Показаны примеры создания модели распознавания лиц и обнаружения объектов, языковых моделей, отвечающих на естественно-языковые вопросы и переводящих текст на другие языки. Рассмотрено использование набора облачных API Cognitive Services для внедрения ИИ в различные приложения.
Для инженеров и разработчиков программного обеспечения
В то время как многие руководства по искусственному интеллекту (ИИ) представляют собой скорее учебники по математике, в этой книге математики практически нет.
Вместо этого автор помогает инженерам и разработчикам программного обеспечения интуитивно понять и использовать ИИ для решения технических и бизнес-задач. Эта книга научит вас практическим навыкам, необходимым для внедрения ИИ и машинного обучения в вашей компании.
В книге приводятся примеры и иллюстрации из курсов по искусственному интеллекту и машинному обучению, которые автор преподает в компаниях и исследовательских институтах по всему миру. Здесь нет пустых слов и страшных уравнений — только полезная информация для инженеров и разработчиков программного обеспечения, дополненная практическими примерами.
Эта книга поможет вам:
- узнать, что такое машинное обучение и глубокое обучение;
- понять, как работают популярные алгоритмы машинного обучения и когда их следует применять;
- построить модели машинного обучения на языке Python с помощью библиотеки Scikit-Learn, а также создать нейронные сети, используя библиотеки Keras и TensorFlow;
- обучать и оценивать регрессионные модели, а также модели бинарной и многоклассовой классификации;
создавать модели распознавания лиц и обнаружения объектов; - строить языковые модели, отвечающие на естественно-языковые вопросы и переводящие текст на другие языки;
- использовать набор облачных API Cognitive Services для внедрения ИИ в создаваемые вами приложения.
Решение задач, которые невозможно решить алгоритмически!
Книгу “Прикладное машинное обучение и искусственный интеллект для инженеров” можно купить со скидкой в интернет-магазине издательства “БХВ“.
Отзывы о книге
“Прикладное машинное обучение и искусственный интеллект
для инженеров”. 11
Об авторе. 17
Об изображении на обложке. 18
Предисловие. 19
Введение. 21
Кто должен прочитать эту книгу. 21
Почему я написал эту книгу. 22
Использование примеров кода из книги. 23
Как организована эта книга. 24
Условные обозначения и соглашения. 25
Благодарности. 25
Часть I. Машинное обучение с помощью Scikit-Learn. 27
ГЛАВА 1. Машинное обучение. 29
Что такое машинное обучение?. 30
Машинное обучение в сравнении с искусственным интеллектом.. 33
Обучение с учителем и без учителя. 35
Обучение без учителя с помощью кластеризации k средних. 36
Применение кластеризации k средних к данным о клиентах. 39
Сегментирование клиентов по более чем двум измерениям.. 43
Обучение с учителем.. 47
Метод k ближайших соседей. 49
Использование k ближайших соседей для классификации цветов. 51
Резюме. 55
ГЛАВА 2. Регрессионные модели. 57
Линейная регрессия. 57
Деревья решений. 61
Случайные леса. 65
Градиентно-бустинговые машины.. 66
Метод опорных векторов. 69
Меры точности для регрессионных моделей. 70
Использование регрессии для прогнозирования тарифов на такси. 74
Резюме. 79
ГЛАВА 3. Классификационные модели. 81
Логистическая регрессия. 82
Меры точности для классификационных моделей. 84
Категориальные данные. 88
Бинарная классификация. 90
Классификация пассажиров, плывших на “Титанике”. 91
Обнаружение мошенничества с кредитными картами. 95
Мультиклассовая классификация. 100
Построение модели распознавания цифр. 102
Резюме. 105
ГЛАВА 4. Классификация текста. 107
Подготовка текста к классификации. 107
Анализ настроений. 111
Наивный Байес. 115
Фильтрация спама. 118
Рекомендательные системы.. 122
Косинусное сходство. 123
Построение системы рекомендаций фильмов. 124
Резюме. 126
ГЛАВА 5. Метод опорных векторов. 128
Принцип работы метода опорных векторов. 128
Ядра. 131
Ядерные трюки. 132
Настройка гиперпараметров. 134
Нормализация данных. 138
Конвейеризация. 142
Использование SVM для распознавания лиц. 143
Резюме. 149
ГЛАВА 6. Анализ главных компонент. 151
Что такое анализ главных компонент. 152
Фильтрация шумов. 159
Анонимизация данных. 161
Визуализация высокоразмерных данных. 163
Обнаружение аномалий. 167
Использование PCA для обнаружения мошенничества с кредитными картами 168
Использование РСА для прогнозирования выхода из строя
подшипников. 172
Обнаружение многомерных аномалий. 178
Резюме. 178
ГЛАВА 7. Операционализация моделей машинного обучения. 180
Обращение к Python-модели из Python-клиента. 181
Версионирование файлов Pickle. 184
Обращение к Python-модели из C#-клиента. 185
Сохранение модели машинного обучения в контейнере. 187
Использование ONNX для преодоления языковой лакуны.. 189
Построение моделей машинного обучения на C# с помощью ML.NET. 193
Анализ настроений с помощью ML.NET. 194
Сохранение и загрузка моделей ML.NET. 197
Добавление возможностей машинного обучения в Excel 197
Резюме. 201
Часть II. Глубокое обучение с помощью Keras и TensorFlow.. 203
ГЛАВА 8. Глубокое обучение. 205
Понимание нейронных сетей. 206
Обучение нейронных сетей. 211
Резюме. 213
ГЛАВА 9. Нейронные сети. 215
Построение нейронных сетей с помощью Keras и TensorFlow.. 216
Определение размеров нейронной сети. 219
Использование нейронной сети для прогнозирования стоимости проезда
в такси. 221
Бинарная классификация с помощью нейронных сетей. 225
Выполнение прогнозирования. 227
Обучение нейронной сети для обнаружения мошенничества
с кредитными картами. 228
Мультиклассовая классификация с помощью нейронных сетей. 232
Обучение нейронной сети для распознавания лиц. 235
Отсев. 238
Сохранение и загрузка моделей. 240
Обратные вызовы Keras. 241
Резюме. 244
ГЛАВА 10. Классификация изображений с помощью сверточных нейронных сетей 246
Понимание работы сверточных нейронных сетей. 247
Использование Keras и TensorFlow для построения CNN.. 250
Обучение CNN распознаванию арктических диких животных. 255
Предварительно обученные CNN.. 260
Использование ResNet50V2 для классификации изображений. 263
Трансферное обучение. 265
Использование трансферного обучения для идентификации диких животных Арктики 268
Аугментация данных. 272
Аугментация изображений с помощью ImageDataGenerator. 272
Аугментация изображений с помощью аугментационных слоев. 275
Применение аугментации для изображений дикой природы Арктики. 276
Глобальный пулинг. 279
Классификация аудио с помощью CNN.. 281
Резюме. 288
ГЛАВА 11. Обнаружение и распознавание лиц. 290
Обнаружение лиц. 291
Обнаружение лиц с помощью алгоритма Виолы — Джонса. 291
Использование реализации алгоритма Виолы — Джонса в OpenCV.. 294
Обнаружение лиц с помощью сверточных нейронных сетей. 296
Извлечение лиц из фотографий. 300
Распознавание лиц. 302
Применение трансферного обучения для распознавания лиц. 303
Совершенствование трансферного обучения с помощью весов для конкретной задачи 307
ArcFace. 310
Собираем все вместе: обнаружение и распознавание лиц на фотографиях. 311
Работа с неизвестными лицами: классификация по закрытым и открытым наборам 317
Резюме. 319
ГЛАВА 12. Обнаружение объектов. 320
R-CNN.. 321
Mask R-CNN.. 324
YOLO.. 330
YOLOv3 и Keras. 332
Обнаружение нестандартных объектов. 337
Обучение пользовательской модели обнаружения объектов
с помощью службы Custom Vision. 337
Использование экспортированной модели. 345
Резюме. 347
ГЛАВА 13. Обработка естественного языка. 349
Подготовка текста. 350
Эмбеддинги слов. 353
Классификация текста. 354
Автоматизация векторизации текста. 357
Использование TextVectorization в модели анализа настроений. 358
Учет порядка слов в прогнозах. 361
Рекуррентные нейронные сети (RNN) 362
Использование предварительно обученных моделей для классификации текста 364
Нейронный машинный перевод. 366
Кодировщик-декодировщик LSTM.. 366
Трансформерные кодировщики-декодировщики. 369
Построение NMT-модели на основе трансформера. 371
Использование предварительно обученных моделей для перевода
текста. 380
Двунаправленное представление кодировщика на основе трансформеров (BERT) 381
Построение системы ответов на вопросы на основе BERT. 382
Тонкая настройка BERT для выполнения анализа настроений. 386
Резюме. 390
ГЛАВА 14. Azure Cognitive Services. 392
Знакомство с Azure Cognitive Services. 393
Ключи и конечные точки. 395
Обращения к API-интерфейсам Azure Cognitive Services. 398
Контейнеры Azure Cognitive Services. 401
Сервис Computer Vision. 402
Сервис Language. 412
Сервис Translator 415
Сервис Speech. 416
Собираем все вместе: Contoso Travel 418
Резюме. 423
Предметный указатель. 424
