如何理解高斯过程(五):回顾

前文从原理、代码等角度介绍了高斯过程,但是在整个过程中依旧存在很多容易混淆的点。现在可以尝试回答这几个问题,看看是否已经完全掌握了高斯过程。

一、先验 中 mu和sigma数值

1.mu:假设为0.

2.cov:cov=kernel(x1,x1‘)

def kernel(x1, x2, l=1, sigma_f=1):
    dist_matrix = np.sum(x1**2, 1).reshape(-1, 1) + np.sum(x2**2, 1) - 2 * np.dot(x1, x2.T)
    return sigma_f ** 2 * np.exp(-0.5 / l ** 2 * dist_matrix)

cov是输入范围x1和x1之间的相似关系

假设x1=[0,2,4,6,8] x1‘=[0,2,4,6,8]'

cov是

第一行第一列数值:描述了x1中的第一个值和x1‘中的第一个值之间高斯分布距离,两者值相同,带入高斯分布公式,可以得到对应的距离是1.

第二行第三列数值是如何计算的呢?

x1中的第二个元素 2 和x1’中的第三个元素4

带入公式

K=\sigma^{2}\exp(-\frac{||2-4||^2}{2l^2})=\exp(-2)=0.1353

注意点:绘制不确定性范围时候,取得cov的对角线元素,cov对角线元素和两个相同数值之间的距离,是1,所以uncertainty相同,也就解释了为什么先验图中蓝色的部分是相同高度的。

uncertainty = 1.96 * np.sqrt(np.diag(cov))

二、似然 中mu和sigma的数值

首先我们需要明确的是,对于测试范围内的每个输出值都符合高斯分布,都有对应的mu和cov。

mu = K12.dot(K22_inv).dot(y)
cov =kernel(x_samples, x_samples) - K12.dot(K22_inv).dot(K21)

mu:mu的值会在相应的位置更新为采集值,K12.dot(K22_inv)会变成[0 0 1 0 0 1 0]类似的形式,说明我采集到的点是对应第三个和第六个位置的y值。

cov:对应采集位置的对角元素会变得很小,我知道了这个点的值,该点的不确定性自然会减小

如何从数值(矩阵计算上)上理解mu和cov相应的变化?

完成该部分推导后,会对高斯过程了然于心。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值