Предисловие....12
Благодарности....13
О книге ....15
Об авторе ....20
Иллюстрация на обложке....21
Часть 1 Введение в алгоритмы машинного обучения....22
Глава 1. Алгоритмы машинного обучения....23
1.1. Типы алгоритмов машинного обучения....24
1.2. Зачем изучать алгоритмы с нуля?....27
1.3. Математические основы....28
1.4.1. Два основных направления байесовского вывода: MCMC и VI....31
1.4.2. Современные алгоритмы глубокого обучения....33
1.5. Реализация алгоритмов....33
1.5.1. Структуры данных....34
1.5.2. Парадигмы решения задач....34
Итоги....35
Глава 2. Марковские цепи Монте-Карло....36
2.1. Введение в марковские цепи Монте-Карло....37
2.1.1. Апостериорное распределение для подбрасываний монеты....38
2.1.2. Цепи Маркова для ранжирования веб-страниц....41
2.2. Оценка числа «пи»....42
2.3. Модель биномиального дерева....45
2.4. Самоизбегающее случайное блуждание....48
2.5. Семплирование по Гиббсу....52
2.6. Алгоритм Метрополиса — Гастингса....56
2.7. Выборка по значимости....60
2.8. Упражнения....66
Итоги....67
Глава 3. Вариационный вывод....68
3.1. Вариационный вывод KL....69
3.2. Приближение среднего поля....72
3.3. Удаление шума на изображении в модели Изинга....74
3.4. Максимизация взаимной информации....81
3.5. Упражнения....82
Итоги....82
Глава 4. Программная реализация....83
4.1. Структуры данных....83
4.1.1. Линейные структуры данных....84
4.1.2. Нелинейные структуры данных....85
4.1.3. Вероятностные структуры данных....86
4.2. Парадигмы решения задач....87
4.2.1. Полный поиск....87
4.2.2. Жадный алгоритм....88
4.2.3. Разделяй и властвуй....90
4.2.4. Динамическое программирование....91
4.3. Исследования в области ML: методы семплирования и вариационный вывод....93
4.4. Упражнения....95
Итоги....96
Часть 2 Обучение с учителем....97
Глава 5. Алгоритмы классификации....98
5.1. Введение в задачу классификации....99
5.2. Перцептрон....100
5.3. Метод опорных векторов....106
5.4. Логистическая регрессия....112
5.5. Наивный байесовский классификатор....120
5.6. Дерево решений (CART)....126
5.7. Упражнения....132
Итоги....132
Глава 6. Алгоритмы регрессии....133
6.1. Введение в регрессию....134
6.2. Байесовская линейная регрессия....134
6.3. Иерархическая байесовская регрессия....138
6.4. Регрессия K ближайших соседей....142
6.5. Регрессия на основе гауссовского процесса....144
6.6. Упражнения....149
Итоги....149
Глава 7. Избранные алгоритмы обучения с учителем....150
7.1. Марковские модели....151
7.1.1. Алгоритм ранжирования страниц....152
7.1.2. Скрытые марковские модели....155
7.2. Обучение на несбалансированных данных....161
7.2.1. Стратегии уменьшения выборки....162
7.2.2. Стратегии увеличения выборки....164
7.3. Активное обучение....167
7.3.1. Стратегии запроса....168
7.4. Выбор модели: настройка гиперпараметров....176
7.4.1. Байесовская оптимизация....177
7.5. Ансамблевые методы....180
7.5.1. Бэггинг....180
7.5.2. Бустинг....184
7.5.3. Стекинг....187
7.6. Исследования в области ML: алгоритмы обучения с учителем....190
7.7. Упражнения....192
Итоги....192
Часть 3 Обучение без учителя....194
Глава 8. Основные алгоритмы обучения без учителя....195
8.1. Метод K средних с процессом Дирихле....196
8.2. Модели гауссовой смеси....201
8.2.1. Алгоритм максимизации ожидания....202
8.3. Снижение размерности....209
8.3.1. Анализ главных компонент....209
8.3.2. Метод t-SNE-обучения на базе многообразий на примере изображений....212
8.4. Упражнения....215
Итоги....215
Глава 9. Избранные алгоритмы обучения без учителя....216
9.1. Латентное размещение Дирихле....217
9.1.1. Вариационный байесовский метод....218
9.2. Оценки плотности....225
9.2.1. Ядерная оценка плотности....226
9.2.2. Оптимизация тангенциального портфеля....228
9.3. Моделирование структуры....231
9.3.1. Алгоритм Чоу — Лю....232
9.3.2. Оценка обратной ковариационной матрицы....233
9.4. Метод имитации отжига....237
9.5. Генетический алгоритм....242
9.6. Исследования в области ML: обучение без учителя....245
9.7. Упражнения....247
Итоги....247
Часть 4 Глубокое обучение....249
Глава 10. Фундаментальные алгоритмы глубокого обучения....250
10.1. Многослойный перцептрон....251
10.2. Сверточные нейронные сети....256
10.2.1. LeNet на датасете MNIST....257
10.2.2. ResNet для поиска изображений....261
10.3. Рекуррентные нейронные сети....264
10.3.1. LSTM-классификация последовательностей....265
10.3.2. Модель с несколькими входами....269
10.4. Оптимизаторы нейронных сетей....275
10.5. Упражнения....281
Итоги....281
Глава 11. Передовые алгоритмы глубокого обучения....283
11.1. Автоэнкодеры....284
11.1.1. VAE: обнаружение аномалий во временных рядах....286
11.2. Амортизированный вариационный вывод....292
11.2.1. Сети смешанной плотности....292
11.3. Внимание и трансформеры....299
11.4. Графовые нейронные сети....307
11.5. Исследования в области ML: глубокое обучение....313
11.6. Упражнения....316
Итоги....316
Приложение А. Дополнительные материалы и веб-ресурсы....318
А.1. Спортивное программирование....318
А.2. Рекомендуемая литература....318
А.3. Научно-исследовательские конференции....320
Приложение Б. Ответы на упражнения....322
Узнайте тонкости работы алгоритмов ML, чтобы эффективно решать задачи и повышать производительность используемых моделей. Познакомьтесь с фундаментальными математическими основами важнейших алгоритмов машинного обучения и вариантами их реализации на Python. Особое внимание уделяется вероятностным методам.
В книге анализируются и объясняются десятки алгоритмов, применяемых в различных сферах, в частности, финансах, компьютерном зрении и обработке естественного языка. Каждый алгоритм сначала выводится математически, а потом иллюстрируется кодом на Python, снабженным подробными пояснениями и информативными графиками. Особую ценность представляет данная автором ясная интерпретация байесовских алгоритмов для моделей Монте-Карло и марковских цепей.