Видимые гауссовские процессы: интуитивная вводная интерпретация

машинное обучение

From Distill, Авторы: Йохен Гертлер, Ребекка Кельбек, Оливер Деуссен, Участники: И Бай, Чжан Цянь, Ван Шутин.

Гауссовский процесс позволяет нам комбинировать предыдущие знания для прогнозирования данных.Наиболее интуитивно понятной областью применения являются проблемы регрессии. Автор этой статьи наглядно объясняет соответствующие знания о гауссовском процессе с помощью нескольких интерактивных диаграмм, которые позволяют читателям интуитивно понять, как работает гауссовский процесс и как его адаптировать к различным типам данных.

введение

Даже если вы читали книги по машинному обучению, возможно, вы не слышали о гауссовских процессах. Конечно, если вы слышали об этом, это не имеет значения, повторение основ также может помочь вам разбудить вашу память. Цель этой статьи — познакомить читателя с гауссовским процессом и сделать лежащую в его основе математику более интуитивной и понятной.

Гауссовский процессЭто очень полезный инструмент в наборе инструментов машинного обучения [1]. Это позволяет нам комбинировать предшествующие знания, чтобы делать прогнозы относительно данных. Наиболее интуитивно понятными областями применения являютсяпроблема регрессии, например, в робототехнике. В то же время его можно распространить и на классификацию изадача кластеризациивнутри. Давайте быстро напомним: цель регрессии — найти функцию, которая максимально точно описывает заданный набор точек данных. Этот процесс называется подбором данных с помощью функции. Для заданного набора точек обучающих данных потенциально может быть бесконечно много функций, которые можно использовать для подгонки. Гауссовские процессы обеспечивают элегантное решение для этого — присваивание каждой такой функции значения вероятности [1]. Среднее значение этого распределения вероятностей представляет собой наиболее вероятное представление данных. Кроме того, вероятностный подход позволяет нам включить уверенность в предсказании в результаты регрессии.

Во-первых, мы исследуем математические основы регрессии Гаусса. Вы можете понять эти знания с помощью интерактивных диаграмм в тексте, а также конкретных примеров для начала работы. Они помогают объяснить влияние каждого компонента и демонстрируют гибкость гауссовских процессов. Надеюсь, после прочтения этой статьи у вас появилось интуитивное понимание того, как работает гауссовский процесс и как его адаптировать к различным типам данных.

Многомерное распределение Гаусса

Прежде чем исследовать распределения Гаусса, нам нужно понять их математическую основу. Как мы знаем из названия, распределение Гаусса (также называемое нормальным распределением) является основным строительным блоком гауссовского процесса. Нас больше всего интересует многомерное распределение Гаусса, где каждая случайная величина распределена нормально, а совместное распределение также является гауссовым. В общем, многомерное распределение Гаусса определяется средним вектором μ и ковариационной матрицей Σ.

Средний вектор μ описывает ожидаемое значение распределения, а каждый из его компонентов описывает среднее значение соответствующей размерности. Σ моделирует дисперсию в каждом измерении и определяет связь между различными случайными величинами. Ковариационная матрица всегда симметрична и положительно полуопределена [4]. Диагональ Σ состоит из стандартного отклонения σ_i i-й случайной величины, а недиагональные элементы описывают корреляцию между каждым элементом σ_ij.

Мы говорим, что X нормально распределено. Ковариационная матрица Σ описывает форму этого распределения, которая определяется ожидаемым значением E:

Графически распределение сосредоточено на среднем значении, а его форма определяется ковариационной матрицей. На рисунке ниже показано влияние этих параметров на двумерное гауссово распределение. Стандартное отклонение каждой случайной величины находится на диагонали ковариационной матрицы, а остальные значения показывают ковариацию между ними.

Это интерактивный график, и, перетаскивая три точки на графике, вы можете настроить дисперсию в каждом измерении, а также корреляцию между двумя случайными величинами. Фиолетовая часть относится к области высокой вероятности в распределении.

Распределение Гаусса широко используется для моделирования реального мира, иногда в качестве замены, когда исходное распределение неизвестно, а иногда и для центральной предельной теоремы. Далее мы объясним больше о том, как манипулировать распределением Гаусса и как получить из него полезную информацию.

