machine-learning - 高斯过程中的核函数

标签 machine-learning gaussian kernel-density

给定高斯过程中的核,是否有可能在不首先采样的情况下知道从先验分布中得出的函数的形状?

最佳答案

我认为了解先验函数形状的最好方法是绘制它们。这是一维示例:

prior samples

这些是来自 GP 先验的样本(平均值为 0,协方差矩阵由平方指数核导出)。正如您所看到的,它们很光滑,通常给人一种它们是多么“摇摆”的感觉。另请注意,在多维度的情况下,每个维度看起来都有点像这样。

这是我使用的完整代码,请随意编写自己的内核或调整参数以查看它如何影响示例:

import numpy as np
import matplotlib.pyplot as pl

def kernel(a, b, gamma=0.1):
    """ GP squared exponential kernel """
    sq_dist = np.sum(a**2, 1).reshape(-1, 1) + np.sum(b**2, 1) - 2*np.dot(a, b.T)
    return np.exp(-0.5 * (1 / gamma) * sq_dist)

n = 300       # number of points.
m = 10        # number of functions to draw.
s = 1e-6      # noise variance.

X = np.linspace(-5, 5, n).reshape(-1, 1)
K = kernel(X, X)
L = np.linalg.cholesky(K + s * np.eye(n))
f_prior = np.dot(L, np.random.normal(size=(n, m)))

pl.figure(1)
pl.clf()
pl.plot(X, f_prior)
pl.title('%d samples from the GP prior' % m)
pl.axis([-5, 5, -3, 3])
pl.show()

关于machine-learning - 高斯过程中的核函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46334298/

相关文章:

python - Seabornpairplot kde 对角线默认行为

r - 对分组变量求平均 geom_密度(y=..count..)

python - 是否有可应用于分类数据输入的特征选择算法?

python - CNTK(微软认知工具包)导入错误

scikit-learn - DP-GMM和在线群集分配

r - 你如何在 R 中生成多元高斯随机数?

machine-learning - caffe中基于VGG16制作跳层连接网络出错

Python,机器学习 - 对自定义验证集执行网格搜索

image-processing - 多物体检测和跟踪

algorithm - 计算机图形学中的核密度估计