多元高斯对数似然梯度

机器算法验证 正态分布 协方差矩阵 正则化 梯度下降 岭回归
2022-03-14 16:04:59

我正在尝试通过梯度下降找到模型的 MAP 估计值。我的先验是具有已知协方差矩阵的多元高斯。

在概念层面上,我想我知道如何做到这一点,但我希望在细节方面有所帮助。特别是,如果有更简单的方法来解决问题,那么这将特别有用。

这是我认为我需要做的:

  • 对于每个维度,给定我在其他维度中的当前位置,找到条件分布。
  • 这给了我每个维度的局部单变量高斯,具有正确的均值和标准差。
  • 我认为梯度应该只是这些单变量分布的导数向量。

我的问题有两个部分:

  1. 这是最好的方法,还是有更简单的方法?
  2. 假设我需要走这条路,找到这些条件分布的最佳方法是什么?
2个回答

优化呢?

让我们看看我是否理解正确。你有一个模型以一些观察和一组参数和先验为条件,导致参数根据已知的多元正态分布,即你想找到这个问题的 MAP 解决方案,即 这个问题的一个特例在神经网络社区中得到了很好的研究,称为权重衰减。在这种情况下,p(y|x,θ)xθp(θ)L=p(y|x,θ)p(θ)θN(μ,Σ)

argmaxθL.
μ=0Σ=Iσ2

正如您已经指出的那样,诀窍是当你取高斯密度的对数时,许多丑陋的项(指数)消失了,你最终会得到像如果你把它区分开来,Sam Roweis 的矩阵恒等式就会派上用场,让你得出argmaxθL=argmaxθlogLlogp(θ)=12(θμ)TΣ1(θμ)+const

12(θμ)TΣ1(θμ)θ=Σ1(θμ).

(请验证,这是在我的脑海中快速完成的。)连同您的模型的衍生物,您可以使用现成的优化器来获得 MAP 解决方案。

更新:合并了 David J. Harris 的评论。公式现在应该是正确的。

如果可能性不是高斯的,则不可能说是否有分析结果。此外,第二个项目符号通常是不正确的。由于高斯先验和一般似然不会导致向量分量上的条件高斯分布。

获得 MAP 的一种方法是进行完整的贝叶斯分析,例如使用 MCMC 并使用来自后验的样本来估计它。[在这种情况下,您将获得比仅使用 MAP 更好的信息。] 出于兴趣 - 为什么不沿着这条路线走下去呢?

另一种方法可能是这样做(我通常没有看到这样做,所以如果它很疯狂,请有人纠正我):

p(θ|x)=p(x|θ)p(θ)p(x)

l(θ|x)=l(x|θ)+l(θ)l(x)

dl(θ|x)dθ=dl(x|θ)dθ+dl(θ)dθ=0

然后求解(可能是数字)。θ