Опубликовано

Встречайте: “Байесовская оптимизация с примерами из библиотек Python”

Байесовская оптимизация с примерами из библиотек Python

Книга рассказывает об оптимизации моделей машинного обучения на основе байесовского метода и теории вероятностей. Примеры составлены на языке Python с использованием библиотек PyTorch, GPyTorch и BoTorch.  Описаны приёмы настройки гиперпараметров, гауссовское распределение, использование политик машинного обучения, в частности на основе задачи о многоруких бандитах, повышение производительности вычислений, многовариантная оптимизация с учётом полезности и затрат, а также применение байесовского метода в специализированных сценариях.

Для специалистов по машинному обучению и математическим алгоритмам

Книга предназначена для практикующих специалистов по машинному обучению, уверенно ориентирующихся в математических методах и статистике.

О технологии:
Оптимизация в области машинного обучения заключается в достижении максимально качественных прогнозов за минимально возможное количество шагов. Так формируются кратчайшие маршруты доставки, идеальные цены, персонализированные рекомендации и т.д. В основе оптимизации по байесовскому методу лежит математический аппарат теории вероятностей. В рамках такой оптимизации вырабатываются способы настройки функций, алгоритмов и гиперпараметров машинного обучения.

О книге:
В книге рассказано, как выстраивать эффективные процессы машинного обучения с использованием байесовского подхода. Показано, как обучать модели на больших наборах данных, настраивать гиперпараметры и использовать метод парных сравнений.

Что внутри:

  • Гауссовские процессы для малых и больших наборов данных
  • Стратегии настройки гиперпараметров в моделях машинного обучения
  • Определение высокоэффективных регионов
  • Решение задач с использованием библиотек PyTorch, GPyTorch и BoTorch

Книгу “Байесовская оптимизация с примерами из библиотек PythonReact 19. Разработка веб-приложений на JavaScript” можно купить со скидкой в интернет-магазине издательства “БХВ“.

Введение…………………………………………………………………………………………………………………………………… 11

Пролог……………………………………………………………………………………………………………………………………….. 13

Благодарности…………………………………………………………………………………………………………………………. 15

О книге……………………………………………………………………………………………………………………………………….. 17

Кому следует прочитать эту книгу?………………………………………………………………………………………………….. 17

Как организована эта книга: дорожная карта……………………………………………………………………………………. 17

О коде……………………………………………………………………………………………………………………………………………. 20

Дискуссионный форум liveBook………………………………………………………………………………………………………… 21

Архив с иллюстрациями к книге……………………………………………………………………………………………………….. 21

Об авторе………………………………………………………………………………………………………………………………….. 22

О техническом редакторе……………………………………………………………………………………………………………….. 22

Об изображении на обложке………………………………………………………………………………………………… 23

Глава 1. Введение в байесовскую оптимизацию……………………………………………………………. 24

1.1. Нахождение оптимума дорогостоящей функции «черного ящика»………………………………………………. 25

1.1.1. Настройка гиперпараметров как пример дорогостоящей задачи оптимизации
«черного ящика»……………………………………………………………………………………………………………………… 25

1.1.2. Проблема дорогостоящей оптимизации «черного ящика»…………………………………………………. 27

1.1.3. Другие реальные примеры дорогостоящих задач оптимизации «черного ящика»……………….. 28

1.2. Введение в байесовскую оптимизацию……………………………………………………………………………………… 30

1.2.1. Моделирование с помощью гауссовского процесса…………………………………………………………… 31

1.2.2. Принятие решений с помощью политики БО…………………………………………………………………….. 34

1.2.3. Объединение ГП и политики БО для формирования цикла оптимизации……………………………. 35

1.2.4. Байесовская оптимизация в действии………………………………………………………………………………. 37

1.3. Что вы узнаете в этой книге?……………………………………………………………………………………………………. 43

Заключение……………………………………………………………………………………………………………………………………. 44

Часть I. Моделирование с помощью гауссовских процессов………………….. 45

Глава 2. Гауссовский процесс как распределение по функциям…………………………………. 47

2.1. Как продать свой дом по методу Байеса……………………………………………………………………………………. 49

2.2. Моделирование корреляций с помощью многомерных гауссовских распределений и байесовских обновлений             51

2.2.1. Использование многомерных распределений Гаусса для совместного моделирования нескольких переменных 51

2.2.2. Обновление нормальных распределений…………………………………………………………………………. 55

2.2.3. Моделирование множества переменных с помощью многомерных гауссовских распределений 58

2.3. Переход от конечной гауссианы к бесконечной………………………………………………………………………….. 60

2.4. Реализация ГП в Python……………………………………………………………………………………………………………. 65

2.4.1. Настройка обучающих данных…………………………………………………………………………………………. 65

