Национальный цифровой ресурс Руконт - межотраслевая электронная библиотека (ЭБС) на базе технологии Контекстум (всего произведений: 639001)
Контекстум
Электро-2024

Инженерия машинного обучения (5000,00 руб.)

0   0
Первый авторБурков
ИздательствоМ.: ДМК Пресс
Страниц308
ID836004
АннотацияКнига представляет собой подробный обзор передовых практик и паттернов проектирования в области прикладного машинного обучения. В отличие от многих учебников, уделяется внимание инженерным аспектам МО. Рассматриваются сбор, хранение и предобработка данных, конструирование признаков, а также тестирование и отладка моделей, развертывание и вывод из эксплуатации, сопровождение на этапе выполнения и в процессе эксплуатации. Главы книги можно изучать в любом порядке. Издание будет полезно тем, кто собирается использовать машинное обучение в крупномасштабных проектах. Предполагается, что читатель знаком с основами МО и способен построить модель при наличии подходящим образом отформатированного набора данных.
ISBN978-5-93700-125-2
Бурков, А. Инженерия машинного обучения / А. Бурков .— Москва : ДМК Пресс, 2022 .— 308 с. — ISBN 978-5-93700-125-2 .— URL: https://rucont.ru/efd/836004 (дата обращения: 16.06.2024)

Предпросмотр (выдержки из произведения)