Маргинализация и обусловленность

Распределение Гаусса обладает хорошим алгебраическим свойством: оно замкнуто при обусловленности и маргинализации. Это означает, что после этих операций полученное в результате распределение по-прежнему является распределением Гаусса, что упрощает решение многих задач статистики и машинного обучения. Далее мы более подробно рассмотрим эти две операции, составляющие основу гауссовского процесса.

И маргинализация, и кондиционирование действуют на подмножества исходного распределения, и мы будем использовать следующие обозначения:

где X и Y представляют собой подмножества исходных случайных величин.

Путем маргинализации мы можем получить некоторую информацию о многомерном распределении вероятностей. Учитывая нормальное распределение вероятностей P(X,Y) вектора случайных величин X и Y, мы можем определить их предельное распределение вероятностей следующим образом:

Смысл этой формулы прост: каждое из двух подмножеств X и Y зависит только от соответствующих им значений в μ и Σ. Следовательно, чтобы исключить случайную величину из гауссовского распределения, мы просто опускаем соответствующие переменные в μ и Σ.

Эта формула означает, что если нас интересует только вероятность того, что X = x, мы рассматриваем все возможные значения Y, которые работают вместе, чтобы получить окончательный результат.

Другой важной операцией гауссовского процесса является кондиционирование, которое можно использовать для получения распределения вероятностей одной переменной, зависящей от другой переменной. Подобно маргинализации, эта операция также является замкнутой и приводит к другому распределению Гаусса. Обусловливание является краеугольным камнем гауссовского процесса, который делает возможным байесовский вывод. Кондиционирование определяется следующим образом:

Обратите внимание, что новое среднее зависит только от условной переменной, а ковариационная матрица от этой переменной не зависит.

После понимания необходимых формул нам нужно подумать о том, как понять эти две операции с визуального уровня. Хотя маргинализацию и обусловливание можно использовать для многомерных многомерных распределений, их лучше понять, используя в качестве примера двумерное распределение на рисунке ниже. Маргинализацию можно понимать как накопление в одном измерении гауссовского распределения, что также соответствует общему определению маргинального распределения. У обусловленности также есть красивое геометрическое выражение — мы можем думать о нем как о разрезании многомерного распределения для получения гауссовой кривой с меньшим количеством измерений.

В середине двумерное нормальное распределение. Слева результат маргинализации распределения по Y, аналогичный накоплению по оси Y. Справа — распределение, обусловленное заданным X, подобно разрезанию ножом исходного распределения. Вы можете изменить это распределение Гаусса и переменные, используемые в качестве условий, перетаскивая точки на графике.

Гауссовский процесс

Рассмотрев основные свойства многомерного распределения Гаусса, мы можем затем собрать их вместе, чтобы определить процесс Гаусса и показать, как его можно использовать для решения задач регрессии.

Во-первых, мы смещаем перспективу с непрерывной функции на дискретное представление функции: вместо того, чтобы находить неявную функцию, нас больше интересует предсказание значения функции в определенных точках, называемых контрольными точками X. Соответственно, мы называем обучающие данные Y. Что ж, ключевым моментом гауссовского процесса является то, что все значения функции исходят из многомерного гауссовского распределения. Это означает, что совместное распределение вероятностей P(X,Y) охватывает пространство возможных значений функции, которую мы хотим предсказать. Это совместное распределение тестовых данных и обучающих данных имеет размеры ∣X∣+∣Y∣.

Чтобы выполнить регрессию на обучающих данных, мы подойдем к этой проблеме с помощью байесовского вывода. Основная идея байесовского вывода заключается в обновлении текущей гипотезы после получения новой информации. Для гауссовских процессов эта информация относится к обучающим данным. Поэтому нас интересует условная вероятность P(X|Y). Наконец, помните, что распределение Гаусса замкнуто при условии? Таким образом, P(X|Y) также имеет нормальное распределение.

Итак, мы собрали основные рамки гауссовского процесса, осталось только одно: как нам установить это распределение, определить среднее значение μ и ковариационную матрицу Σ? Метод таков: используйте функцию ядра k, подробности будут обсуждаться в следующем разделе. Но перед этим давайте вспомним, как использовать многомерное распределение Гаусса для оценки значения функции. Пример на рисунке ниже содержит десять контрольных точек, по которым мы будем прогнозировать функцию.

