0

新手在这里排版我的问题,如果这不起作用,请原谅。

我正在尝试为假设输入具有多元正态分布的多元分类问题提供贝叶斯分类器。我选择使用定义为log(likelihood * prior)的判别函数。

不过从分布来看,

$${f(x \mid\mu,\Sigma) = (2\pi)^{-Nd/2}\det(\Sigma)^{-N/2}exp[(-1/2)(x -\mu)'\Sigma^{-1}(x-\mu)]}$$

我遇到了一个术语 -log(det($S_i$)),其中 $S_i$ 是我对特定类 i 的样本协方差矩阵。由于我的输入实际上代表一个正方形图像数据,我的 $S_i$ 发现了相当多的相关性并导致 det(S_i) 为零。然后我的判别函数都变成了Inf,这对我来说是灾难性的。

我知道这里肯定有很多问题,有人愿意帮助我吗?


更新:任何人都可以帮助如何使公式起作用?

4

2 回答 2

0

可能您没有足够的数据来推断 d 维空间中的参数。通常,解决此问题的方法是进行 MAP 估计,而不是 ML。

对于多元正态分布,这是一个正态-逆-wisart 分布。MAP估计将逆Wishart分布的矩阵参数添加到ML协方差矩阵估计中,如果选择正确,将摆脱奇点问题。

如果您实际上是在尝试为正态分布的数据创建分类器,而不仅仅是进行实验,那么更好的方法是使用判别方法。多元正态的决策边界是二次的,因此只需将二次核与 SVM 结合使用。

于 2013-09-29T20:25:19.913 回答
0

我不分析这个概念,因为我不太清楚你在这里要完成什么,也不知道数据集,但是关于协方差矩阵的问题:

对于需要协方差矩阵及其行列式的数据,最明显的解决方案是使用某种降​​维技术来捕获信息量最大的维度,然后简单地丢弃其余的维度。一种这样的方法是主成分分析 (PCA),它应用于您的数据并在例如 5-20 维之后截断将产生具有非零行列式的减少协方差矩阵。

PS。在Cross Validated上发布这个问题可能是个好主意

于 2013-09-29T09:54:02.743 回答