朴素贝叶斯分类器 - 判别函数

数据挖掘 分类 朴素贝叶斯分类器 判别分析
2022-03-14 23:08:17

为了对样本进行分类,我决定使用朴素贝叶斯分类器,但我对其进行了编码,而不是使用内置库函数。

如果我使用这个等式,我会获得很好的分类精度:p1(x) > p2(x) => x belongs to C1

但是,我不明白为什么判别函数会产生负值。如果它们是概率函数,我认为它们必须生成一个介于 0 和 1 之间的值。

有没有人可以解释原因?

1个回答

在朴素贝叶斯中,对于两个类的情况,判别函数可以是可以在中的任何位置,如果则决定,或者它可以是该值的对数

D(x)=P(x,c=1)P(x,c=0)
[0,+)c=1D(x)>1c=0

d(x)=logP(x,c=1)P(x,c=0)=logP(x,c=1)logP(x,c=0)
可以是中的任何位置(将零概率处理为特殊情况),如果(,+)c=1d(x)>0c=0

作为旁注,计算为 或等价于对数概率为 P(x,c=k)

P(x,c=k)=P(c=k)i=1dP(xi|c=k)
logP(x,c=k)=logP(c=k)+i=1dlogP(xi|c=k)