解析计算贝叶斯分类器的误差

机器算法验证 可能性 自习 正态假设 朴素贝叶斯 贝叶斯最优分类器
2022-03-28 22:07:45

如果两个类 $w_1$ 和 $w_2$ 具有已知参数的正态分布($M_1$, $M_2$ 作为它们的均值,$\Sigma_1$,$\Sigma_2$ 是它们的协方差)我们如何计算贝叶斯分类器的误差理论上对他们来说?w1 and w2 have normal distribution with known parameters (M1, M2 as their means and Σ1,Σ2 are their covariances) how we can calculate error of the Bayes classifier for them theorically?

还假设变量在 N 维空间中。

注意:此问题的副本也可在https://math.stackexchange.com/q/11891/4051获得,但仍未得到答复。如果这些问题中的任何一个得到回答,另一个将被删除。

4个回答

没有封闭的形式,但你可以用数字来做。

作为一个具体的例子,考虑两个具有以下参数的高斯

μ1=(11),μ2=(11)

Σ1=(21/21/22), Σ2=(1001)

贝叶斯最优分类器边界将对应于两个密度相等的点

由于您的分类器将在每个点上选择最有可能的类别,因此您需要对不是每个点的最高密度进行积分。对于上述问题,它对应于以下区域的体积

您可以使用一些数值积分包分别积分两部分。对于上述问题,我0.253579使用以下 Mathematica 代码

dens1[x_, y_] = PDF[MultinormalDistribution[{-1, -1}, {{2, 1/2}, {1/2, 2}}], {x, y}];
dens2[x_, y_] = PDF[MultinormalDistribution[{1, 1}, {{1, 0}, {0, 1}}], {x, y}];
piece1 = NIntegrate[dens2[x, y] Boole[dens1[x, y] > dens2[x, y]], {x, -Infinity, Infinity}, {y, -Infinity, Infinity}];
piece2 = NIntegrate[dens1[x, y] Boole[dens2[x, y] > dens1[x, y]], {x, -Infinity, Infinity}, {y, -Infinity, Infinity}];
piece1 + piece2

似乎您可以通过两种方式解决此问题,具体取决于您乐于做出的模型假设。

生成方法

假设数据有一个生成模型,您还需要知道每个类的先验概率,以便对分类错误进行分析说明。查找判别分析以获得封闭形式的最佳决策边界,然后为每个类计算其错误侧的区域以获得错误率。

我假设这是您调用贝叶斯分类器的目的,分类器仅在指定有关数据生成过程的所有内容时才定义。由于这很少可能,因此始终值得考虑

歧视法

如果您不想或无法指定先验类概率,则可以利用判别函数在许多情况下(大致是指数族类条件分布)可以直接由逻辑回归模型建模的事实。错误率计算然后是相关逻辑回归模型的计算。

对于方法的比较和错误率的讨论,Jordan 1995Jordan 2001和参考文献可能很有趣。

在这里,您可能会为您的问题找到一些线索,也许没有完整的答案,但肯定是其中非常有价值的部分。 http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2766788/

在具有平衡类的分类中,贝叶斯错误率 (BER) 正好等于,其中是特征的 +ve 和 -ve 条件分布之间的总变化距离。参见本文的定理 1(1TV)/2TV

为了完成,不难找到在多元高斯分布之间计算 TV 的良好参考。