2.4.2. Реализация класса ГП……………………………………………………………………………………………………… 67

2.4.3. Создание прогнозов с помощью ГП………………………………………………………………………………….. 69

2.4.4. Визуализация прогнозов ГП…………………………………………………………………………………………….. 70

2.4.5. Выход за рамки одномерных целевых функций…………………………………………………………………. 73

2.5. Упражнение……………………………………………………………………………………………………………………………… 75

Заключение……………………………………………………………………………………………………………………………………. 77

Глава 3. Настройка ГП с помощью функций среднего значения и ковариации……….. 78

3.1. Важность априорных знаний в байесовских моделях………………………………………………………………….. 79

3.2. Включение предварительных знаний в ГП………………………………………………………………………………… 82

3.3. Определение поведения целевой функции с помощью функции среднего значения……………………. 83

3.3.1. Использование функции нулевого среднего в качестве базовой стратегии………………………… 84

3.3.2. Использование постоянной функции с градиентным спуском…………………………………………….. 86

3.3.3. Использование линейной функции с градиентным спуском……………………………………………….. 90

3.3.4. Использование квадратичной функции с помощью реализации пользовательской функции среднего  92

3.4. Определение изменчивости и гладкости с помощью ковариационной функции…………………………… 95

3.4.1. Настройка масштабов функции ковариации……………………………………………………………………… 95

3.4.2. Управление гладкостью с помощью различных ковариационных функций…………………………. 99

3.4.3. Моделирование различных уровней изменчивости с помощью
множественных масштабов длины…………………………………………………………………………………………… 101

3.5. Упражнение……………………………………………………………………………………………………………………………. 104

Заключение………………………………………………………………………………………………………………………………….. 106

Часть II. Принятие решений с помощью байесовской оптимизации…… 107

Глава 4. Достижение наилучшего результата с помощью политик,
основанных на улучшениях………………………………………………………………………………………………… 109

4.1. Навигация по пространству поиска в БО………………………………………………………………………………….. 110

4.1.1. Цикл БО и политики……………………………………………………………………………………………………….. 110

4.1.2. Баланс между исследованием и эксплуатацией……………………………………………………………….. 120

4.2. Поиск улучшений в БО……………………………………………………………………………………………………………. 122

4.2.1. Измерение улучшения с помощью ГП…………………………………………………………………………….. 123

4.2.2. Вычисление вероятности улучшения……………………………………………………………………………… 127

4.2.3. Запуск политики PoI……………………………………………………………………………………………………….. 131

4.3. Оптимизация ожидаемого значения улучшения……………………………………………………………………….. 135

4.4. Упражнения……………………………………………………………………………………………………………………………. 139

4.4.1. Упражнение 1: поощрение исследования с помощью PoI………………………………………………… 139

4.4.2. Упражнение 2: БО для настройки гиперпараметров………………………………………………………… 140

Заключение………………………………………………………………………………………………………………………………….. 142

Глава 5. Исследование пространства поиска с помощью «многорукого бандита». 143

5.1. Введение в задачу многорукого бандита………………………………………………………………………………….. 144

5.1.1. Как найти наилучший игровой автомат в казино……………………………………………………………… 144

5.1.2. От MAB к БО………………………………………………………………………………………………………………….. 147

5.2. Как быть оптимистом в условиях неопределенности с помощью политики
верхней доверительной границы…………………………………………………………………………………………….. 149

5.2.1. Оптимизм в условиях неопределенности………………………………………………………………………… 149

5.2.2. Баланс между исследованием и эксплуатацией……………………………………………………………….. 152

5.2.3. Реализация с помощью BoTorch…………………………………………………………………………………….. 154

5.3. Интеллектуальная выборка с помощью политики выборки Томпсона……………………………………….. 157

5.3.1. Одна выборка для представления неизвестного……………………………………………………………… 157

5.3.2. Реализация с помощью BoTorch…………………………………………………………………………………….. 160

5.4. Упражнения……………………………………………………………………………………………………………………………. 166

5.4.1. Упражнение 1: Настройка плана эксплуатации для UCB………………………………………………….. 167

5.4.2. Упражнение 2: БО для настройки гиперпараметров………………………………………………………… 167

Заключение………………………………………………………………………………………………………………………………….. 168

Глава 6. Использование теории информации с политиками на основе энтропии.. 170

6.1. Измерение знаний с помощью теории информации…………………………………………………………………. 171

6.1.1. Измерение неопределенности с помощью энтропии……………………………………………………….. 171

6.1.2. Поиск пульта дистанционного управления с помощью энтропии………………………………………. 174

6.1.3. Бинарный поиск с применением энтропии………………………………………………………………………. 177

