Гауссовский процесс — это концепция, которая всегда идет рядом с байесовской линейной регрессией. Оба подхода имеют сильные преимущества по сравнению с измерением неопределенности прогнозов. Обычная поговорка по этому поводу заключается в том, что знание неопределенности выходных данных глубокой нейронной сети (DNN) имеет решающее значение для обработки совершенно несвязанных входящих данных и безопасного реагирования на них. В моем случае я всегда предпочитал четкие цифры вероятностям и распределениям. Однако в настоящее время я начал осознавать важность знания того, насколько уверенно я могу говорить о выходе своей DNN, и мне пришлось попробовать. Кроме того, я следил за этой замечательной реализацией процесса Гаусса от Martin Krasser и сделал более простую версию этого Google Colab для всех, кто хочет повторить это на практике.



Введение

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

Математическая основа

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

Это означает, что распределение случайной величины fпри заданных входных данных X следует распределению Гаусса при заданной функции среднего значения μ и ковариационной функции κ.

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

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

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

Выполнение

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

Параметры вертикального и горизонтального отклонения определены как σ и l выше.

Затем мы можем получить случайные выборки с нулевыми средними и ковариационной матрицей, рассчитанной ядром выше. Вот пример с доверительным интервалом 95%.

Неопределенность, как и в синей области выше, рассчитывается как 1,96 (95% доверительный интервал), умноженный на квадратный корень дисперсии, который является диагональным элементом ковариационной матрицы.

Предположим, что у нас есть обучающие данные, которые следуют синусоидальной функции. Апостериорные данные с учетом обучающих данных будут следующими:

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

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

Наконец, нам нужно найти оптимальные гиперпараметры σ, l, и шум в нашем случае, максимизируя логарифмическую предельную вероятность, как показано ниже:

Тогда оптимизированные случайные величины будут следующими:

Вывод

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

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

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

использованная литература

[1] Мартин Крассер, Гауссовские процессы, 2018 г.
[2] Кристофер М. Бишоп, Распознавание образов и машинное обучение, Springer, 2006 г.< br /> [3] https://stats.stackexchange.com/questions/444049/equivalence-of-gaussian-process-and-bayesian-linear-regression-by-inspecting-the
[4] https://distill.pub/2019/visual-exploration-gaussian-processes/