我正在使用PRTools MATLAB 库来训练一些分类器,生成测试数据并测试分类器。
我有以下详细信息:
- N:测试示例的总数
- k:每个分类器和类的错误分类数
我想要做:
计算并绘制未知错误分类概率的贝叶斯后验分布(表示为 q),即作为 q 本身的概率密度函数(因此,P(q) 将绘制在 q 上,从 0 到 1)。
我有那个(数学公式,不是matlab代码!):
Posterior = Likelihood * Prior / Normalization constant =
P(q|k,N) = P(k|q,N) * P(q|N) / P(k|N)
先验设置为1,所以我只需要计算似然和归一化常数。
我知道可能性可以表示为(其中 B(N,k) 是二项式系数):
P(k|q,N) = B(N,k) * q^k * (1-q)^(N-k)
...所以归一化常数只是上面后验的积分,从 0 到 1:
P(k|N) = B(N,k) * integralFromZeroToOne( q^k * (1-q)^(N-k) )
(二项式系数( B(N,k) )可以省略,因为它出现在似然常数和归一化常数中)
现在,我听说归一化常数的积分应该能够计算为一个系列......就像:
k!(N-k)! / (N+1)!
那是对的吗?(我有这个系列的一些讲义,但不知道是归一化常数积分,还是误分类的整体分布(q))
此外,欢迎提示如何实际计算?(阶乘很容易产生截断误差,对吧?)...以及,如何实际计算最终图(q 上的后验分布,从 0 到 1)。