6.2. Энтропийный поиск в БО………………………………………………………………………………………………………… 183

6.2.1. Поиск оптимума с помощью теории информации…………………………………………………………….. 183

6.2.2. Реализация энтропийного поиска с помощью BoTorch…………………………………………………….. 187

6.3. Упражнения……………………………………………………………………………………………………………………………. 190

6.3.1. Упражнение 1: Включение предварительных (априорных) знаний в энтропийный поиск…… 190

6.3.2. Упражнение 2: Байесовская оптимизация для настройки гиперпараметров……………………… 192

Заключение………………………………………………………………………………………………………………………………….. 193

Часть III. Расширение байесовской оптимизации на специализированные сценарии               195

Глава 7. Максимизация производительности за счет оптимизации
пакетной обработки……………………………………………………………………………………………………………… 197

7.1. Одновременное выполнение нескольких оценок функций………………………………………………………… 198

7.1.1. Параллельное использование всех доступных ресурсов………………………………………………….. 198

7.1.2. Почему нельзя использовать обычные политики БО в пакетном режиме?……………………….. 201

7.2. Вычисление улучшения и верхней доверительной границы для набора точек…………………………… 203

7.2.1. Расширение эвристик оптимизации для пакетного режима………………………………………………. 203

7.2.2. Реализация пакетных политик PoI, EI и UCB…………………………………………………………………… 210

7.3. Упражнение 1: Расширение TS до пакетной оптимизации с помощью повторной выборки………… 216

7.4. Вычисление ценности пакета точек с помощью теории информации………………………………………… 217

7.4.1. Нахождение наиболее информативного пакета точек с помощью цикличного уточнения….. 217

7.4.2. Реализация пакетного энтропийного поиска с помощью BoTorch…………………………………….. 220

7.5. Упражнение 2: Оптимизация конструкции самолета…………………………………………………………………. 222

Заключение………………………………………………………………………………………………………………………………….. 225

Глава 8. Удовлетворение особых ограничений с помощью
ограниченной оптимизации………………………………………………………………………………………………… 227

8.1. Учет ограничений в задаче ограниченной оптимизации…………………………………………………………… 228

8.1.1. Ограничения могут изменить решение задачи оптимизации……………………………………………. 228

8.1.2. Структура БО, учитывающая ограничения……………………………………………………………………… 231

8.2. Принятие решений с учетом ограничений в БО……………………………………………………………………….. 232

8.3. Упражнение 1: Ручное вычисление ограниченной EI………………………………………………………………… 238

8.4. Реализация ограниченной EI с помощью BoTorch……………………………………………………………………. 239

8.5. Упражнение 2: Ограниченная оптимизация при конструировании самолета………………………………. 243

Заключение………………………………………………………………………………………………………………………………….. 245

Глава 9. Балансирование между полезностью и затратами
с помощью многовариантной оптимизации…………………………………………………………………… 246

9.1. Использование приближений с низкой точностью для изучения дорогостоящих явлений…………… 248

9.2. Разноточное моделирование с помощью ГП……………………………………………………………………………. 251

9.2.1. Форматирование разноточного набора данных……………………………………………………………….. 251

9.2.2. Обучение разноточного ГП…………………………………………………………………………………………….. 255

9.3. Баланс между информацией и затратами в разноточной оптимизации……………………………………… 260

9.3.1. Моделирование затрат на запросы различной точности………………………………………………….. 260

9.3.2. Оптимизация количества информации для управления оптимизацией…………………………….. 262

9.4. Измерение производительности в разноточной оптимизации…………………………………………………… 267

9.5. Упражнение 1: Визуализация средней производительности в разноточной оптимизации…………… 272

9.6. Упражнение 2: Разноточная оптимизация с использованием нескольких
низкоточных приближений………………………………………………………………………………………………………. 273

Заключение………………………………………………………………………………………………………………………………….. 275

Глава 10. Обучение на парных сравнениях с помощью оптимизации
предпочтений…………………………………………………………………………………………………………………………. 277

10.1. Оптимизация «черного ящика» с помощью парных сравнений……………………………………………….. 279

10.2. Формулировка задачи оптимизации предпочтений и форматирование данных
парного сравнения………………………………………………………………………………………………………………… 282

10.3. Обучение ГП, основанного на предпочтениях………………………………………………………………………… 286

10.4. Оптимизация предпочтений с помощью игры «Царь горы»…………………………………………………….. 290

Заключение………………………………………………………………………………………………………………………………….. 294

Глава 11. Оптимизация нескольких целевых функций одновременно……………………. 296

11.1. Балансирование нескольких целей оптимизации с помощью БО…………………………………………….. 297

11.2. Нахождение границы наиболее оптимальных точек данных……………………………………………………. 299