Это также интерактивный график

В гауссовском процессе мы рассматриваем каждую контрольную точку как случайную величину, а размерность многомерного гауссовского распределения совпадает с количеством случайных величин. Поскольку мы хотим предсказать значение функции в ∣X∣=N контрольных точках, соответствующее многомерное распределение Гаусса также является N-мерным. Выполнение прогнозов с помощью гауссовского процесса в конечном итоге сводится к выборке этого распределения. Таким образом, мы можем взять i-й элемент результирующего вектора в качестве соответствующего значения функции для i-й контрольной точки.

Функция ядра

Напомним, что для того, чтобы установить желаемое распределение, нам сначала нужно определить μ и Σ. В гауссовских процессах мы склонны предполагать μ = 0, что упрощает формулу, необходимую для кондиционирования. Всегда верно предположить, что даже если µ≠0, мы можем добавить µ обратно к результирующему значению функции после завершения прогнозирования. Итак, настроить μ очень просто, что более интересно, так это еще один параметр этого распределения.

Аккуратным шагом в гауссовском процессе является настройка ковариационной матрицы Σ. Ковариационная матрица не только описывает форму этого распределения, но в конечном итоге определяет свойства функции, которую мы хотим предсказать. Мы генерируем ковариационную матрицу, взяв значение функции ядра k, которая также обычно называется ковариационной функцией и действует на все контрольные точки попарно. Входные данные, полученные функцией ядра, представляют собой две точки,, который возвращает скаляр, выражающий сходство между двумя точками.

Мы соединяем контрольные точки и оцениваем эту функцию, чтобы получить ковариационную матрицу, этот шаг также показан на рисунке ниже. Чтобы иметь более интуитивное представление о роли функции ядра, мы можем подумать о том, что описывают элементы в ковариационной матрице. Σ_ij описывает взаимодействие между i-й и j-й точками, что согласуется с определением многомерного распределения Гаусса. В определении многомерного распределения Гаусса Σ_ij определяет корреляцию между i-й случайной величиной и j-й случайной величиной. Поскольку функция ядра описывает сходство между значениями функции, она управляет формой, которую может иметь подобранная функция. Обратите внимание, что когда мы выбираем функцию ядра, мы хотим убедиться, что создаваемая ею матрица соответствует свойствам ковариационной матрицы.

Функции ядра широко используются в машинном обучении, например, в машинах опорных векторов. Он настолько популярен, потому что позволяет нам измерять сходство за пределами стандартного евклидова расстояния (расстояние L2). Многие функции ядра встраивают входные точки в многомерное пространство для измерения сходства. На следующем рисунке представлены некоторые общие функции ядра для гауссовских процессов. Для каждой функции ядра мы генерируем ковариационную матрицу с N=25 линейными точками в диапазоне [-5,5]. Элементы в матрице показывают межточечную ковариацию и принимают значения между [0,1].

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

Функции ядра можно разделить на стационарные и нестационарные. Стационарные функции ядра, такие как ядра радиальных базисных функций (RBF) или периодические ядра, инвариантны к трансляции, и ковариация между двумя точками зависит только от их взаимного положения. Нестационарные функции ядра, такие как линейные ядра, не имеют этого ограничения и зависят от абсолютных позиций. Стационарный характер ядра радиальной базисной функции можно наблюдать по диагонали его ковариационной матрицы (см. рисунок ниже). Увеличение параметра длины делает эту полосу шире, так как точки, которые находятся дальше друг от друга, больше коррелируют друг с другом. Для ядра периода у нас также есть параметр P, определяющий период, который управляет расстоянием между каждым повторением функции. Напротив, параметр C линейного ядра позволяет нам изменить точку, в которой встречаются различные функции.

Есть много других функций ядра, описывающих различные классы функций, которые придают функции желаемую форму. Дювено «Автоматическое построение модели с гауссовскими процессами» предоставляет обзор различных функций ядра и заслуживает внимания. Мы также можем комбинировать несколько функций ядра для использования, но об этом позже.

предварительное распределение