Инженерия_машинного_обучения.pdf
Стр.5
Стр.7
Стр.8
Стр.9
Стр.10
Стр.11
Стр.12
Стр.13
Стр.14
Инженерия_машинного_обучения.pdf
УДК 004.4 ББК 32.972 Б91 Б91 Инженерия машинного обуче ния / пер. с англ. А. А. Слинкина. – М.: ДМК Пресс, 2022. – 306 с.: ил. Бурков А. ISBN 978-5-93700-125-2 Книга представляет собой подробный обзор передовых практик и паттернов проектирования в области прикладного машинного обучения. В отличие от многих учебников, уделяется внимание инженерным аспектам МО. Рассматриваются сбор, хранение и предобработка данных, конструирование признаков, а также тестирование и отладка моделей, развертывание и вывод из эксплуатации, сопровождение на этапе выполнения и в процессе эксплуатации. Главы книги можно изучать в любом порядке. Издание будет полезно тем, кто собирается использовать машинное обучение в крупномасштабных проектах. Предполагается, что читатель знаком с основами МО и способен построить модель при наличии подходящим образом отформатированного набора данных. Дизайн обложки разработан с использованием ресурса freepik.com УДК 004.4 ББК 32.972 Copyright Title of English-language edition: “Machine Learning Engineering”, ISBN 978-1Все права защищены. Любая часть этой книги не может быть воспроизведена в ка9995795-7-9 published by Andriy Burkov. Copyright © 2020 Andriy Burkov. Russian-language edition copyright © 2022 by DMK Press Publishing. All rights reserved. кой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. ISBN 978-1-9995795-7-9 (англ.) ISBN 978-5-93700-125-2 (рус.) © Andriy Burkov, 2020 © Перевод, оформление, издание, ДМК Пресс, 2022
Стр.5
Содержание От издательства ....................................................................................................14 Вступительное слово .........................................................................................15 Предисловие ..........................................................................................................17 Глава 1. Введение ................................................................................................19 1.1. Обозначения и определения .............................................................................19 1.1.1. Структуры данных .......................................................................................19 1.1.2. Заглавная сигма ...........................................................................................21 1.2. Что такое машинное обучение ..........................................................................21 1.2.1. Обучение с учителем ...................................................................................22 1.2.2. Обучение без учителя .................................................................................23 1.2.3. Обучение с частичным привлечением учителя ......................................24 1.2.4. Обучение с подкреплением .......................................................................24 1.3. Терминология машинного обучения ...............................................................25 1.3.1. Данные, используемые прямо и косвенно...............................................25 1.3.2. Первичные и аккуратные данные .............................................................26 1.3.3. Обучающие и зарезервированные наборы ..............................................27 1.3.4. Ориентир .......................................................................................................28 1.3.5. Конвейер машинного обучения ................................................................28 1.3.6. Параметры и гиперпараметры ..................................................................29 1.3.7. Классификация и регрессия .......................................................................29 1.3.8. Обучение на основе модели и обучение на основе экземпляров ........30 1.3.9. Поверхностное и глубокое обучение ........................................................30 1.3.10. Обучение и оценивание ............................................................................30 1.4. Когда следует использовать машинное обучение ..........................................31 1.4.1. Когда задача слишком сложна для кодирования ....................................31 1.4.2. Когда задача постоянно меняется .............................................................32 1.4.3. Когда речь идет о задаче восприятия .......................................................32 1.4.4. Когда это неизученное явление .................................................................32 1.4.5. Когда задача имеет простую целевую функцию .....................................33 1.4.6. Когда это экономически выгодно .............................................................33 1.5. Когда не следует использовать машинное обучение .....................................34 1.6. Что такое инженерия машинного обучения ...................................................34 1.7. Жизненный цикл проекта машинного обучения ...........................................36 1.8. Резюме ..................................................................................................................37 Глава 2. Прежде чем приступать к проекту ...........................................39 2.1. Определение приоритетов проекта машинного обучения ..........................39 2.1.1. Последствия машинного обучения ...........................................................39 2.1.2. Стоимость машинного обучения ..............................................................40
Стр.7
Содержание  7 2.2. Оценивание сложности проекта машинного обучения ................................41 2.2.1. Неизвестные .................................................................................................41 2.2.2. Упрощение задачи .......................................................................................42 2.2.3. Нелинейный прогресс .................................................................................43 2.3. Определение цели проекта машинного обучения .........................................43 2.3.1. Что модель может делать ............................................................................43 2.3.2. Свойства успешной модели .......................................................................44 2.4. Организация группы машинного обучения ...................................................45 2.4.1. Две традиции ................................................................................................45 2.4.2. Члены группы машинного обучения ........................................................46 2.5. Причины провалов проектов машинного обучения .....................................47 2.5.1. Нехватка квалифицированных кадров ....................................................47 2.5.2. Отсутствие поддержки со стороны руководства.....................................48 2.5.3. Отсутствующая инфраструктура данных .................................................48 2.5.4. Трудности с разметкой данных .................................................................49 2.5.5. Разобщенные организации и отсутствие сотрудничества ....................49 2.5.6. Технически невыполнимые проекты .......................................................50 2.5.7. Нестыковка между техническими и коммерческими группами ..........50 2.6. Резюме ..................................................................................................................51 Глава 3. Сбор и подготовка данных ...........................................................53 3.1. Вопросы к данным ..............................................................................................53 3.1.1. Доступны ли данные? ..................................................................................54 3.1.2. Насколько велик объем данных? ...............................................................54 3.1.3. Пригодны ли данные для использования? ..............................................56 3.1.4. Понятны ли данные? ...................................................................................58 3.1.5. Надежны ли данные? ...................................................................................58 3.2. Типичные проблемы с данными ......................................................................60 3.2.1. Высокая стоимость ......................................................................................60 3.2.2. Плохое качество ...........................................................................................62 3.2.3. Зашумленность ............................................................................................62 3.2.4. Смещение ......................................................................................................63 Типы смещения .................................................................................................63 Как избежать смещения ...................................................................................67 3.2.5. Низкая предсказательная способность ....................................................69 3.2.6. Устаревшие примеры ..................................................................................70 3.2.7. Выбросы .........................................................................................................70 3.2.8. Просачивание данных .................................................................................71 3.3. Что считать хорошими данными ......................................................................72 3.3.1. Хорошие данные информативны ..............................................................72 3.3.2. Хорошие данные обладают хорошим покрытием ..................................72 3.3.3. Хорошие данные отражают реальные входы ..........................................73 3.3.4. Хорошие данные несмещенные ................................................................73 3.3.5. Хорошие данные не являются результатом петли обратной связи .....73 3.3.6. У хороших данных согласованные метки ................................................74 3.3.7. Хорошие данные достаточно велики ........................................................74 3.3.8. Сводный перечень свойств хороших данных ..........................................74
Стр.8
8  Содержание 3.4. Обработка данных о взаимодействии .............................................................75 3.5. Причины просачивания данных .......................................................................75 3.5.1. Цель является функцией от признака ......................................................76 3.5.2. Признак скрывает цель ...............................................................................76 3.5.3. Признак из будущего...................................................................................77 3.6. Разбиение данных ...............................................................................................78 3.6.1. Просачивание во время разбиения ...........................................................79 3.7. Обработка отсутствия атрибутов ......................................................................80 3.7.1. Методы подстановки данных .....................................................................80 3.7.2. Просачивание во время подстановки .......................................................82 3.8. Приращение данных ...........................................................................................82 3.8.1. Приращение данных для изображений ...................................................82 3.8.2. Приращение данных для текста ................................................................84 3.9. Обработка несбалансированных данных ........................................................85 3.9.1. Выборка с избытком ....................................................................................86 3.9.2. Выборка с недостатком ...............................................................................87 3.9.3. Гибридные стратегии ..................................................................................87 3.10. Стратегии выборки данных .............................................................................88 3.10.1. Простая случайная выборка .....................................................................89 3.10.2. Систематическая выборка ........................................................................90 3.10.3. Стратифицированная выборка ................................................................90 3.11. Хранение данных ..............................................................................................90 3.11.1. Форматы данных .......................................................................................91 3.11.2. Уровни хранения данных .........................................................................92 3.11.3. Версионирование данных ........................................................................94 3.11.4. Документация и метаданные ..................................................................96 3.11.5. Жизненный цикл данных .........................................................................96 3.12. Дополнительные рекомендации по работе с данными ..............................97 3.12.1. Воспроизводимость ...................................................................................97 3.12.2. Сначала данные, потом алгоритм ...........................................................97 3.13. Резюме ................................................................................................................98 Глава 4. Конструирование признаков .....................................................100 4.1. Зачем конструировать признаки ....................................................................100 4.2. Как конструируются признаки........................................................................101 4.2.1. Конструирование признаков для текста ................................................102 4.2.2. Почему мешок слов работает ...................................................................105 4.2.3. Преобразование категориальных признаков в числа ..........................105 4.2.4. Хеширование признаков ..........................................................................108 4.2.5. Тематическое моделирование .................................................................109 4.2.6. Признаки для временных рядов .............................................................112 4.2.7. Проявите свои творческие способности .................................................114 4.3. Штабелирование признаков ............................................................................115 4.3.1. Штабелирование векторов признаков ...................................................115 4.3.2. Штабелирование индивидуальных признаков .....................................116 4.4. Свойства хороших признаков .........................................................................117
Стр.9
Содержание  9 4.4.1. Высокая предсказательная способность ................................................117 4.4.2. Быстрое вычисление .................................................................................117 4.4.3. Надежность .................................................................................................118 4.4.4. Некоррелированность ...............................................................................118 4.4.5. Другие свойства .........................................................................................118 4.5. Отбор признаков ...............................................................................................119 4.5.1. Отрезание длинного хвоста .....................................................................119 4.5.2. Boruta ...........................................................................................................120 4.5.3. L1-регуляризация ......................................................................................123 4.5.4. Зависящий от задачи отбор признаков ..................................................123 4.6. Синтезирование признаков ............................................................................123 4.6.1. Дискретизация признаков .......................................................................124 4.6.2. Синтез признаков из реляционных данных ..........................................125 4.6.3. Синтезирование признаков по данным .................................................126 4.6.4. Синтезирование признаков по другим признакам ..............................127 4.7. Обучение признаков на данных ......................................................................128 4.7.1. Погружения слов ........................................................................................128 4.7.2. Погружения документов ...........................................................................130 4.7.3. Погружения всего, чего угодно ................................................................131 4.7.4. Выбор размерности погружения .............................................................132 4.8. Понижение размерности .................................................................................132 4.8.1. Быстрое понижение размерности методом PCA ..................................133 4.8.2. Понижение размерности с целью визуализации..................................133 4.9. Масштабирование признаков .........................................................................133 4.9.1. Нормировка ................................................................................................134 4.9.2. Стандартизация .........................................................................................135 4.10. Просачивание данных при конструировании признаков ........................136 4.10.1. Возможные проблемы .............................................................................136 4.10.2. Решение .....................................................................................................136 4.11. Хранение и документирование признаков .................................................136 4.11.1. Файл схемы ...............................................................................................137 4.11.2. Хранилище признаков ............................................................................138 4.12. Рекомендации по конструированию признаков ........................................141 4.12.1. Генерируйте много простых признаков ...............................................141 4.12.2. Повторно используйте унаследованные системы ..............................141 4.12.3. Используйте идентификаторы как признаки, когда это необходимо… .......................................................................................................142 4.12.4. …но по возможности уменьшайте количество значений .................142 4.12.5. Осторожнее со счетчиками ....................................................................143 4.12.6. Отбирайте признаки, когда необходимо .............................................143 4.12.7. Тщательно тестируйте код ......................................................................144 4.12.8. Синхронизируйте код, модель и данные .............................................144 4.12.9. Изолируйте код выделения признаков ................................................144 4.12.10. Сериализуйте модель и экстрактор признаков совместно .............145 4.12.11. Протоколируйте значения признаков ................................................145 4.13. Резюме ..............................................................................................................145
Стр.10
10  Содержание Глава 5. Обучение модели с учителем (часть 1) ................................147 5.1. Прежде чем приступать к работе над моделью ............................................148 5.1.1. Проверка согласованности со схемой .....................................................148 5.1.2. Определение достижимого уровня качества .........................................148 5.1.3. Выбор метрики качества ..........................................................................149 5.1.4. Выбирайте правильный ориентир ..........................................................149 5.1.5. Разбиение данных на три набора ............................................................151 5.1.6. Предварительные условия для обучения с учителем ...........................152 5.2. Представление меток для машинного обучения .........................................153 5.2.1. Многоклассовая классификация .............................................................153 5.2.2. Многозначная классификация ................................................................154 5.3. Выбор алгоритма обучения .............................................................................154 5.3.1. Основные свойства алгоритма обучения ...............................................155 5.3.2. Выборочная проверка алгоритмов .........................................................156 5.4. Построение конвейера .....................................................................................158 5.5. Оценивание качества модели .........................................................................159 5.5.1. Метрики качества для регрессии ............................................................159 5.5.2. Метрики качества для классификации ..................................................160 5.5.3. Метрики качества для ранжирования ....................................................165 5.6. Настройка гиперпараметров ...........................................................................168 5.6.1. Поиск на сетке ............................................................................................169 5.6.2. Случайный поиск .......................................................................................170 5.6.3. Поиск с измельчением ..............................................................................170 5.6.4. Другие методы ...........................................................................................172 5.6.5. Перекрестная проверка ............................................................................172 5.7. Обучение поверхностной модели ...................................................................173 5.7.1. Стратегия обучения поверхностной модели .........................................173 5.7.2. Сохранение и восстановление модели ...................................................174 5.8. Компромисс между смещением и дисперсией ............................................175 5.8.1. Недообучение .............................................................................................175 5.8.2. Переобучение .............................................................................................176 5.8.3. Компромисс ................................................................................................177 5.9. Регуляризация ...................................................................................................179 5.9.1. L1- и L2-регуляризации ............................................................................179 5.9.2. Другие формы регуляризации .................................................................180 5.10. Резюме ..............................................................................................................180 Глава 6. Обучение модели с учителем (часть 2) ................................183 6.1. Стратегия обучения глубоких моделей .........................................................183 6.1.1. Стратегия обучения нейронной сети .....................................................184 6.1.2. Метрика качества и функция стоимости ...............................................184 6.1.3. Стратегии инициализации параметров .................................................187 6.1.4. Алгоритмы оптимизации .........................................................................187 6.1.5. Планы уменьшения скорости обучения .................................................191 6.1.6. Регуляризация ............................................................................................192 6.1.7. Определение размера сети и настройка гиперпараметров ................193
Стр.11
Содержание  11 6.1.8. Работа с несколькими входами ...............................................................195 6.1.9. Работа с несколькими выходами .............................................................196 6.1.10. Перенос обучения ....................................................................................197 6.2. Штабелирование моделей ................................................................................199 6.2.1. Типы ансамблевого обучения ..................................................................199 6.2.2. Алгоритм штабелирования моделей ......................................................200 6.2.3. Просачивание данных при штабелировании моделей ........................201 6.4. Обработка несбалансированных наборов данных ......................................203 6.4.1. Взвешивание классов ................................................................................203 6.4.2. Ансамбль перераспределенных наборов данных .................................204 6.4.3. Другие методы ...........................................................................................205 6.5. Калибровка модели ...........................................................................................205 6.5.1. Хорошо откалиброванные модели ..........................................................205 6.5.2. Методы калибровки ..................................................................................207 6.3. Борьба со сдвигом распределения..................................................................202 6.3.1. Обработка сдвига распределения ...........................................................202 6.3.2. Состязательная проверка .........................................................................202 6.6. Поиск неполадок и анализ ошибок ................................................................208 6.6.1. Причины плохого поведения модели .....................................................208 6.6.2. Итеративное уточнение модели ..............................................................209 6.6.3. Анализ ошибок ...........................................................................................209 6.6.4. Анализ ошибок в комплексных системах ..............................................211 6.6.5. Использование расслоенных метрик......................................................212 6.6.6. Исправление неправильных меток .........................................................212 6.6.7. Нахождение дополнительных примеров для пометки ........................213 6.6.8. Поиск неполадок при глубоком обучении .............................................213 6.7. Рекомендации ....................................................................................................215 6.7.1. Поставляйте хорошую модель..................................................................215 6.7.2. Доверяйте популярным реализациям с открытым исходным кодом .....................................................................................................................215 6.7.3. Оптимизируйте важную для бизнеса меру качества............................216 6.7.4. При обновлении начинайте с нуля ..........................................................216 6.7.5. Избегайте каскадов коррекций ................................................................217 6.7.6. Используйте каскадирование моделей с осторожностью ...................217 6.7.7. Пишите эффективный код, компилируйте и распараллеливайте ......218 6.7.8. Тестируйте на старых и новых данных ...................................................219 6.7.9. Больше данных лучше, чем более умный алгоритм .............................220 6.7.10. Новые данные лучше более изощренных признаков .........................220 6.7.11. Радуйтесь крохотным достижениям .....................................................220 6.7.12. Обеспечьте воспроизводимость ............................................................220 6.8. Резюме ................................................................................................................221 Глава 7. Оценивание модели .......................................................................224 7.1. Офлайновое и онлайновое оценивания ........................................................225 7.2. A/B-тестирование ..............................................................................................227 7.2.1. G-критерий .................................................................................................228 7.2.2. Z-критерий ..................................................................................................231
Стр.12
12  Содержание 7.2.3. Заключительные замечания и предупреждения ...................................233 7.3. Многорукий бандит ..........................................................................................233 7.4. Статистические границы качества модели ...................................................236 7.4.1. Статистический интервал для ошибки классификации ......................236 7.4.2. Бутстреп статистического интервала .....................................................237 7.4.3. Бутстреп интервала предсказания для регрессии ................................238 7.5. Оценивание адекватности тестового набора ................................................239 7.5.1. Нейронное покрытие.................................................................................239 7.5.2. Мутационное тестирование .....................................................................240 7.6. Оценивание свойств модели ...........................................................................240 7.6.1. Робастность .................................................................................................241 7.6.2. Справедливость ..........................................................................................241 7.7. Резюме .................................................................................................................243 Глава 8. Развертывание модели ................................................................244 8.1. Статическое развертывание ............................................................................245 8.2. Динамическое развертывание на устройстве пользователя ......................245 8.2.1. Развертывание параметров модели .......................................................246 8.2.2. Развертывание сериализованного объекта ...........................................246 8.2.3. Развертывание в браузере ........................................................................246 8.2.4. Плюсы и минусы ........................................................................................246 8.3. Динамическое развертывание на сервере ....................................................247 8.3.1. Развертывание на виртуальной машине ...............................................247 8.3.2. Развертывание в контейнере ...................................................................248 8.3.3. Бессерверное развертывание ...................................................................250 8.3.4. Потоковое развертывание модели ..........................................................251 8.4. Стратегии развертывания ...............................................................................253 8.4.1. Разовое развертывание ............................................................................253 8.4.2. Немое развертывание ...............................................................................254 8.4.3. Канареечное развертывание ....................................................................254 8.4.4. Многорукие бандиты ................................................................................255 8.5. Автоматизированное развертывание, версионирование и метаданные ....255 8.5.1. Объекты, сопровождающие модель ........................................................255 8.5.2. Синхронизация версий .............................................................................256 8.5.3. Метаданные версии модели .....................................................................256 8.6. Рекомендации по развертыванию модели ...................................................257 8.6.1. Эффективность алгоритма .......................................................................257 8.6.2. Развертывание глубоких моделей ...........................................................260 8.6.3. Кеширование ..............................................................................................260 8.6.4. Формат доставки модели и кода..............................................................261 8.6.5. Начинайте с простой модели ...................................................................263 8.6.6. Тестируйте на посторонних .....................................................................263 8.7. Резюме .................................................................................................................264 Глава 9. Выполнение, мониторинг и сопровождение модели ......266 9.1. Свойства среды выполнения модели .............................................................266 9.1.1. Безопасность и корректность ..................................................................267
Стр.13
Содержание  13 9.1.2. Простота развертывания ..........................................................................267 9.1.3. Гарантии правильности модели ..............................................................268 9.1.4. Простота восстановления .........................................................................268 9.1.5. Предотвращение расхождений между обучением и выполнением ....268 9.1.6. Предотвращение скрытых петель обратной связи ..............................269 9.2. Режимы выполнения модели ..........................................................................269 9.2.1. Выполнение в пакетном режиме .............................................................270 9.2.2. Обслуживание запроса со стороны человека ........................................270 9.2.3. Обслуживание запроса со стороны машины .........................................272 9.3. Выполнение модели на практике ...................................................................273 9.3.1. Готовность к ошибкам ...............................................................................273 9.3.2. Отношение к ошибкам..............................................................................274 9.3.3. Готовность к изменениям и отношение к ним .....................................275 9.3.4. Готовность к особенностям человеческой природы и отношение к ним ..............................................................................................277 Избегайте путаницы .......................................................................................277 Умерьте ожидания ...........................................................................................277 Завоевывайте доверие ....................................................................................277 Не переутомляйте пользователя ...................................................................278 Остерегайтесь фактора отторжения .............................................................278 9.4. Мониторинг модели .........................................................................................278 9.4.1. Что может пойти не так?...........................................................................279 9.4.2. Что и как мониторить ...............................................................................280 9.4.3. Что протоколировать ................................................................................282 9.4.4. Мониторинг неправомерного использования ......................................283 9.5. Сопровождение модели ...................................................................................283 9.5.1. Когда обновлять .........................................................................................284 9.5.2. Как обновлять .............................................................................................285 9.6. Резюме ................................................................................................................288 Глава 10. Заключение ......................................................................................290 10.1. Сухой остаток ...................................................................................................290 10.2. Что еще почитать ............................................................................................294 10.3. Благодарности .................................................................................................295 Предметный указатель ...................................................................................297
Стр.14

Облако ключевых слов *


* - вычисляется автоматически
Периодика по подписке
Антиплагиат система Руконтекст