Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Машинное обучение с использованием библиотеки Н2О

Покупка
Новинка
Артикул: 882749.01.99
Доступ онлайн
639 ₽
В корзину
Н2О — простая в использовании и открытая библиотека, которая поддерживает большое количество операционных систем и языков программирования, а также масштабируется для обработки больших данных. Эта книга научит вас использовать алгоритмы машинного обучения, реализованные в Н2О, с упором на наиболее важные для продуктивной работы аспекты. Рассмотрены глубокое обучение, случайный лес, обучение на неразмеченных данных и ансамбли моделей. В российское издание добавлены дополнительно два приложения, описывающих новейшие модули Н2О — Deep Water и Stacked Ensemble. Их также можно найти в репозитории github.com/statist-bhfz/h2o_book_translate. Издание предназначено для специалистов по анализу данных, желающих изучить и применять на практике относительно новый, но многообещающий инструмент — библиотеку Н2О.
Кук, Д. Машинное обучение с использованием библиотеки Н2О : практическое руководство / Д. Кук ; пер. с англ. А. Б. Огурцова. – Москва : ДМК Пресс, 2018. - 252 с. – ISBN 978-5-97060-508-0. - Текст : электронный. - URL: https://znanium.ru/catalog/product/2260388 (дата обращения: 08.10.2026). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
Даррен Кук
Машинное обучение  
с использованием библиотеки Н2О


Darren Cook
Practical Machine Learning 
with H2O
Powerful, Scalable Techniques for Deep Learning and AI
Beijing • Boston • Farnham • Sebastopol • Tokyo    


Даррен Кук
Машинное обучение  
с использованием  
библиотеки Н2О
Мощные и масштабируемые методы для глубокого обучения и ИИ
Москва, 2018


УДК 004.85Н2О
ББК 32.813
К89
Кук Д.
К89	
Машинное обучение с  использованием библиотеки Н2О  / пер. с  англ. 
А. Б. Огурцова. – М.: ДМК Пресс, 2018. – 250 с.: ил. 
ISBN 978-5-97060-508-0
Н2О – простая в использовании и открытая библиотека, которая поддерживает 
большое количество операционных систем и языков программирования, а также 
масштабируется для обработки больших данных. Эта книга научит вас использовать 
алгоритмы машинного обучения, реализованные в Н2О, с упором на наиболее важные 
для продуктивной работы аспекты. Рассмотрены глубокое обучение, случайный лес, 
обучение на неразмеченных данных и ансамбли моделей.
В российское издание добавлены дополнительно два приложения, описывающих 
новейшие модули Н2О – Deep Water и Stacked Ensemble. Их также можно найти в репозитории https://github.com/statist-bhfz/h2o_book_translate.
Издание предназначено для специалистов по анализу данных, желающих изучить 
и применять на практике относительно новый, но многообещающий инструмент – 
библиотеку Н2О.
УДК  004.85Н2О
ББК  32.813
Authorized Russian translation of the English edition of Practical Machine Learning with H2O, 
ISBN 9781491964606 © 2017 Darren Cook.
This translation is published and sold by permission of O'Reilly Media, Inc., which owns or controls 
all rights to publish and sell the same.
Все права защищены. Любая часть этой книги не может быть воспроизведена в какой 
бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав.
ISBN 978-1-491-96460-6 (анг.)	
Copyright © 2017 Darren Cook
ISBN 978-5-97060-508-0 (рус.)	
©  Оформление, издание, перевод, ДМК Пресс, 2018


