Многомерные гауссианы

Байесовская оптимизация — относительно простая для понимания концепция. Однако, копаясь в этом, я изо всех сил пытался найти статьи, в которых был бы хороший баланс между слишком большим количеством деталей и слишком маленьким. Эта серия статей направлена ​​на то, чтобы найти этот баланс.

Сериал разбит на три части:

1. Многомерные гауссианы (эта статья)

2. Регрессия гауссовского процесса

3. Байесовская оптимизация с использованием регрессии гауссовского процесса

У вас может возникнуть соблазн «пролистать» до конца и прочитать раздел о байесовской оптимизации. Если вы очень хорошо знакомы с методами статистической регрессии, вы тоже можете это сделать. Однако в первых двух разделах будет представлен метод регрессии, который является простым и аккуратным и позволит нам понять каждый шаг в процессе байесовской оптимизации для определенного случая регрессии. Я настоятельно рекомендую вам прочитать все разделы.

Так что возьмите чай, отложите часть дня и давайте начнем.

Весь код для создания приведенных ниже графиков можно найти в этом репозитории. Этот пост в блоге сильно повлиял на мой нынешний пост.

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

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

1. Произвольно оцените несколько точек в области оптимизации.

2. Используйте эти оценки для регрессии функции в домене. В этой серии статей мы время от времени будем называть эту регрессионную функцию средней функцией.

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

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

5. Оцените этот момент и добавьте оценку к набору всех оцененных баллов.

6. Вернитесь к шагу 2 и повторите.

Эти шаги можно показать визуально ниже:

На этом этапе у вас должно возникнуть несколько вопросов. А именно:

  1. Как мы регрессируем среднюю функцию?
  2. Как рассчитать неопределенности во всей области оптимизации?
  3. Что за шаманство использует неопределенности и функцию среднего, чтобы определить, куда смотреть дальше?

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

Многомерные гауссианы

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

Формулу многомерного гауссиана можно увидеть ниже:

Давайте ограничимся двумя измерениями и немного изучим формулу.

μ: среднее значение одномерного гауссиана теперь заменено средним вектором, как мы находимся в 2D.

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

|Σ|: определитель ковариационной матрицы.

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

Есть только одна немного новая концепция при переходе от одного измерения к двум: ковариационная матрица.

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

Следует отметить несколько важных особенностей ковариационной матрицы:

  1. Он симметричен. i-я случайная переменная коррелирует с j-й так же, как j-я с i-той. (Извините, математическое форматирование на носителе — кошмар).
  2. Положительно полуопределенно. Это обеспечивает выполнение требования, чтобы дисперсия взвешенной суммы случайных величин была положительной. Это может показаться запутанным. Не беспокойтесь об этом слишком сильно, и если вы хотите узнать больше, есть действительно простое объяснение здесь.

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

Маргинализация

Это не может быть проще. Если бы у нас был двумерный многомерный гауссов, изображающий случайные величины x и y, и мы хотели бы знать, каково предельное распределение случайной величины x, мы бы проинтегрируйте случайную переменную y следующим образом:

В двумерном случае маргинализованное распределение p(x) эквивалентно построению одномерного гауссова со средним значением μ[0] и дисперсией Σ[0]. ,0]. Что можно изобразить графически следующим образом:

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

Кондиционирование

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

Однако сказать, что мы разрезаем распределение в какой-то момент, а затем нормализовать, — это не то, как мы поступаем. Это упрощает графическую интерпретацию, но на самом деле мы повторно вычисляем среднее значение и ковариационную матрицу для нереализованных случайных величин на основе реализованных случайных величин. Затем мы используем их для построения нового распределения.

Скажем, мы находимся в n измерениях. Мы знаем реализованные значения первых l случайных величин, где l ‹ n. Мы хотим построить распределение для остальных m случайных величин, где l+m = n при условии, что l случайных величин уже имеют реализованные ценности. Как мы это делаем?

Давайте организуем вектор наших случайных величин следующим образом:

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

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

Мы можем разложить средний вектор следующим образом:

И примените то же разложение к ковариационной матрице:

Тогда условное среднее и ковариационная матрица могут быть выражены следующим образом:

Где y₁ — вектор реализованных значений для известных случайных величин.

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

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

Источники

Большая часть контента для этого поста взята из этого поста в блоге и учебника Распознавание образов и машинное обучение Кристофера Бишопа.