0%

高斯过程JavaScript

在上一篇博文《高斯过程新解》中,我们用一种全新的视角解读了高斯过程(Gaussian Process)。本人使用 javascript 编写了一个高斯过程求解的网页程序供大家参考。

高斯过程

是一个随机过程,其指标为 。高斯过程在点集 处的 服从多元正态分布,该正态分布的均值向量为 ,协方差矩阵为

这些平均值和协方差从何而来?有机会了我会给出推导过程。我们定义一个均值函数 ,它给出任意点 处的多元正态分布的均值。并且定义一个协方差核函数 ,它是一个矩阵,定义了点集 中每个点之间的协方差。

表示 是一个由均值函数和协方差核定义的高斯过程的实现。下面我们将均值函数设为零

预测

在给定的点集 处已知观测量 。我们想预测新的点集 处的函数值

其中 是观测点 之间的协方差, 是预测点 之间的协方差, 是观测点 与新点 之间的协方差。

测量误差

我们假设观测量存在一个高斯型的误差,方法是在观测数据的方差中添加一个额外的方差项:

其中 是由核函数给定的协方差, 是测量误差的方差, 是单位矩阵。

协方差核函数

Constant

Squared Exponential

Rational Quadratic

Periodic

Cosine

Linear

下面使用 math.js 编写了一个高斯过程求解的网页程序,并使用 Plotly.js 画图,点击左下角“阅读原文”跳转。javascript 真是世界上最伟大的语言!(当然 Python 也是😂)

高斯过程 Javascript

不同的核函数在陆续加入



Kernal

1
1
0

原创内容转发请务必注明出处。请大家多多关注、点赞、收藏、转发,让更多有需要的人可以看到,以后会分享更多实用的算法。

万分感谢!🙏