Содержание
Предисловие..............................................................................................................10
Глава 1. Установка и начало работы........................................................................13
Подготовка к установке.............................................................................................13
Установка R.............................................................................................................13
Установка Python....................................................................................................14
Конфиденциальность.............................................................................................14
Установка Java.........................................................................................................15
Установка H2O при помощи R (CRAN)......................................................................15
Установка H2O при помощи Python (pip).................................................................16
Наша первая задача машинного обучения..............................................................17
Обучение и предсказания в Python.......................................................................21
Обучение и предсказания в R................................................................................23
Производительность и предсказания...................................................................25
Если вам не повезло...............................................................................................26
Веб-интерфейс Flow...................................................................................................27
Данные....................................................................................................................28
Модели....................................................................................................................29
Предсказания..........................................................................................................31
Дополнительные сведения об интерфейсе Flow..................................................32
Резюме........................................................................................................................32
Глава 2. Импортирование и экспортирование данных.........................................33
Требования к памяти.................................................................................................33
Подготовка данных....................................................................................................34
Загрузка данных в H2O..............................................................................................35
Загрузка файлов в формате CSV............................................................................35
Загрузка файлов в других форматах.....................................................................37
Загрузка данных из R.............................................................................................38
Загрузка данных из Python....................................................................................39
Операции с данными.................................................................................................40
«Ленивость»,  присвоение имен и удаление........................................................40
Итоговые статистики.............................................................................................42
Операции со столбцами.........................................................................................42
Агрегирование строк..............................................................................................43
Индексация.............................................................................................................44
Разделение данных в кластере H2O......................................................................46
Строки и столбцы...................................................................................................49
Выгрузка данных из H2O...........................................................................................52
Экспорт таблиц.......................................................................................................52
Формат POJO...........................................................................................................53
Файлы моделей.......................................................................................................54
Сохранение всех моделей......................................................................................54
Резюме........................................................................................................................55


6    Содержание
Глава 3. Наборы данных...........................................................................................56
Набор данных об энергетической эффективности..................................................56
Настройка и загрузка.............................................................................................57
Переменные............................................................................................................58
Разделение данных................................................................................................59
Изучение данных...................................................................................................60
О наборе данных....................................................................................................64
Набор данных: рукописные цифры..........................................................................64
Настройка и загрузка.............................................................................................65
Изучение данных...................................................................................................66
Как можно «помочь» модели.................................................................................68
О наборе данных....................................................................................................70
Набор данных: результаты футбольных матчей......................................................70
Корреляции.............................................................................................................73
Пропущенные данные...........................................................................................76
Как обучать и тестировать?...................................................................................77
Настройка и загрузка.............................................................................................77
Третий источник данных.......................................................................................78
Снова про пропущенные данные..........................................................................80
Настройка и загрузка (снова)................................................................................80
О наборе данных....................................................................................................83
Резюме........................................................................................................................83
Глава 4. Общие параметры моделей.......................................................................84
Поддерживаемые метрики........................................................................................84
Метрики для регрессии..........................................................................................85
Метрики для классификации................................................................................85
Бинарная классификация......................................................................................86
Основы........................................................................................................................88
Объем выполняемой работы.....................................................................................89
Оценка и проверка.....................................................................................................90
Ранняя остановка.......................................................................................................90
Контрольные точки....................................................................................................92
Перекрестная проверка.............................................................................................94
Взвешивание наблюдений.........................................................................................95
Выборки и обобщающая способность.......................................................................98
Регрессия.....................................................................................................................99
Контроль вывода результатов.................................................................................100
Резюме......................................................................................................................100
Глава 5. Случайный лес...........................................................................................101
Решающие деревья...................................................................................................101
Случайный лес..........................................................................................................103
Параметры................................................................................................................103
Энергоэффективность зданий: случайный лес с настройками  
по умолчанию...........................................................................................................105