Возвращаясь к нашей первоначальной задаче регрессии, как мы упоминали ранее, гауссовский процесс определяет распределение вероятностей скрытой функции. Поскольку это многомерное распределение Гаусса, эти функции также имеют нормальное распределение. Обычно мы предполагаем, что μ = 0, и давайте сначала рассмотрим случай, когда обучающие данные не наблюдались. В рамках байесовского вывода мы называем это априорным распределением P(X).

Если обучающие выборки не наблюдались, распределение распространяется вокруг μ = 0, как мы предполагали в начале. Размерность априорного распределения согласуется с количеством контрольных точек N=∣X∣. Мы будем использовать функцию ядра для построения ковариационной матрицы размерности N×N.

Мы видели примеры различных функций ядра в предыдущей главе.Поскольку функция ядра используется для определения содержимого ковариационной матрицы, она также определяет, какие типы функций более вероятны в этом пространстве, содержащем все возможные функции. Априорное распределение не содержит никакой дополнительной информации, что дает нам прекрасную возможность показать влияние функции ядра на распределение функции. На рисунке ниже показаны некоторые примеры скрытых функций, которые можно получить с помощью предыдущих дистрибутивов, созданных с помощью различных функций ядра.

Нажмите на изображение, чтобы получить серию последовательных выборок с использованием указанной функции ядра в процессе Гаусса. После каждого сэмпла предыдущие сэмплы исчезают на фоне. Через некоторое время вы, вероятно, увидите, что эти функции нормально распределены вокруг среднего значения µ.

Настраивая параметры, вы можете управлять формой полученной функции, что также меняет достоверность прогноза. Дисперсия σ является параметром, общим для всех функций ядра, и если вы уменьшите его, выборочная функция будет более плотно обертываться вокруг среднего значения μ. Для линейного ядра, установив σb = 0, мы получим набор функций, которые встречаются точно в точке c, тогда как установка σ_b = 0,2 вносит некоторую неопределенность, и выборочные функции будут примерно проходить вблизи точки c.

Апостериорное распределение

Так что же произойдет, если мы будем наблюдать за обучающими данными? Давайте рассмотрим модель байесовского вывода, которая говорит нам, что мы можем включить эту дополнительную информацию в модель, чтобы получить апостериорное распределение P(X|Y). Давайте подробнее рассмотрим, как его можно использовать в гауссовском процессе.

Во-первых, мы получаем совместное распределение P(X,Y) между контрольными точками X и обучающими точками Y, которое представляет собой многомерное распределение Гаусса с размерностью ∣Y∣+∣X∣. Как вы можете видеть на рисунке ниже, мы объединили точки обучения и контрольные точки вместе, чтобы вычислить соответствующую ковариационную матрицу.

Далее мы собираемся выполнить ранее определенную операцию над распределением Гаусса: получить P(X|Y) из P(X,Y) путем кондиционирования. Размерность этого нового распределения такая же, как и количество контрольных точек N, которое распределяется нормально. Важно отметить, что среднее значение и стандартное отклонение изменятся соответственно после обработки: X ∣ Y ∼ N (μ ', Σ '). Конкретные подробности можно найти в главе о маргинализации и обусловленности. Интуитивно говоря, точка обучения задает ограниченный диапазон для функции-кандидата: точка обучения, которую нужно пройти.

Добавление обучающих точек (■) изменяет размерность многомерного распределения Гаусса; ковариационная матрица генерируется путем спаривания значений функции ядра, и в результате получается двенадцатимерное распределение; при кондиционировании мы получим распределение, это распределение может описывать значение функции, которую мы предсказываем для данного значения x.

Подобно предыдущему распределению, мы можем получить прогноз, выбрав это распределение. Однако, поскольку выборка содержит случайность, мы не можем гарантировать, что результаты будут хорошо соответствовать данным. Чтобы оптимизировать результаты прогнозирования, мы можем использовать еще одну базовую операцию распределения Гаусса.

Путем маргинализации каждой случайной величины мы можем извлечь значение μ'i соответствующей средней функции для i-й контрольной точки и стандартное отклонение σ'i=Σ'ii. В отличие от априорного распределения, когда мы делаем априорное распределение, мы устанавливаем μ = 0, и в этом случае среднее значение не очень важно. Когда мы применяем условие к совместному распределению тестовых данных и обучающих данных, результирующее распределение имеет тенденцию иметь ненулевое среднее значение, μ′≠0. Извлечение μ' и σ' не только делает прогноз более значимым, но также указывает на достоверность прогнозируемого значения.

