Данный классический труд содержит современное введение в машинное обучение, рассматриваемое сквозь призму вероятностного моделирования и байесовской теории принятия решений. Включен базовый математический аппарат (в том числе элементы линейной алгебры и теории оптимизации), основы обучения с учителем (включая линейную и логистическую регрессию и глубокие нейронные сети), а также более глубокие темы (в частности, перенос обучения и обучение без учителя).
Упражнения в конце глав помогут читателям применить полученные знания. В приложении приводится сводка используемых обозначений.
Книга будет полезна специалистам в области машинного обучения и студентам профильных специальностей.
Author(s): Кэвин П. Мэрфи
Edition: 1
Publisher: ДМК Пресс
Year: 2022
Language: Russian
Commentary: Vector PDF
Pages: 940
City: М.
Tags: Machine Learning; Probabilistic Models; Neural Networks; Deep Learning; Supervised Learning; Python; Recommender Systems; Bayesian Inference; Clustering; Kernel Methods; Statistics; Optimization; Linear Regression; Logistic Regression; Linear Algebra; Probability Theory; Linear Models; Random Forest; Dimensionality Reduction; Bagging; Nonparametric Models; Boosting; Graph Embeddings
От издательства
Предисловие
Глава 1. Введение
1.1. Что такое машинное обучение?
1.2. Обучение с учителем
1.2.1. Классификация
1.2.1.1. Пример: классификация ирисов
1.2.1.2. Разведочный анализ данных
1.2.1.3. Обучение классификатора
1.2.1.4. Минимизация эмпирического риска
1.2.1.5. Неопределенность
1.2.1.6. Оценка максимального правдоподобия
1.2.2. Регрессия
1.2.2.1. Линейная регрессия
1.2.2.2. Полиномиальная регрессия
1.2.2.3. Глубокие нейронные сети
1.2.3. Переобучение и обобщаемость
1.2.4. Теорема об отсутствии бесплатных завтраков
1.3. Обучение без учителя
1.3.1. Кластеризация
1.3.2. Обнаружение латентных «факторов изменчивости»
1.3.3. Самостоятельное обучение
1.3.4. Оценка обучения без учителя
1.4. Обучение с подкреплением
1.5. Данные
1.5.1. Некоторые широко известные наборы изображений
1.5.1.1. Небольшие наборы изображений
1.5.1.2. ImageNet
1.5.2. Некоторые широко известные наборы текстовых данных
1.5.2.1. Классификация текста
1.5.2.2. Машинный перевод
1.5.2.3. Другие задачи типа seq2seq
1.5.2.4. Языковое моделирование
1.5.3. Предобработка дискретных входных данных
1.5.3.1. Унитарное кодирование
1.5.3.2. Перекрестные произведения признаков
1.5.4. Предобработка текстовых данных
1.5.4.1. Модель мешка слов
1.5.4.2 TF-IDF
1.5.4.3. Погружения слов
1.5.4.4. Обработка новых слов
1.5.5. Обработка отсутствующих данных
1.6. Обсуждение
1.6.1. Связь МО с другими дисциплинами
1.6.2. Структура книги
1.6.3. Подводные камни
Часть I. Основания
Глава 2. Вероятность: одномерные модели
2.1. Введение
2.1.1. Что такое вероятность?
2.1.2. Типы неопределенности
2.1.3. Вероятность как обобщение логики
2.1.3.1. Вероятность события
2.1.3.2. Вероятность конъюнкции двух событий
2.1.3.3. Вероятность объединения двух событий
2.1.3.4. Условная вероятность одного события при условии другого
2.1.3.5. Независимость событий
2.1.3.6. Условная независимость событий
2.2. Случайные величины
2.2.1. Дискретные случайные величины
2.2.2. Непрерывные случайные величины
2.2.2.1. Функция распределения
2.2.2.2. Функция плотности распределения
2.2.2.3. Квантили
2.2.3. Множества связанных случайных величин
2.2.4. Независимость и условная независимость
2.2.5. Моменты распределения
2.2.5.1. Среднее распределения
2.2.5.2. Дисперсия распределения
2.2.5.3. Мода распределения
2.2.5.4. Условные моменты
2.2.6. Ограничения сводных статистик*
2.3. Формула Байеса
2.3.1. Пример: тестирование на COVID-19
2.3.2. Пример: парадокс Монти Холла
2.3.3. Обратные задачи*
2.4. Распределение Бернулли и биномиальное распределение
2.4.1. Определение
2.4.2. Сигмоидная (логистическая) функция
2.4.3. Бинарная логистическая регрессия
2.5. Категориальное и мультиномиальное распределение
2.5.1. Определение
2.5.2. Функция softmax
2.5.3. Многоклассовая логистическая регрессия
2.5.4. Логарифмирование, суммирование, потенцирование
2.6. Одномерное гауссово (нормальное) распределение
2.6.1. Функция распределения
2.6.2. Функция плотности вероятности
2.6.3. Регрессия
2.6.4. Почему гауссово распределение так широко используется?
2.6.5. Дельта-функция Дирака как предельный случай
2.7. Другие часто встречающиеся одномерные распределения*
2.7.1. Распределение Стьюдента
2.7.2. Распределение Коши
2.7.3. Распределение Лапласа
2.7.4. Бета-распределение
2.7.5. Гамма-распределение
2.7.6. Эмпирическое распределение
2.8. Преобразования случайных величин*
2.8.1. Дискретный случай
2.8.2. Непрерывный случай
2.8.3. Обратимые преобразования (биекции)
2.8.3.1. Замена переменных: скалярный случай
2.8.3.2. Замена переменных: многомерный случай
2.8.4. Моменты линейного преобразования
2.8.5. Теорема о свертке
2.8.6. Центральная предельная теорема
2.8.7. Аппроксимация Монте-Карло
2.9. Упражнения
Глава 3. Вероятность: многомерные модели
3.1. Совместные распределения нескольких случайных величин
3.1.1. Ковариация
3.1.2. Корреляция
3.1.3. Некоррелированные не значит независимые
3.1.4. Из коррелированности не следует наличие причинно-следственной связи
3.1.5. Парадокс Симпсона
3.2. Многомерное гауссово (нормальное) распределение
3.2.1. Определение
3.2.2. Расстояние Махаланобиса
3.2.3. Маргинальные и условные распределения для многомерного нормального распределения*
3.2.4. Пример: обусловливание двумерного гауссова распределения
3.2.5. Пример: подстановка отсутствующих значений*
3.3. Линейные гауссовы системы*
3.3.1. Формула Байеса для гауссовых распределений
3.3.2. Вывод*
3.3.3. Пример: вывод неизвестного скаляра
3.3.4. Пример: вывод неизвестного вектора
3.3.5. Пример: слияние показаний датчиков
3.4. Экспоненциальное семейство распределений*
3.4.1. Определение
3.4.2. Пример
3.4.3. Логарифмическая функция разбиения является производящей функцией полуинвариантов
3.4.4. Вывод максимальной энтропии экспоненциального семейства
3.5. Смесовые модели
3.5.1. Модель гауссовой смеси
3.5.2. Модели бернуллиевой смеси
3.6. Графовые вероятностные модели*
3.6.1. Представление
3.6.1.1. Пример: оросительная система
3.6.1.2. Пример: марковская цепь
3.6.2. Вывод
3.6.3. Обучение
3.6.3.1. Блочная нотация
3.7. Упражнения
Глава 4. Статистика
4.1. Введение
4.2. Оценка максимального правдоподобия (MLE)
4.2.1. Определение
4.2.2. Обоснование MLE
4.2.3. Пример: MLE для распределения Бернулли
4.2.4. Пример: MLE для категориального распределения
4.2.5. Пример: MLE для одномерного гауссова распределения
4.2.6. Пример: MLE для многомерного гауссова распределения
4.2.6.1. MLE среднего
4.2.6.2. MLE ковариационной матрицы
4.2.7. Пример: MLE для линейной регрессии
4.3. Минимизация эмпирического риска (ERM)
4.3.1. Пример: минимизации частоты неправильной классификации
4.3.2. Суррогатная потеря
4.4. Другие методы оценивания*
4.4.1. Метод моментов
4.4.1.1. Пример: MOM для одномерного гауссова распределения
4.4.1.2. Пример: MOM для равномерного распределения
4.4.2. Онлайновое (рекурсивное) оценивание
4.4.2.1. Пример: рекурсивная MLE среднего гауссова распределения
4.4.2.2. Экспоненциально взвешенное скользящее среднее
4.5. Регуляризация
4.5.1. Пример: оценка MAP для распределения Бернулли
4.5.2. Пример: оценка MAP для многомерного гауссова распределения*
4.5.2.1. Оценка усадки
4.5.3. Пример: уменьшение весов
4.5.4. Подбор регуляризатора с помощью контрольного набора
4.5.5. Перекрестная проверка
4.5.5.1. Правило одной стандартной ошибки
4.5.5.2. Пример: гребневая регрессия
4.5.6. Ранняя остановка
4.5.7. Больше данных
4.6. Байесовские статистики*
4.6.1. Сопряженные априорные распределения
4.6.2. Бета-биномиальная модель
4.6.2.1. Правдоподобие Бернулли
4.6.2.2. Биномиальное правдоподобие
4.6.2.3. Априорное распределение
4.6.2.4. Апостериорное распределение
4.6.2.5. Пример
4.6.2.6. Апостериорная мода (оценка MAP)
4.6.2.7. Апостериорное среднее
4.6.2.8. Апостериорная дисперсия
4.6.2.9. Апостериорное прогнозное распределение
4.6.2.10. Маргинальное правдоподобие
4.6.2.11. Смеси сопряженных априорных распределений
4.6.3. Дирихле-мультиномиальная модель
4.6.3.1. Правдоподобие
4.6.3.2. Априорное распределение
4.6.3.3. Апостериорное распределение
4.6.3.4. Апостериорное прогнозное распределение
4.6.3.5. Маргинальное правдоподобие
4.6.4. Гауссова-гауссова модель
4.6.4.1. Одномерный случай
4.6.4.2. Многомерный случай
4.6.5. За пределами сопряженных априорных распределений
4.6.5.1. Неинформативные априорные распределения
4.6.5.2. Иерархические априорные распределения
4.6.5.3. Эмпирические априорные распределения
4.6.6. Байесовские доверительные интервалы
4.6.7. Байесовское машинное обучение
4.6.7.1. Подстановочная аппроксимация
4.6.7.2. Пример: скалярный вход, бинарный выход
4.6.7.3. Пример: бинарный вход, скалярный выход
4.6.7.4. Вертикальное масштабирование
4.6.8. Вычислительные трудности
4.6.8.1. Сеточная аппроксимация
4.6.8.2. Квадратичная аппроксимация (Лапласа)
4.6.8.3. Вариационная аппроксимация
4.6.8.4. Аппроксимация методом Монте-Карло по схеме марковских цепей
4.7. Частотная статистика*
4.7.1. Выборочное распределение
4.7.2. Гауссова аппроксимация выборочного распределения MLE
4.7.3. Бутстрэпная аппроксимация выборочного распределения любого оценивателя
4.7.3.1. Бутстрэп – апостериорное распределение «для бедных»
4.7.4. Доверительные интервалы
4.7.5. Предостережения: доверительные интервалы и байесовские доверительные интервалы не одно и то же
4.7.6. Компромисс между смещением и дисперсией
4.7.6.1. Смещение оценки
4.7.6.2. Дисперсия оценки
4.7.6.3. Компромисс между смещением и дисперсией
4.7.6.4. Пример: оценка MAP среднего гауссова распределения
4.7.6.5. Пример: оценка MAP для линейной регрессии
4.7.6.6. Применение компромисса между смещением и дисперсией для классификации
4.8. Упражнения
Глава 5. Теория принятия решений
5.1. Байесовская теория принятия решений
5.1.1. Основы
5.1.2. Проблемы классификации
5.1.2.1. Бинарная потеря
5.1.2.2. Классификация с учетом стоимости
5.1.2.3. Классификация с возможностью отклонения примера
5.1.3. ROC-кривые
5.1.3.1. Матрицы неточностей классификации
5.1.3.2. Обобщение ROC-кривой в виде скаляра
5.1.3.3. Несбалансированность классов
5.1.4. Кривые точность–полнота
5.1.4.1. Вычисление точности и полноты
5.1.4.2. Обобщение кривых точность–полнота в виде скаляра
5.1.4.3. F-мера
5.1.4.4. Несбалансированность классов
5.1.5. Задачи регрессии
5.1.5.1. ?2-потеря
5.1.5.2 ?1-потеря
5.1.5.3. Функция потерь Хьюбера
5.1.6. Задачи вероятностного предсказания
5.1.6.1. Расхождение КЛ, перекрестная энтропия и логарифмическая потеря
5.1.6.2. Правила верной оценки
5.2. Байесовская проверка гипотез
5.2.1. Пример: проверка симметричности монеты
5.2.2. Байесовский выбор модели
5.2.2.1. Пример: полиномиальная регрессия
5.2.3. Бритва Оккама
5.2.4. Связь между перекрестной проверкой и маргинальным правдоподобием
5.2.5. Информационные критерии
5.2.5.1. Байесовский информационный критерий (BIC)
5.2.5.2. Информационный критерий Акаике
5.2.5.3. Минимальная длина описания (MDL)
5.3. Частотная теория принятий решений
5.3.1. Вычисление риска оценки
5.3.1.1. Пример
5.3.1.2. Байесовский риск
5.3.1.3. Максимальный риск
5.3.2. Состоятельные оценки
5.3.3. Допустимые оценки
5.4. Минимизация эмпирического риска
5.4.1. Эмпирический риск
5.4.1.1. Ошибка аппроксимации и ошибка оценивания
5.4.1.2. Регуляризированный риск
5.4.2. Структурный риск
5.4.3. Перекрестная проверка
5.4.4. Статистическая теория обучения*
5.4.4.1. Нахождение границы ошибки обобщения
5.4.4.2. VC-размерность
5.5. Частотная проверка гипотез*
5.5.1. Критерий отношения правдоподобия
5.5.1.1. Пример: сравнение гауссовых средних
5.5.1.2. Простые и сложные гипотезы
5.5.2. Проверка значимости нулевой гипотезы
5.5.3. p-значения
5.5.4. О вреде p-значений
5.5.5. Почему же не все исповедуют байесовский подход?
5.6. Упражнения
Глава 6. Теория информации
6.1. Энтропия
6.1.1. Энтропия дискретных случайных величин
6.1.2. Перекрестная энтропия
6.1.3. Совместная энтропия
6.1.4. Условная энтропия
6.1.5. Перплексия
6.1.6. Дифференциальная энтропия непрерывных случайных величин*
6.1.6.1. Пример: энтропия гауссова распределения
6.1.6.2. Связь с дисперсией
6.1.6.3. Дискретизация
6.2. Относительная энтропия (расхождение KL)*
6.2.1. Определение
6.2.2. Интерпретация
6.2.3. Пример: расхождение КЛ между двумя гауссовыми распределениями
6.2.4. Неотрицательность расхождения КЛ
6.2.5. Расхождение КЛ и оценка максимального правдоподобия
6.2.6. Прямое и обратное расхождение КЛ
6.3. Взаимная информация*
6.3.1. Определение
6.3.2. Интерпретация
6.3.3. Пример
6.3.4. Условная взаимная информация
6.3.5. Взаимная информация как «обобщенный коэффициент корреляции»
6.3.6. Нормированная взаимная информация
6.3.7. Максимальный коэффициент информации
6.3.8. Неравенство обработки данных
6.3.9. Достаточные статистики
6.3.10. Неравенство Фано*
6.4. Упражнения
Глава 7. Линейная алгебра
7.1. Введение
7.1.1. Обозначения
7.1.1.1. Векторы
7.1.1.2. Матрицы
7.1.1.3. Тензоры
7.1.2. Векторные пространства
7.1.2.1. Сложение векторов и умножение вектора на скаляр
7.1.2.2. Линейная независимость, линейная оболочка и базисы
7.1.2.3. Линейные отображения и матрицы
7.1.2.4. Образ и ядро матрицы
7.1.2.5. Линейная проекция
7.1.3. Нормы вектора и матрицы
7.1.3.1. Нормы вектора
7.1.3.2. Нормы матрицы
7.1.4. Свойства матриц
7.1.4.1. След квадратной матрицы
7.1.4.2. Определитель квадратной матрицы
7.1.4.3. Ранг матрицы
7.1.4.4. Числа обусловленности
7.1.5. Специальные типы матриц
7.1.5.1. Диагональная матрица
7.1.5.2. Треугольные матрицы
7.1.5.3. Положительно определенные матрицы
7.1.5.4. Ортогональные матрицы
7.2. Умножение матриц
7.2.1. Умножение векторов
7.2.2. Произведение матрицы на вектор
7.2.3. Произведение матриц
7.2.4. Приложение: манипулирование матрицами данных
7.2.4.1. Суммирование срезов матрицы
7.2.4.2. Масштабирование строк и столбцов матрицы
7.2.4.3. Матрица сумм квадратов и матрица рассеяния
7.2.4.4. Матрица Грама
7.2.4.5. Матрица расстояний
7.2.5. Произведения Кронекера*
7.2.6. Суммирование Эйнштейна*
7.3. Обращение матриц
7.3.1. Обращение квадратной матрицы
7.3.2. Дополнения Шура *
7.3.3. Лемма об обращении матрицы*
7.3.4. Лемма об определителе матрицы*
7.3.5. Приложение: вывод условных распределений для многомерного гауссова распределения
7.4. Спектральное разложение
7.4.1. Основные сведения
7.4.2. Диагонализация
7.4.3. Собственные значения и собственные векторы симметричных матриц
7.4.3.1. Проверка на положительную определенность
7.4.4. Геометрия квадратичных форм
7.4.5. Стандартизация и отбеливание данных
7.4.6. Степенной метод
7.4.7. Понижение порядка
7.4.8. Собственные векторы оптимизируют квадратичные формы
7.5. Сингулярное разложение (SVD)
7.5.1. Основные сведения
7.5.2. Связь между сингулярным и спектральным разложением
7.5.3. Псевдообратная матрица
7.5.4. SVD и образ и ядро матрицы*
7.5.5. Усеченное сингулярное разложение
7.6. Другие матричные разложения*
7.6.1. LU-разложение
7.6.2. QR-разложение
7.6.3. Разложение Холески
7.6.3.1. Приложение: выборка из многомерного гауссова распределения
7.7. Решение систем линейных уравнений*
7.7.1. Решение квадратных систем
7.7.2. Решение недоопределенных систем (оценка по наименьшей норме)
7.7.3. Решение переопределенных систем (оценка по методу наименьших квадратов)
7.8. Матричное исчисление
7.8.1. Производные
7.8.2. Градиенты
7.8.3. Производная по направлению
7.8.4. Полная производная*
7.8.5. Якобиан
7.8.5.1. Умножение якобиана на вектор
7.8.5.2. Якобиан композиции
7.8.6. Гессиан
7.8.7. Градиенты часто встречающихся функций
7.8.7.1. Функции, отображающие скаляры в скаляры
7.8.7.2. Функции, отображающие векторы в скаляры
7.8.7.3. Функции, отображающие матрицы в скаляры
7.9. Упражнения
Глава 8. Оптимизация
8.1. Введение
8.1.1. Локальная и глобальная оптимизация
8.1.1.1. Условия оптимальности для локальных и глобальных оптимумов
8.1.2. Условная и безусловная оптимизация
8.1.3. Выпуклая и невыпуклая оптимизация
8.1.3.1. Выпуклые множества
8.1.3.2. Выпуклые функции
8.1.3.3. Характеристика выпуклых функций
8.1.3.4. Сильно выпуклые функции
8.1.4. Гладкая и негладкая оптимизация
8.1.4.1. Субградиенты
8.2. Методы первого порядка
8.2.1. Направление спуска
8.2.2. Размер шага (скорость обучения)
8.2.2.1. Постоянный размер шага
8.2.2.2. Линейный поиск
8.2.3. Скорость сходимости
8.2.4. Метод имульса
8.2.4.1. Импульс
8.2.4.2. Момент Нестерова
8.3. Методы второго порядка
8.3.1. Метод Ньютона
8.3.2. BFGS и другие квазиньютоновские методы
8.3.3. Методы на основе доверительных областей
8.4. Стохастический градиентный спуск
8.4.1. Приложение к задачам с конечной суммой
8.4.2. Пример: СГС для обучения модели линейной регрессии
8.4.3. Выбор размера шага (скорости обучения)
8.4.4. Итеративное усреднение
8.4.5. Уменьшение дисперсии*
8.4.5.1. SVRG
8.4.5.2. SAGA
8.4.5.3. Применение в глубоком обучении
8.4.6. Предобусловленный СГС
8.4.6.1. AdaGrad
8.4.6.2. RMSProp и AdaDelta
8.4.6.3. Adam
8.4.6.4. Проблемы, связанные с адаптивной скоростью обучения
8.4.6.5. Недиагональные матрицы предобусловливания
8.5. Условная оптимизация
8.5.1. Множители Лагранжа
8.5.1.1. Пример: двумерная квадратичная целевая функция с одним линейным ограничением в виде равенства
8.5.2. Условия Каруша–Куна–Таккера
8.5.3. Линейное программирование
8.5.3.1. Симплекс-метод
8.5.3.2. Приложения
8.5.4. Квадратичное программирование
8.5.4.1. Пример: квадратичная целевая функция в двумерном случае с линейными ограничениями в виде равенств
8.5.4.2. Приложения
8.5.5. Смешанно-целочисленное программирование*
8.6. Проксимальный градиентный метод*
8.6.1. Спроецированный градиентный спуск
8.6.2. Проксимальный оператор для регуляризатора по норме ?1
8.6.3. Применение проксимального оператора в случае квантования
8.6.4. Инкрементные (онлайновые) проксимальные методы
8.7. Граничная оптимизация*
8.7.1. Общий алгоритм
8.7.2. EM-алгоритм
8.7.2.1. Нижняя граница
8.7.2.2. E-шаг
8.7.2.3. M-шаг
8.7.3. Пример: EM-алгоритм для смеси гауссовых распределений
8.7.3.1. E-шаг
8.7.3.2. M-шаг
8.7.3.3. Пример
8.7.3.4. Оценка MAP
8.7.3.5. Невыпуклость NLL
8.8. Оптимизация черного ящика и оптимизация без использования производных
8.9. Упражнения
Часть II. Линейные модели
Глава 9. Линейный дискриминантный анализ
9.1. Введение
9.2. Гауссов дискриминантный анализ
9.2.1. Квадратичные решающие границы
9.2.2. Линейные решающие границы
9.2.3. Связь между ЛДА и логистической регрессией
9.2.4. Обучение модели
9.2.4.1. Связанные ковариационные матрицы
9.2.4.2. Диагональные ковариационные матрицы
9.2.4.3. Оценка MAP
9.2.5. Классификатор по ближайшему центроиду
9.2.6. Линейный дискриминантный анализ Фишера*
9.2.6.1. Нахождение оптимального одномерного направления
9.2.6.2. Обобщение на большую размерность и несколько классов
9.3. Наивные байесовские классификаторы
9.3.1. Примеры моделей
9.3.2. Обучение модели
9.3.3. Байесовская интерпретация наивной байесовской модели
9.3.4. Связь между наивной байесовской моделью и логистической регрессией
9.4. Порождающие и дискриминантные классификаторы
9.4.1. Преимущества дискриминантных классификаторов
9.4.2. Преимущества порождающих классификаторов
9.4.3. Обработка отсутствующих признаков
9.5. Упражнения
Глава 10. Логистическая регрессия
10.1. Введение
10.2. Бинарная логистическая регрессия
10.2.1. Линейные классификаторы
10.2.2. Нелинейные классификаторы
10.2.3. Оценка максимального правдоподобия
10.2.3.1. Целевая функция
10.2.3.2. Оптимизация целевой функции
10.2.3.3. Вывод градиента
10.2.3.4. Вывод гессиана
10.2.4. Стохастический градиентный спуск
10.2.5. Алгоритм перцептрона
10.2.6. Метод наименьших квадратов с итеративным пересчетом весов
10.2.7. Оценка MAP
10.2.8. Стандартизация
10.3. Мультиномиальная логистическая регрессия
10.3.1. Линейные и нелинейные классификаторы
10.3.2. Оценка максимального правдоподобия
10.3.2.1. Целевая функция
10.3.2.2. Оптимизация целевой функции
10.3.2.3. Вывод градиента
10.3.2.4. Вывод гессиана
10.3.3. Градиентная оптимизация
10.3.4. Граничная оптимизация
10.3.5. Оценка MAP
10.3.6. Классификаторы максимальной энтропии
10.3.7. Иерархическая классификация
10.3.8. Работа с большим числом классов
10.3.8.1. Иерархическая softmax-модель
10.3.8.2. Несбалансированность классов и длинный хвост
10.4. Робастная логистическая регрессия*
10.4.1. Смесовая модель правдоподобия
10.4.2. Дважды смягченная потеря
10.5. Байесовская логистическая регрессия*
10.5.1. Аппроксимация Лапласа
10.5.2. Аппроксимация апостериорного прогнозного распределения
10.5.2.1. Аппроксимация Монте-Карло
10.5.2.2. Пробит-аппроксимация
10.6. Упражнения
Глава 11. Линейная регрессия
11.1. Введение
11.2. Линейная регрессия по методу наименьших квадратов
11.2.1. Терминология
11.2.2. Оценивание по методу наименьших квадратов
11.2.2.1. Обыкновенный метод наименьших квадратов
11.2.2.2. Геометрическая интерпретация метода наименьших квадратов
11.2.2.3. Алгоритмические проблемы
11.2.2.4. Метод взвешенных наименьших квадратов
11.2.3. Другие подходы к вычислению MLE
11.2.3.1. Нахождение смещения и углового коэффициента по отдельности
11.2.3.2. Простая линейная регрессия (одномерные входные данные)
11.2.3.3. Частная регрессия
11.2.3.4. Рекурсивное вычисление MLE
11.2.3.5. Вывод MLE с порождающей точки зрения
11.2.3.6. Вывод MLE для σ2
11.2.4. Измерение степени согласия оценки
11.2.4.1. Графики невязок
11.2.4.2. Точность предсказания и R2
11.3. Гребневая регрессия
11.3.1. Вычисление оценки MAP
11.3.1.1. Решение с использованием QR-разложения
11.3.1.2. Решение с использованием сингулярного разложения
11.3.2. Связь между гребневой регрессией и PCA
11.3.3. Выбор силы регуляризатора
11.4. Регрессия lasso
11.4.1. Оценка MAP с априорным распределением Лапласа (?1-регуляризация)
11.4.2. Почему ?1-регуляризация дает разреженные решения?
11.4.3. Жесткие и мягкие пороги
11.4.4. Путь регуляризации
11.4.5. Сравнение методов наименьших квадратов, lasso, гребневой регрессии и выбора подмножеств
11.4.6. Согласованность выбора переменных
11.4.7. Групповое lasso
11.4.7.1. Приложения
11.4.7.2. Штрафование по норме ?2
11.4.7.3. Штрафование по норме ?¥
11.4.7.4. Пример
11.4.8. Эластичная сеть (комбинация гребневой регрессии и lasso)
11.4.9. Алгоритмы оптимизации
11.4.9.1. Покоординатный спуск
11.4.9.2. Спроецированный градиентный спуск
11.4.9.3. Проксимальный градиентный спуск
11.4.9.4. LARS
11.5. Регрессионные сплайны*
11.5.1. B-сплайны в качестве базисных функций
11.5.2. Обучение линейно модели с помощью сплайнового базиса
11.5.3. Сглаживающие сплайны
11.5.4. Обобщенные аддитивные модели
11.6. Робастная линейная регрессия*
11.6.1. Правдоподобие Лапласа
11.6.1.1. Вычисление MLE методами линейного программирования
11.6.2. t-правдоподобие Стьюдента
11.6.3. Функция потерь Хьюбера
11.6.4. RANSAC
11.7. Байесовская линейная регрессия*
11.7.1. Априорные распределения
11.7.2. Апостериорные распределения
11.7.3. Пример
11.7.4. Вычисление апостериорного прогнозного распределения
11.7.5. Преимущество центрирования
11.7.6. Мультиколлинеарность
11.7.7. Автоматическое определение релевантности (ARD)*
11.8. Упражнения
Глава 12. Обобщенные линейные модели*
12.1. Введение
12.2. Примеры
12.2.1. Линейная регрессия
12.2.2. Биномиальная регрессия
12.2.3. Регрессия Пуассона
12.3. GLM с неканоническими функциями связи
12.4. Оценка максимального правдоподобия
12.5. Рабочий пример: предсказание обращений за страховыми выплатами
Часть III. Глубокие нейронные сети
Глава 13. Нейронные сети для структурированных данных
13.1. Введение
13.2. Многослойные перцептроны (МСП)
13.2.1. Задача XOR
13.2.2. Дифференцируемые МСП
13.2.3. Функции активации
13.2.4. Примеры моделей
13.2.4.1. МСП для классификации двумерных данных по двум категориям
13.2.4.2. МСП для классификации изображений
13.2.4.3. МСП для классификации текстов
13.2.4.4. МСП для гетероскедастической регрессии
13.2.5. Важность глубины
13.2.6. Революция глубокого обучения
13.2.7. Связи с биологией
13.3. Обратное распространение
13.3.1. Прямой и обратный режим дифференцирования
13.3.2. Дифференцирование в обратном режиме для многослойных перцептронов
13.3.3. Произведение вектора на якобиан для типичных слоев
13.3.3.1. Слой перекрестной энтропии
13.3.3.2. Поэлементная нелинейность
13.3.3.3. Линейный слой
13.3.3.4. Соберем все вместе
13.3.4. Графы вычислений
13.4. Обучение нейронных сетей
13.4.1. Настройка скорости обучения
13.4.2. Исчезающие и взрывные градиенты
13.4.3. Функции активации без насыщения
13.4.3.1. ReLU
13.4.3.2. ReLU без насыщения
13.4.3.3. Другие варианты
13.4.4. Остаточные связи
13.4.5. Инициализация параметров
13.4.5.1. Эвристические схемы инициализации
13.4.5.2. Инициализации, управляемые данными
13.4.6. Параллельное обучение
13.5. Регуляризация
13.5.1. Ранняя остановка
13.5.2. Уменьшение весов
13.5.3. Разреженные ГНС
13.5.4. Прореживание
13.5.5. Байесовские нейронные сети
13.5.6. Эффекты регуляризации, порождаемые стохастическим градиентным спуском*
13.6. Другие виды сетей прямого распространения*
13.6.1. Сети радиально-базисных функций
13.6.1.1. RBF-сеть для регрессии
13.6.1.2. RBF-сеть для классификации
13.6.2. Смесь экспертов
13.6.2.1. Смесь линейных экспертов
13.6.2.2. Глубокие сети экспертов
13.6.2.3. Иерархические смеси экспертов
13.7. Упражнения
Глава 14. Нейронные сети для изображений
14.1. Введение
14.2. Наиболее употребительные слои
14.2.1. Сверточные слои
14.2.1.1. Свертка в одномерном случае
14.2.1.2. Свертка в двумерном случае
14.2.1.3. Свертка как умножение матрицы на вектор
14.2.1.4. Граничные условия и дополнение
14.2.1.5. Свертка с шагом
14.2.1.6. Несколько входных и выходных каналов
14.2.1.7. Свертка 1´1 (поточечная)
14.2.2. Пулинговые слои
14.2.3. Соберем все вместе
14.2.4. Слои нормировки
14.2.4.1. Пакетная нормировка
14.2.4.2. Другие виды слоя нормировки
14.2.4.3. Сети без нормировки
14.3. Распространенные архитектуры классификации изображений
14.3.1. LeNet
14.3.2. AlexNet
14.3.3. GoogLeNet
14.3.4. ResNet
14.3.5. DenseNet
14.3.6. Поиск архитектуры нейронной сети
14.4. Другие формы свертки*
14.4.1. Дырявая свертка
14.4.2. Транспонированная свертка
14.4.3. Пространственная раздельная свертка
14.5. Решение других дискриминантных задач компьютерного зрения с помощью СНС*
14.5.1. Аннотирование изображений
14.5.2. Определение объектов
14.5.3. Сегментация экземпляров
14.5.4. Семантическая сегментация
14.5.5. Оценивание позы человека
14.6. Генерирование изображений посредством инвертирования СНС*
14.6.1. Преобразование обученного классификатора в порождающую модель
14.6.2. Априорные распределения изображений
14.6.2.1. Гауссово априорное распределения
14.6.2.2. Априорное распределение на основе полной вариации
14.6.3. Визуализация признаков, обученных с помощью СНС
14.6.4. Deep Dream
14.6.5. Нейронный перенос стиля
14.6.5.1. Как это работает
14.6.5.2. Ускорение метода
Глава 15. Нейронные сети для последовательностей
15.1. Введение
15.2. Рекуррентные нейронные сети (РНС)
15.2.1. Vec2Seq (генерирование последовательностей)
15.2.1.1. Модели
15.2.1.2. Приложения
15.2.2. Seq2Vec (классификация последовательностей)
15.2.3. Seq2Seq (трансляция последовательностей)
15.2.3.1. Выровненный случай
15.2.3.2. Невыровненный случай
15.2.4. Принуждение со стороны учителя
15.2.5. Обратное распространение во времени
15.2.6. Исчезающие и взрывные градиенты
15.2.7. Вентильная и долгосрочная память
15.2.7.1. Управляемые рекуррентные блоки (GRU)
15.2.7.2. Долгая краткосрочная память (LSTM)
15.2.8. Лучевой поиск
15.3. Одномерные СНС
15.3.1. Применение одномерных СНС для классификации последовательностей
15.3.2. Применение каузальных одномерных СНС для генерирования последовательностей
15.4. Модель внимания
15.4.1. Механизм внимания как мягкий поиск в словаре
15.4.2. Ядерная регрессия как непараметрическое внимание
15.4.3. Параметрическое внимание
15.4.4. Модель Seq2Seq с вниманием
15.4.5. Модель Seq2vec с вниманием (классификация текста)
15.4.6. Модель Seq+Seq2Vec с вниманием (классификация пар предложений)
15.4.7. Мягкое и жесткое внимание
15.5. Трансформеры
15.5.1. Самовнимание
15.5.2. Многопутевое внимание
15.5.3. Позиционное кодирование
15.5.4. Соберем все вместе
15.5.5. Сравнение трансформеров, СНС и HYC
15.5.6. Применение трансформеров для изображений*
15.5.7. Другие варианты трансформеров*
15.6. Эффективные трансформеры*
15.6.1. Фиксированные необучаемые локализованные паттерны внимания
15.6.2. Обучаемые паттерны разреженного внимания
15.6.3. Методы с добавлением памяти и рекуррентные методы
15.6.4. Низкоранговые и ядерные методы
15.7. Языковые модели и обучение представлений без учителя
15.7.1. ELMo
15.7.2. BERT
15.7.2.1. Замаскированная языковая модель
15.7.2.2. Задача предсказания следующего предложения
15.7.2.3. Дообучение BERT для приложений NLP
15.7.3. GPT
15.7.3.1. Приложения GPT
15.7.4. T5
15.7.5. Обсуждение
Часть IV. Непараметрические модели
Глава 16. Методы на основе эталонов
16.1. Классификация методом K ближайших соседей (KNN)
16.1.1. Пример
16.1.2. Проклятие размерности
16.1.3. Снижение требований к скорости и памяти
16.1.4. Распознавание открытого множества
16.1.4.1. Онлайновое обучение, обнаружение посторонних и распознавание открытого множества
16.1.4.2. Другие задачи открытого мира
16.2. Обучение метрик
16.2.1. Линейные и выпуклые методы
16.2.1.1. Метод ближайших соседей с большим зазором
16.2.1.2. Анализ компонентов соседства
16.2.1.3. Анализ латентных совпадений
16.2.2. Глубокое обучение метрики
16.2.3. Потери классификации
16.2.4. Потери ранжирования
16.2.4.1. Попарная (сопоставительная) потеря и сиамские сети
16.2.4.2. Триплетная потеря
16.2.4.3. N-парная потеря
16.2.5. Ускорение оптимизации потери ранжирования
16.2.5.1. Добычные методы
16.2.5.2. Методы на основе представителей
16.2.5.3. Оптимизация верхней границы
16.2.6. Другие приемы глубокого обучения метрики
16.3. Ядерные оценки плотности
16.3.1. Ядра плотности
16.3.2. Оконная оценка плотности Парцена
16.3.3. Как выбирать полосу пропускания
16.3.4. От KDE к KNN-классификации
16.3.5. Ядерная регрессия
16.3.5.1. Оценка среднего Надарая–Ватсона
16.3.5.2. Оценка дисперсии
16.3.5.3. Локально взвешенная регрессия
Глава 17. Ядерные методы*
17.1. Ядра Мерсера
17.1.1. Теорема Мерсера
17.1.2. Некоторые популярные ядра Мерсера
17.1.2.1. Стационарные ядра для вещественных векторов
17.1.2.2. Создание новых ядер из существующих
17.1.2.3. Комбинирование ядер с помощью сложения и умножения
17.1.2.4. Ядра для структурированных входов
17.2. Гауссовы процессы
17.2.1. Незашумленные наблюдения
17.2.2. Зашумленные наблюдения
17.2.3. Сравнение с ядерной регрессией
17.2.4. Пространство весов и пространство функций
17.2.5. Численные проблемы
17.2.6. Оценивание параметров ядра
17.2.6.1. Эмпирическая байесовская оценка
17.2.6.2. Байесовский вывод
17.2.7. Применение гауссовых процессов для классификации
17.2.8. Связи с глубоким обучением
17.2.9. Масштабирование ГП на большие наборы данных
17.2.9.1. Разреженные аппроксимации
17.2.9.2. Распараллеливание с использованием структуры ядерной матрицы
17.2.9.3. Аппроксимация случайными признаками
17.3. Метод опорных векторов
17.3.1. Классификаторы с широким зазором
17.3.2. Двойственная задача
17.3.3. Классификаторы с мягким зазором
17.3.4. Ядерный трюк
17.3.5. Преобразование выходов SVM в вероятности
17.3.6. Связь с логистической регрессией
17.3.7. Многоклассовая классификация с применением SVM
17.3.8. Как выбирать регуляризатор C
17.3.9. Ядерная гребневая регрессия
17.3.10. Применение SVM для регрессии
17.4. Метод разреженных векторов
17.4.1. Метод релевантных векторов
17.4.2. Сравнение разреженных и плотных ядерных методов
17.5. Упражнения
Глава 18. Деревья, леса, бэггинг и бустинг
18.1. Деревья классификации и регрессии
18.1.1. Определение модели
18.1.2. Обучение модели
18.1.3. Регуляризация
18.1.4. Обработка отсутствующих входных признаков
18.1.5. Плюсы и минусы
18.2. Ансамблевое обучение
18.2.1. Стековое обобщение
18.2.2. Ансамблевое обучение не то же, что байесовское усреднение моделей
18.3. Бэггинг
18.4. Случайные леса
18.5. Бустинг
18.5.1. Прямое поэтапное аддитивное моделирование
18.5.2. Квадратичная потеря и бустинг наименьших квадратов
18.5.3. Экспоненциальная потеря и AdaBoost
18.5.4. LogitBoost
18.5.5. Градиентный бустинг
18.5.5.1. Градиентный бустинг деревьев
18.5.5.2. XGBoost
18.6. Интерпретация ансамблей деревьев
18.6.1. Важность признаков
18.6.2. Графики частичной зависимости
Часть V. За пределами обучения с учителем
Глава 19. Обучение при меньшем числе помеченных примеров
19.1. Приращение данных
19.1.1. Примеры
19.1.2. Теоретическое обоснование
19.2. Перенос обучения
19.2.1. Дообучение
19.2.2. Адаптеры
19.2.3. Предобучение с учителем
19.2.4. Предобучение без учителя (самостоятельное обучение)
19.2.4.1. Задачи подстановки
19.2.4.2. Замещающие задачи
19.2.4.3. Сопоставительные задачи
19.2.4.4. SimCLR
19.2.4.5. CLIP
19.2.5. Адаптация домена
19.3. Обучение с частичным привлечением учителя
19.3.1. Самообучение и псевдопометка
19.3.2. Минимизация энтропии
19.3.2.1. Кластерное допущение
19.3.2.2. Взаимная информация между входом и выходом
19.3.3. Совместное обучение
19.3.4. Распространение меток на графах
19.3.5. Регуляризация по согласованности
19.3.6. Глубокие порождающие модели*
19.3.6.1. Вариационные автокодировщики
19.3.6.2. Порождающие состязательные сети
19.3.6.3. Нормализующие потоки
19.3.7. Сочетание самостоятельного обучения и обучения с частичным привлечением учителя
19.4. Активное обучение
19.4.1. Подход на основе теории принятия решений
19.4.2. Теоретико-информационный подход
19.4.3. Пакетное активное обучение
19.5. Метаобучение
19.5.1. Метаобучение, не зависящее от модели (MAML)
19.6. Обучение на малом числе примеров
19.6.1. Сопоставляющие сети
19.7. Обучение со слабым учителем
19.8. Упражнения
Глава 20. Понижение размерности
20.1. Метод главных компонент
20.1.1. Примеры
20.1.2. Вывод алгоритма
20.1.2.1. Базовый случай
20.1.2.2. Оптимальный вектор весов максимизирует дисперсию спроецированных данных
20.1.2.3. Шаг индукции
20.1.3. Вычислительные трудности
20.1.3.1. Ковариационная матрица и корреляционная матрица
20.1.3.2. Работа с данными высокой размерности
20.1.3.3. Вычисление PCA с использованием SVD
20.1.4. Выбор числа латентных измерений
20.1.4.1. Ошибка реконструкции
20.1.4.2. Графики каменистой осыпи
20.1.4.3. Правдоподобие профиля
20.2. Факторный анализ*
20.2.1. Порождающая модель
20.2.2. Вероятностный PCA
20.2.3. EM-алгоритм для ФА/PPCA
20.2.3.1. EM-алгоритм для ФА
20.2.3.2. EM-алгоритм для (P)PCA
20.2.3.3. Преимущества
20.2.4. Неидентифицируемость параметров
20.2.5. Нелинейный факторный анализ
20.2.6. Смеси факторных анализаторов
20.2.7. Факторный анализ экспоненциального семейства
20.2.7.1. Пример: бинарный PCA
20.2.7.2. Пример: категориальный PCA
20.2.8. Модели факторного анализа для парных данных
20.2.8.1. PCA с учителем
20.2.8.2. Метод частичных наименьших квадратов
20.2.8.3. Канонический корреляционный анализ
20.3. Автокодировщики
20.3.1. Автокодировщики с сужением
20.3.2. Шумоподавляющие автокодировщики
20.3.3. Сжимающие автокодировщики
20.3.4. Разреженные автокодировщики
20.3.5. Вариационные автокодировщики
20.3.5.1. Обучение VAE
20.3.5.2. Перепараметризация
20.3.5.3. Сравнение VAE с автокодировщиками
20.4. Обучение многообразий*
20.4.1. Что такое многообразие?
20.4.2. Гипотеза многообразия
20.4.3. Подходы к обучению многообразий
20.4.4. Многомерное шкалирование
20.4.4.1. Классическое ММШ
20.4.4.2. Метрическое ММШ
20.4.4.3. Неметрическое ММШ
20.4.4.4. Отображение Саммона
20.4.5. Isomap
20.4.6. Ядерный PCA
20.4.7. Максимальное раскрытие дисперсии
20.4.8. Локально линейное погружение
20.4.9. Лапласовы собственные отображения
20.4.9.1. Использование собственных векторов лапласиана графа для вычисления погружений
20.4.9.2. Что такое лапласиан графа?
20.4.10. t-SNE
20.4.10.1. Стохастическое погружение соседей
20.4.10.2. Симметричное SNE
20.4.10.3. SNE с t-распределением
20.4.10.4. Выбор линейного масштаба
20.4.10.5. Вычислительные проблемы
20.4.10.6. UMAP
20.5. Погружения слов
20.5.1. Латентно-семантический анализ и индексирование
20.5.1.1. Латентно-семантическое индексирование
20.5.1.2. Латентно-семантический анализ
20.5.1.3. Поточечная взаимная информация
20.5.2. Word2vec
20.5.2.1. Модель Word2vec CBOW
20.5.2.2. Скипграммная модель Word2vec
20.5.2.3. Отрицательная выборка
20.5.3. GloVE
20.5.4. Аналогичные слова
20.5.5. Модель погружений слов RAND-WALK
20.5.6. Контекстуальные погружения слов
20.6. Упражнения
Глава 21. Кластеризация
21.1. Введение
21.1.1. Оценивание выхода методов кластеризации
21.1.1.1. Чистота
21.1.1.2. Индекс Рэнда
21.1.1.3. Взаимная информация
21.2. Иерархическая агломеративная кластеризация
21.2.1. Алгоритм
21.2.1.1. Одиночная связь
21.2.1.2. Полная связь
21.2.1.3. Средняя связь
21.2.2. Пример
21.2.3. Расширения
21.3. Кластеризация методом K средних
21.3.1. Алгоритм
21.3.2. Примеры
21.3.2.1. Кластеризация точек на плоскости
21.3.2.2. Кластеризация временных рядов экспрессии генов дрожжей
21.3.3. Векторное квантование
21.3.4. Алгоритм K-means++
21.3.5. Алгоритм K медоидов
21.3.6. Способы ускорения
21.3.7. Выбор числа кластеров K
21.3.7.1. Минимизация искажения
21.3.7.2. Максимизация маргинального правдоподобия
21.3.7.3. Силуэтный коэффициент
21.3.7.4. Инкрементное увеличение количества компонент смеси
21.3.7.5. Методы разреженного оценивания
21.4. Кластеризация с помощью смесовых моделей
21.4.1. Смеси гауссовых распределений
21.4.1.1. Метод K средних – частный случай EM-алгоритма
21.4.1.2. Неидентифицируемость и переключение метки
21.4.1.3. Байесовский выбор модели
21.4.2. Смеси распределений Бернулли
21.5. Спектральная кластеризация*
21.5.1. Нормализованные разрезы
21.5.2. Собственные векторы лапласиана графа кодируют кластеризацию
21.5.3. Пример
21.5.4. Связь с другими методами
21.5.4.1. Связь с kPCA
21.5.4.2. Связь с анализом случайного блуждания
21.6. Бикластеризация*
21.6.1. Базовая бикластеризация
21.6.2. Модели вложенного разбиения (Crosscat)
Глава 22. Рекомендательные системы
22.1. Явная обратная связь
22.1.1. Наборы данных
22.1.2. Коллаборативная фильтрация
22.1.3. Матричная факторизация
22.1.3.1. Вероятностная матричная факторизация
22.1.3.2. Пример: Netflix
22.1.3.3. Пример: MovieLens
22.1.4. Автокодировщики
22.2. Неявная обратная связь
22.2.1. Байесовское персонализированное ранжирование
22.2.2. Машины факторизации
22.2.3. Нейронная матричная факторизация
22.3. Использование побочной информации
22.4. Компромисс между исследованием и использованием
Глава 23. Погружения графов*
23.1. Введение
23.2. Погружение графа как задача о кодировщике и декодере
23.3. Поверхностные погружения графов
23.3.1. Обучение погружений без учителя
23.3.2. На основе расстояния: евклидовы методы
23.3.3. На основе расстояния: неевклидовы методы
23.3.4. На основе внешнего произведения: методы матричной факторизации
23.3.5. На основе внешнего произведения: скипграммные методы
23.3.6. Обучение погружений с учителем
23.3.6.1. Распространение меток
23.4. Графовые нейронные сети
23.4.1. Графовые нейронные сети передачи сообщений
23.4.2. Спектральные свертки графов
23.4.3. Пространственные свертки графов
23.4.3.1. Выборочные пространственные методы
23.4.3.2. Пространственные методы на основе механизма внимания
23.4.3.3. Геометрические пространственные методы
23.4.4. Неевклидовы графовые свертки
23.5. Глубокие погружения графов
23.5.1. Обучение погружений без учителя.
23.5.1.1. Структурное погружение с помощью глубокой сети
23.5.1.2. Вариационные графовые автокодировщики
23.5.1.3. Итеративное порождающее моделирование графов (Graphite)
23.5.1.4. Методы на основе сопоставительных потерь
23.5.2. Обучение погружений с частичным привлечением учителя
23.5.2.1. SemiEmb
23.5.2.2. Planetoid
23.6. Приложения
23.6.1. Приложения без учителя
23.6.1.1. Реконструкция графа
23.6.1.2. Предсказание связей
23.6.1.3. Кластеризация
23.6.1.4. Визуализация
23.6.2. Приложения с учителем
23.6.2.1. Классификация вершин
23.6.2.2. Классификация графов
Приложение А. Обозначения
A.1. Введение
A.2. Общепринятые математические символы
A.3. Функции
A.3.1. Функции с одним аргументом
A.3.2. Функции двух аргументов
A.3.3. Функции более двух аргументов
A.4. Линейная алгебра
A.4.1. Общие обозначения
A.4.2. Векторы
A.4.3. Матрицы
A.4.4. Матричное исчисление
A.5. Оптимизация
A.6. Вероятность
A.7. Теория информации
A.8. Статистика и машинное обучение
A.8.1. Обучение с учителем
A.8.2. Обучение без учителя и порождающие модели
A.8.3. Байесовский вывод
A.9. Аббревиатуры
Предметный указатель