Содержание    7
Поиск по сетке..........................................................................................................107
Полный перебор...................................................................................................108
Случайный поиск.................................................................................................110
Общая стратегия...................................................................................................112
Энергоэффективность зданий: настроенный случайный лес...............................113
MNIST: случайный лес с настройками по умолчанию...........................................114
MNIST: настроенный случайный лес......................................................................116
Дополненные данные..........................................................................................119
Футбол: случайный лес с настройками по умолчанию..........................................120
Футбол: настроенный случайный лес.....................................................................122
Резюме......................................................................................................................124
Глава 6. Градиентный бустинг................................................................................125
Бустинг......................................................................................................................125
Хорошее, плохое… и непонятное............................................................................126
Параметры ...............................................................................................................127
Энергоэффективность зданий: градиентный бустинг с настройками  
по умолчанию...........................................................................................................128
Энергоэффективность зданий: настроенный градиентный бустинг...................130
MNIST: градиентный бустинг с настройками по умолчанию...............................133
MNIST: настроенный градиентный бустинг ..........................................................134
Футбол: градиентный бустинг с настройками по умолчанию..............................137
Футбол: настроенный градиентный бустинг.........................................................138
Резюме......................................................................................................................140
Глава 7. Линейные модели......................................................................................141
Параметры GLM........................................................................................................141
Данные об энергоэффективности: GLM с настройками по умолчанию...............145
Данные об энергоэффективности: настроенная GLM ..........................................147
MNIST: GLM с настройками по умолчанию............................................................151
MNIST: настроенная GLM........................................................................................153
Футбол: GLM с настройками по умолчанию...........................................................155
Футбол: настроенная GLM ......................................................................................156
Резюме......................................................................................................................157
Глава 8. Глубокое обучение (нейронные сети).....................................................158
Что такое нейронные сети?.....................................................................................159
Количественные и категориальные переменные..............................................160
Слои нейронной сети...........................................................................................161
Функции активации.............................................................................................163
Параметры................................................................................................................164
Регуляризация .....................................................................................................164
Оценка качества...................................................................................................165
Энергоэффективность зданий: модель глубокого обучения с настройками  
по умолчанию...........................................................................................................168
Энергоэффективность зданий: настроенная модель глубокого обучения..........168


8    Содержание
MNIST: модель глубокого обучения с настройками по умолчанию.....................174
MNIST: настроенная модель глубокого обучения..................................................175
Футбол: модель глубокого обучения с настройками по умолчанию....................179
Футбол: настроенная модель глубокого обучения.................................................180
Резюме......................................................................................................................185
Приложение: дополнительные параметры............................................................185
Глава 9. Обучение на неразмеченных данных....................................................187
Кластеризация методом k-средних........................................................................188
Автокодировщики....................................................................................................191
Вложенные автокодировщики............................................................................193
Метод главных компонент.......................................................................................194
GLRM.........................................................................................................................196
Пропущенные данные.............................................................................................196
GLRM.....................................................................................................................200
Избавляемся от R..................................................................................................200
Резюме......................................................................................................................203
Глава 10. Все остальное..........................................................................................204
Документация...........................................................................................................204
Установка актуальной версии..................................................................................204
Сборка из исходных кодов...................................................................................204
Запуск из командной строки...................................................................................205
Кластеры...................................................................................................................205
EC2.........................................................................................................................206
Другие облачные провайдеры.............................................................................206
Hadoop...................................................................................................................207
Spark / Sparkling Water..............................................................................................207
Наивный байесовский классификатор...................................................................207
Ансамбли...................................................................................................................208
Стекинг: h2o.ensemble.........................................................................................208
Ансамбли для классификации.............................................................................210
Резюме......................................................................................................................210
Глава 11. Эпилог.......................................................................................................211
Результаты для данных об энергоэффективности.................................................211
Результаты для набора данных MNIST...................................................................213
Результаты для данных о футбольных матчах.......................................................214
Как далеко вы готовы зайти....................................................................................216
Чем больше, тем лучше........................................................................................217
Еще больше данных.............................................................................................218
Отбор сложных примеров....................................................................................219
Автокодировщик..................................................................................................219
Сверточные сети...................................................................................................220
Ансамбли..............................................................................................................221
Результаты............................................................................................................222
Резюме......................................................................................................................223