На рисунке ниже (оригинал — интерактивный рисунок) показан пример условного распределения. Вначале тренировочных точек не наблюдалось, поэтому прогнозируемое среднее сохранялось равным 0, а стандартное отклонение было одинаковым для каждой контрольной точки. Наведите курсор на ковариационную матрицу, и вы увидите влияние каждой точки на текущую тестовую точку. Пока тренировочные точки не наблюдались, только соседние точки влияют друг на друга.

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

Когда обучающие данные не активированы, на рисунке показано априорное распределение гауссовского процесса с использованием ядра радиальной базисной функции. Когда курсор наводится на ковариационную матрицу, непрозрачность градиента показывает влияние значения функции на ее соседей. Это распределение меняется, когда мы наблюдаем за обучающими данными. Их можно активировать, нажав на одну точку. Затем гауссовский процесс ограничивается, стремясь придать более высокую вероятность тем функциям, которые пересекают эти точки. Наилучшая интерпретация обучающих данных содержится в обновленной средней функции.

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

Объединение различных функций ядра

Как мы уже говорили ранее, сила гауссовского процесса заключается в выбранной им функции ядра. Это позволяет экспертам привнести в процесс некоторые знания предметной области, делая гауссовский процесс достаточно гибким, чтобы фиксировать тенденции в обучающих данных. Например, эксперт может контролировать гладкость функции в результате, выбирая соответствующую полосу пропускания для ядра радиальной базисной функции.

Большим преимуществом функций ядра является то, что их можно комбинировать для формирования более специализированной функции ядра. Это позволяет экспертам в данной области добавлять больше информации, делая прогнозы более точными. Обычно мы объединяем различные функции ядра, умножая их. Мы можем рассмотреть случай двух ядер, скажем, ядра радиальной базисной функции k_rbf и периодического ядра k_per. Вот как мы их комбинируем:

На приведенном ниже графике (исходное изображение представляет собой интерактивный график) необработанные данные обучения имеют тенденцию к увеличению с периодическими отклонениями. Если используется только линейное ядро, можно получить обычную линейную регрессию этих точек. На первый взгляд, ядро ​​радиальной базисной функции может точно аппроксимировать эти точки. Но поскольку ядро ​​радиальной базисной функции является стационарным, оно всегда будет возвращаться к среднему значению μ=0 вдали от наблюдаемых обучающих данных. Это делает предсказание очень ранних или очень поздних моментов времени менее точным. Только путем объединения нескольких функций ядра можно сохранить как периодический характер данных, так и тенденцию среднего значения быть ненулевым. Например, этот метод можно использовать для анализа данных о погоде.

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

в заключении

Прочитав эту статью, вы должны получить общее представление о гауссовских процессах и лучше понять, как они работают. Как мы видели, гауссовы процессы обеспечивают гибкую основу для задач регрессии и имеют некоторые расширения, делающие их более общими. Имея дело с реальными данными, мы часто обнаруживаем, что измерения подвержены неопределенности и ошибкам. Используя гауссовский процесс, мы можем определить функцию ядра, соответствующую нашим данным, и добавить неопределенность к прогнозируемым результатам. Например, МакХатчон и др. [7] сделали специальное расширение гауссовского процесса, чтобы сделать его совместимым с входными данными, содержащими шум.

Хотя мы в основном обсуждаем гауссовские процессы в контексте проблем регрессии, их также можно использовать для других задач, таких как удаление моделей и проверка гипотез. Сравнивая производительность различных ядер в наборах данных, эксперты в предметной области могут использовать дополнительные знания, соответствующим образом комбинируя ядра или выбирая для них параметры. Поскольку во многих случаях у нас нет таких экспертов, люди также изучают, как использовать глубокое обучение [8, 9] для изучения специализированных функций ядра на основе данных. Кроме того, есть несколько работ [10, 11], в которых исследуется связь между байесовским выводом, гауссовскими процессами и глубоким обучением.