我有一个与实现朴素贝叶斯分类器相关的概率/统计问题,特别是关于实现拉普拉斯平滑以避免零计数问题和过度拟合。
从我读过的内容来看,使用MLE的基本NBC公式如下所示:
p(C│F_1 ...F_n )=(p(C)p(F_1 |C)...p(F_n |C))/(p(F_1)...p(F_n))
然而,如果p(F_i | C)中的一个为零,则整个概率变为0.一个解决方案是Lapace光滑
p(F_i│C)~(x_i+k)/(N+kd)
其中x_i是F_i出现在C类中的次数,N是C类出现的次数,d是已知F_i的不同值的数量。
我的问题是:
如果需要对分子中的p(C)和分母中的p(F_i)做任何事情,该怎么办?
答案 0 :(得分:0)
设f =(f_1 ... f_n)。拉普拉斯平滑影响类似然项p(f | C)。它不会影响先前的p(C)类。它确实对f的边际概率有影响:
p(f)= \ sum_c p(C)* p(f | C)
如果拉普拉斯平滑,那么术语p(f | C)就不同了。但由于所有C的分母都是不变的,所以无论如何你都不应该费心去评估它。
P.S。这不是一个编程问题!