Содержание    9
Приложение 1. Deep Water.....................................................................................224
Установка..................................................................................................................224
Сборка из исходных кодов...................................................................................224
Amazon Machine Image.........................................................................................224
Образ Docker.........................................................................................................224
Примеры данных..................................................................................................224
Обзор библиотеки Deep Water.................................................................................224
Глубокое обучение в библиотеке H2O.................................................................225
Современные тенденции в глубоком обучении.................................................225
Почему нужно использовать Deep Water............................................................225
Начало работы: набор данных MNIST.....................................................................226
Бекенды.................................................................................................................227
CPU и GPU.............................................................................................................227
Классификация изображений.................................................................................229
Данные..................................................................................................................229
Параметры изображений.....................................................................................229
Предварительно созданные архитектуры..........................................................229
Архитектуры, создаваемые  пользователем.......................................................230
Предварительно обученные нейросети..............................................................230
Веб-интерфейс Flow.................................................................................................230
Поиск по сетке..........................................................................................................233
Полный перебор...................................................................................................233
Случайный поиск.................................................................................................234
Контрольные точки..................................................................................................235
Ансамбли...................................................................................................................237
Признаки скрытых слоев и меры сходства.............................................................238
Поддержка нескольких GPU.....................................................................................239
Развертывание моделей..........................................................................................240
MOJO......................................................................................................................240
Prediction Service Builder......................................................................................240
Приложение 2. Ансамбли (стекинг моделей)........................................................241
Вступление................................................................................................................241
Стекинг / Super Learner............................................................................................241
Алгоритм...............................................................................................................242
Вложенные ансамбли в библиотеке H2O................................................................242
Пример......................................................................................................................243
На языке R.............................................................................................................243
На языке Python....................................................................................................245
Вопросы и ответы.....................................................................................................247
Дополнительная информация.................................................................................248
Список литературы..................................................................................................248
Краткий предметный указатель............................................................................249


Предисловие
Похоже, что машинное обучение наконец-то достигло стадии зрелости. У  него 
было длинное детство, охватывающее период с 1950-х гг., когда были созданы 
первые программы (для игры в шашки), обучающиеся на основе опыта, а также 
первые нейронные сети. Исследователи в области искусственного интеллекта так 
часто обещали скорый прорыв в этой сфере, что мы давно перестали их слушать. 
Но, возможно, они были на верном пути все это время, и нужно было лишь увеличить вычислительные мощности еще на порядок, или же немного доработать 
алгоритмы, чтобы перейти к их полезному и продуктивному использованию.
В начале 90-х нейронные сети называли новым прорывом в  области искусственного интеллекта. Я пытался применить их для игры в го, но они работали 
очень плохо даже по сравнению с результатами (также весьма посредственными), 
которые были получены инженерными методами на основе знания предметной 
области с использованием усеченных деревьев поиска. Также они плохо масштабировались. И когда 20 лет спустя я услышал о потрясающих успехах глубокого 
обучения в этой игре, я был смущен отличиями от нейросетей, от использования которых я тогда отказался. «Недостаточно много» – вот ответ; иногда нужно 
предоставить алгоритму больше вычислительных ресурсов (в данном случае на 
5–6 порядков больше), чтобы он раскрыл свой потенциал.
H2O – это программное обеспечение для машинного обучения и анализа данных. Я начал использовать данную библиотеку из-за интереса к возможностям 
глубокого обучения (хотя в ней реализованы и другие алгоритмы) и сразу же был 
впечатлен. Ее особенности:

 является открытым (open source) продуктом, распространяется на условиях 
лицензии Apache;

 проста в использовании;

 масштабируется для работы с большими данными;

 хорошо документирована и имеет коммерческую поддержку;

 актуальной является уже третья версия, что говорит о зрелой архитектуре;

 поддержка различных операционных систем и языков программирования.
При разработке H2O целью было обеспечение эффективной работы при масштабировании на больших объемах данных. 
В этой книге рассматривается практический аспект использования библиотеки 
H2O с минимумом математики и теоретических основ применяемых методов.
Разумеется, библиотека H2O не лишена недостатков, и вот некоторые из них. 
В ней нет поддержки вычислений на GPU, что, в частности, могло бы повысить 
эффективность работы алгоритмов глубокого обучения1. Кластеры предназначены для работы с большими объемами данных, но для обработки относительно 
небольших выборок со сложной структурой вам может понадобиться один многоядерный сервер. Для кластеров не реализована поддержка высокой доступности. 
Библиотека H2O написана на языке Java и хорошо оптимизирована, но теоретически реализации на C++ могут работать быстрее. Не реализован алгоритм SVM (ма1	 В разработке находится проект DeepWater, который добавляет поддержку других библиотек для глубокого обучения, использующих GPU.


Доступ онлайн
639 ₽
В корзину