高斯过程:最大对数似然会得到无限结果

3

我感到很愚蠢,不理解这个东西为什么不能工作。

我想用一些数据拟合高斯过程。我的协方差函数是基本的平方指数函数:

k(x,x0) =σ0²*exp(-(x-x0)²/(2*λ²))

我有三个超参数需要拟合我的数据:来自协方差函数的两个参数(σ和λ),以及假设我的数据有噪声时来自σ0。 所以我只需要最小化负对数似然,对吧?

logp(y|X,θ) =1/2*t(y)*C(θ)^(−1)*y+1/2log|C(θ)|+(n/2)*log 2π

使用 θ=(σ,λ,σ0)C(θ)=K-σ0²*I

其中,K 是对我的 x 向量应用 k 得到的协方差矩阵。

唯一的边界条件是参数需要为正数。

但是,无论我使用什么优化算法,都会失败,因为它直接进入了 -Inf(负无穷)。 在经过几个小时认为我不能以适当的方式使用优化算法之后,我意识到这其实是很正常的:

我的 σ0 和 σ 直接变成 0,因为这样可以得到 K=0,C=0,所以 det(C)=0,我的负似然函数变成了 -Inf。

当然,这是无意义的,最适合数据的方差不能为 0。但是我不知道我在这里做错了什么,特别是因为这个公式写在哪里都是这样,现在我想不出如何优化它能给出 σ=0 以外的结果...

我错在哪里?

1个回答

1
如果您正在拟合诸如核密度或核密度表面之类的东西,那么您的代码可能没有任何“问题”。在我的看来,当您的带宽趋近于零时,您拟合表面的对数似然会增加,您的拟合基本上会接近一个具有奇点的表面,并且其他地方都是零。从似然的角度来看,这将构成一个“完美”的拟合——尽管在计算上是灾难性的并且在推断上是无用的。但好的一面是,今天是星期五。

谢谢你的回答。 我理解你对这种可能性观点的看法。 但是,无论数据如何,那种参数拟合都永远不会起作用。 我查看了互联网上关于这个主题的数十张课程幻灯片、讲义和教程,每次得出的结论都是超参数很容易通过优化找到。 例如,在这里:https://www.robots.ox.ac.uk/~mebden/reports/GPtutorial.pdf(见方程式10) 作者很容易地找到了参数,而我不明白算法为什么没有给他σ=0。 - Mysterry

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接