Вероятностное программирование на практике
книга

Вероятностное программирование на практике

Здесь можно купить книгу "Вероятностное программирование на практике " в печатном или электронном виде. Также, Вы можете прочесть аннотацию, цитаты и содержание, ознакомиться и оставить отзывы (комментарии) об этой книге.

Автор: Ави Пфеффер

Форматы: PDF

Издательство: ДМК Пресс

Год: 2017

Место издания: Москва

ISBN: 978-5-97060-410-6

Страниц: 462

Артикул: 95435

Возрастная маркировка: 16+

Электронная книга
719

Краткая аннотация книги "Вероятностное программирование на практике"

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

Содержание книги "Вероятностное программирование на практике "


Предисловие
Вступление
Благодарности
Об этой книге
Структура книги
О коде и упражнениях
Об авторе
Автор в сети
Об иллюстрации на обложке
ЧАСТЬ I. Введение в вероятностное программирование и систему Figaro
Глава 1. О вероятностном программировании в двух словах
1.1. Что такое вероятностное программирование?
1.1.1. Как мы высказываем субъективное суждение?
1.1.2. Системы вероятностных рассуждений помогают принимать решения
1.1.3. Система вероятностных рассуждений может рассуждать тремя способами
1.1.4. Система вероятностного программирования: система вероятностных рассуждений, выраженная на языке программирования
1.2. Зачем нужно вероятностное программирование?
1.2.1. Улучшенные вероятностные рассуждения
1.2.2. Улучшенные языки имитационного моделирования
1.3. Введение в Figaro, язык вероятностного программирования
1.3.1. Figaro и Java: построение простой системы вероятностного программирования
1.4. Резюме
1.5. Упражнения
Глава 2. Краткое руководство по языку Figaro
2.1. Введение в Figaro
2.2. Создание модели и выполнение алгоритма вывода на примере Hello World
2.2.1. Построение первой модели
2.2.2. Выполнение алгоритма вывода и получение ответа на запрос
2.2.3. Построение моделей и задание наблюдений
2.2.4. Анатомия построения модели
2.2.5. Повторяющиеся элементы: когда они совпадают, а когда различаются
2.3. Базовые строительные блоки: атомарные элементы
2.3.1. Дискретные атомарные элементы
2.3.2. Непрерывные атомарные элементы
2.4. Комбинирование атомарных элементов с помощью составных
2.4.1. Элемент If
2.4.2. Элемент Dist
2.4.3. Составные версии атомарных элементов
2.5. Построение более сложных моделей с помощью Apply и Chain
2.5.1. Элемент Apply
2.5.2. Элемент Chain
2.6. Задание фактов с помощью условий и ограничений
2.6.1. Наблюдения
2.6.2. Условия
2.6.3. Ограничения
2.7. Резюме
2.8. Упражнения
Глава 3. Создание приложения вероятностного программирования
3.1. Общая картина
3.2. Выполнение кода
3.3. Архитектура приложения фильтра спама
3.3.1. Архитектура аналитического компонента
3.3.2. Архитектура компонента обучения
3.4. Проектирование модели почтового сообщения
3.4.1. Выбор элементов
3.4.2. Определение зависимостей
3.4.3. Определение функциональных форм
3.4.4. Использование числовых параметров
3.4.5. Работа с дополнительными знаниями
3.5. Разработка аналитического компонента
3.6. Разработка компонента обучения
3.7. Резюме
3.8. Упражнения
ЧАСТЬ II. Написание вероятностных программ
Глава 4. Вероятностные модели и вероятностные программы
4.1. Определение вероятностной модели
4.1.1. Выражение общих знаний в виде распределения вероятности возможных миров
4.1.2. Подробно о распределении вероятности
4.2. Использование вероятностной модели для ответа на запросы
4.2.1. Применение условий для получения апостериорного распределения вероятности
4.2.2. Получение ответов на запросы
4.2.3. Применение вероятностного вывода
4.3. Составные части вероятностных моделей
4.3.1. Переменные
4.3.2. Зависимости
4.3.3. Функциональные формы
4.3.4. Числовые параметры
4.4. Порождающие процессы
4.5. Модели с непрерывными переменными
4.5.1. Бета-биномиальная модель
4.5.2. Представление непрерывных переменных
4.6. Резюме
4.7. Упражнения
Глава 5. Моделирование зависимостей с помощью байесовских и марковских сетей
5.1. Моделирование зависимостей
5.1.1. Направленные зависимости
5.1.2. Ненаправленные зависимости
5.1.3. Прямые и косвенные зависимости
5.2. Байесовские сети
5.2.1. Определение байесовской сети
5.2.2. Как байесовская сеть определяет распределение вероятности
5.2.3. Рассуждения с применением байесовской сети
5.3. Изучение примера байесовской сети
5.3.1. Проектирование модели диагностики компьютерной системы
5.3.2. Рассуждения с помощью модели диагностики компьютерной системы
5.4. Применение вероятностного программирования для обобщения байесовских сетей: предсказание успешности продукта
5.4.1. Проектирование модели для предсказания успешности продукта
5.4.2. Рассуждения с помощью модели для предсказания успешности продукта
5.5. Марковские сети
5.5.1. Определение марковской сети
5.5.2. Представление марковских сетей и рассуждения с их помощью
5.6. Резюме
5.7. Упражнения
Глава 6. Использование коллекций Scala и Figaro для построения моделей
6.1. Работа с коллекциями Scala
6.1.1. Моделирование зависимости многих переменных от одной
6.1.2. Создание иерархических моделей
6.1.3. Моделирование одновременной зависимости от двух переменных
6.2. Работа с коллекциями Figaro
6.2.1. Почему коллекции Figaro полезны?
6.2.2. Иерархическая модель и коллекции Figaro
6.2.3. Совместное использование коллекций Scala и Figaro
6.3. Моделирование ситуаций с неизвестным числом объектов
6.3.1. Открытая вселенная с неизвестным числом объектов
6.3.2. Массивы переменной длины
6.3.3. Операции над массивами переменной длины
6.3.4. Пример: прогнозирование продаж неизвестного числа новых продуктов
6.4. Работа с бесконечными процессами
6.4.1. Характеристика Process
6.4.2. Пример: моделирование состояния здоровья во времени
6.4.3. Использование процесса
6.5. Резюме
6.6. Упражнения
Глава 7. Объектно-ориентированное вероятностное моделирование
7.1. Объектно-ориентированные вероятностные модели
7.1.1. Элементы объектно-ориентированного моделирования
7.1.2. Еще раз о модели принтера
7.1.3. Рассуждения о нескольких принтерах
7.2. Добавление связей в объектно-ориентированные модели
7.2.1. Описание общей модели на уровне классов
7.2.2. Описание ситуации
7.2.3. Представление модели социальной сети на Figaro
7.3. Моделирование реляционной неопределенности и неопределенности типа
7.3.1. Коллекции элементов и ссылки
7.3.2. Модель социальной сети с реляционной неопределенностью
7.3.3. Модель принтера с неопределенностью типа
7.4. Резюме
7.5. Упражнения
Глава 8. Моделирование динамических систем
8.1. Динамические вероятностные модели
8.2. Типы динамических моделей
8.2.1. Марковские цепи
8.2.2. Скрытые марковские модели
8.2.3. Динамические байесовские сети
8.2.4. Модели с нестационарной структурой
8.3. Моделирование систем, работающих неопределенно долго
8.3.1. Универсумы в Figaro
8.3.2. Использование универсумов для моделирования постоянно работающих систем
8.3.3. Следящее приложение
8.4. Резюме
8.5. Упражнения
ЧАСТЬ III. Вывод
Глава 9. Три правила вероятностного вывода
9.1. Цепное правило: построение совместных распределений по условным распределениям вероятности
9.2. Правило полной вероятности: получение ответов на простые запросы из совместного распределения
9.3. Правило Байеса: вывод причин из следствий
9.3.1. Понимание, причина, следствие и вывод
9.3.2. Правило Байеса на практике
9.4. Байесовское моделирование
9.4.1. Оценивание асимметрии монеты
9.4.2. Предсказание результата следующего подбрасывания
9.5. Резюме
9.6. Упражнения
Глава 10. Факторные алгоритмы вывода
10.1. Факторы
10.1.1. Что такое фактор?
10.1.2. Факторизация распределения вероятности с помощью цепного правила
10.1.3. Задание запросов с факторами с помощью правила полной вероятности
10.2. Алгоритм исключения переменных
10.2.1. Графическая интерпретация ИП
10.2.2. Исключение переменных как алгебраическая операция
10.3. Использование алгоритма ИП
10.3.1. Особенности ИП в Figaro
10.3.2. Проектирование модели, эффективно поддерживающей ИП
10.3.3. Приложения алгоритма ИП
10.4. Распространение доверия
10.4.1. Основные принципы РД
10.4.2. Свойства циклического РД
10.5. Использование алгоритма РД
10.5.1. Особенности РД в Figaro
10.5.2. Проектирование модели, эффективно поддерживающей РД
10.5.3. Приложения алгоритма РД
10.6. Резюме
10.7. Упражнения
Глава 11. Выборочные алгоритмы
11.1. Принцип работы выборочных алгоритмов
11.1.1. Прямая выборка
11.1.2. Выборка с отклонением
11.2. Выборка по значимости
11.2.1. Как работает выборка по значимости
11.2.2. Выборка по значимости в Figaro
11.2.3. Полезность выборки по значимости
11.2.4. Приложения алгоритма выборки по значимости
11.3. Алгоритм Монте-Карло по схеме марковской цепи
11.3.1. Как работает MCMC
11.3.2. Алгоритм MCMC в Figaro: алгоритм Метрополиса-Гастингса
11.4. Настройка алгоритма МГ
11.4.1. Специальные схемы предложения
11.4.2. Избежание жестких условий
11.4.3. Приложения алгоритма МГ
11.5. Резюме
11.6. Упражнения
Глава 12. Решение других задач вывода
12.1. Вычисление совместных распределений
12.2. Вычисление наиболее вероятного объяснения
12.2.1. Вычисление и запрос НВО в Figaro
12.2.2. Использование алгоритмов для ответа на запросы НВО
12.2.3. Приложения алгоритмов НВО
12.3. Вычисление вероятности фактов
12.3.1. Наблюдение фактов для вычисления вероятности фактов
12.3.2. Выполнение алгоритмов вычисления вероятности фактов
12.4. Резюме
12.5. Упражнения
Глава 13. Динамические рассуждения и обучение параметров
13.1. Мониторинг состояния динамической системы
13.1.1. Механизм мониторинга
13.1.2. Алгоритм фильтрации частиц
13.1.3. Применения фильтрации
13.2. Обучение параметров модели
13.2.1. Байесовское обучение
13.2.2. Обучение методом максимального правдоподобия и МАВ
13.3. Дальше вместе с Figaro
13.4. Резюме
13.5. Упражнения
Приложение А. Получение и установка Scala и Figaro
A.1. Использование sbt
A.2. Установка и запуск Figaro без sbt
A.3. Сборка из исходного кода
Приложение B. Краткий обзор систем вероятностного программирования
Предметный указатель


Все отзывы о книге Вероятностное программирование на практике

Чтобы оставить отзыв, зарегистрируйтесь или войдите

Внимание!
При обнаружении неточностей или ошибок в описании книги "Вероятностное программирование на практике (автор Ави Пфеффер)", просим Вас отправить сообщение на почту help@directmedia.ru. Благодарим!