11.3. Стремление к улучшению оптимальной границы данных………………………………………………………… 307

11.4. Упражнение: Многоцелевая оптимизация для конструирования самолета………………………………. 313

Заключение………………………………………………………………………………………………………………………………….. 314

Часть IV. Специальные модели гауссовского процесса……………………………. 315

Глава 12. Масштабирование гауссовского процесса для больших наборов
данных……………………………………………………………………………………………………………………………………… 317

12.1. Обучение ГП на большом наборе данных………………………………………………………………………………. 319

12.1.1. Постановка задачи обучения……………………………………………………………………………………… 319

12.1.2. Обучение обычного ГП………………………………………………………………………………………………. 322

12.1.3. Проблемы с обучением обычного ГП………………………………………………………………………….. 324

12.2. Автоматический выбор репрезентативных точек из большого набора данных………………………… 327

12.2.1. Минимизация различий между двумя ГП…………………………………………………………………….. 327

12.2.2. Обучение модели небольшими пакетами……………………………………………………………………. 329

12.2.3. Реализация приближенной модели…………………………………………………………………………….. 332

12.3. Достижение лучшей оптимизации с учетом геометрии поверхности потерь……………………………… 338

12.4. Упражнение………………………………………………………………………………………………………………………….. 344

Заключение………………………………………………………………………………………………………………………………….. 346

Глава 13. Комбинирование гауссовских процессов с нейросетями………………………… 347

13.1. Данные, имеющие структуру………………………………………………………………………………………………….. 348

13.2. Нахождение сходства в структурированных данных……………………………………………………………….. 351

13.2.1. Использование ядра с GPyTorch………………………………………………………………………………… 352

13.2.2. Работа с изображениями в PyTorch…………………………………………………………………………….. 352

13.2.3. Вычисление ковариации двух изображений………………………………………………………………… 354

13.2.4. Обучение ГП на изображениях…………………………………………………………………………………… 355

13.3. Использование нейросетей для обработки сложных структурированных данных……………………… 359

13.3.1. Зачем использовать нейросети для моделирования?………………………………………………….. 359

13.3.2. Реализация комбинированной модели в GPyTorch………………………………………………………. 361

Заключение………………………………………………………………………………………………………………………………….. 368

ПРИЛОЖЕНИЕ. Решения для упражнений………………………………………………………………………… 369

П.1. Глава 2: Гауссовский процесс как распределение по функциям……………………………………………….. 369

П.2. Глава 3: Объединение предварительных знаний с функциями среднего и ковариации……………… 372

П.3. Глава 4: Достижение наилучшего результата с помощью политик,
основанных на улучшениях…………………………………………………………………………………………………….. 374

П.3.1. Упражнение 1: Поощрение исследований с помощью вероятности улучшения……………….. 375

П.3.2. Упражнение 2: БО для настройки гиперпараметров……………………………………………………….. 376

П.4. Глава 5: Исследование пространства поиска с помощью политик «многорукого бандита»…………. 382

П.4.1. Упражнение 1: Настройка плана исследования для верхней доверительной границы……… 383

П.4.2. Упражнение 2: БО для настройки гиперпараметров……………………………………………………….. 384

П.5. Глава 6: Использование теории информации с политиками, основанными на энтропии……………. 387

П.5.1. Упражнение 1: Включение предварительных знаний в энтропийный поиск…………………….. 388

П.5.2. Упражнение 2: БО для настройки гиперпараметров……………………………………………………….. 391

П.6. Глава 7: Увеличение пропускной способности с помощью пакетной оптимизации…………………….. 392

П.6.1. Упражнение 1: Расширение TS для пакетного режима с помощью повторной выборки…… 392

П.6.2. Упражнение 2: Оптимизация конструкции самолета……………………………………………………….. 393

П.7. Глава 8: Удовлетворение дополнительных ограничений с помощью ограниченной оптимизации. 397

П.7.1. Упражнение 1: Ручное вычисление ограниченной политики EI……………………………………….. 397

П.7.2. Упражнение 2: Ограниченная оптимизация конструкции самолета…………………………………. 400

П.8. Глава 9: Баланс между полезностью и затратами с помощью разноточной оптимизации…………… 402

П.8.1. Упражнение 1: Визуализация средней производительности при разноточной оптимизации 403

П.8.2. Упражнение 2: Разноточная оптимизация с использованием нескольких
низкоточных приближений……………………………………………………………………………………………………… 405

П.9. Глава 11: Оптимизация нескольких целевых функций одновременно……………………………………….. 407

П.10. Глава 12: Масштабирование гауссовских процессов на большие наборы данных……………………. 409

Предметный указатель………………………………………………………………………………………………………… 414

Добавить комментарий