机器学习系列文章|【晨读算法】为什么经常看到使用朴素贝叶斯公式的时候把分母忽略了()

我们以李航老师《统计学习方法》上面的定义为例:
【机器学习系列文章|【晨读算法】为什么经常看到使用朴素贝叶斯公式的时候把分母忽略了()】朴素贝叶斯法对条件概率分布做了条件独立性的假设。由于这是一个较强的假设,朴素贝叶斯也由此得名。具体地,条件独立性假设是:
P ( X = x ∣ Y = c k ) = P ( X ( 1 ) = x ( 1 ) , ? ? , X ( n ) = x ( n ) ∣ Y = c k ) = ∏ j = 1 n P ( X ( j ) = x ( j ) ∣ Y = c k ) (1) P(X=x|Y=c_k)=P(X^{(1)}=x^{(1)},\cdots,X^{(n)}=x^{(n)}|Y=c_k)\\ =\prod_{j=1}^nP(X^{(j)}=x^{(j)}|Y=c_k) \tag{1} P(X=x∣Y=ck?)=P(X(1)=x(1),?,X(n)=x(n)∣Y=ck?)=j=1∏n?P(X(j)=x(j)∣Y=ck?)(1)
朴素贝叶斯法分类时,对给定的输入 x x x,通过学习到的模型计算后验概率分布:
P ( Y = c k ∣ X = x ) P(Y=c_k|X=x) P(Y=ck?∣X=x)
将后验概率最大的类作为 x x x的类输出。
后验概率计算根据贝叶斯定理进行:
P ( Y = c k ∣ X = x ) = P ( X = x ∣ Y = c k ) P ( Y = c k ) ∑ k P ( X = x ∣ Y = c k ) P ( Y = c k ) (2) P(Y=c_k|X=x)=\frac{P(X=x|Y=c_k)P(Y=c_k)}{\sum \limits_{k}P(X=x|Y=c_k)P(Y=c_k)}\tag{2} P(Y=ck?∣X=x)=k∑?P(X=x∣Y=ck?)P(Y=ck?)P(X=x∣Y=ck?)P(Y=ck?)?(2)
将(1)式代入(2)式,有:
P ( Y = c k ∣ X = x ) = P ( Y = c k ) ∏ j P ( X ( j ) = x ( j ) ∣ Y = c k ) ∑ k P ( Y = c k ) ∏ j P ( X ( j ) = x ( j ) ∣ Y = c k ) ?? , ?? k = 1 , 2 , ? ? , K P(Y=c_k|X=x)=\frac{P(Y=c_k)\prod \limits_{j}P(X^{(j)}=x^{(j)}|Y=c_k)}{\sum \limits_{k}P(Y=c_k)\prod \limits_{j}P(X^{(j)}=x^{(j)}|Y=c_k)}\; ,\; k=1,2,\cdots,K P(Y=ck?∣X=x)=k∑?P(Y=ck?)j∏?P(X(j)=x(j)∣Y=ck?)P(Y=ck?)j∏?P(X(j)=x(j)∣Y=ck?)?,k=1,2,?,K
这是朴素贝叶斯法分类的基本公式。于是,朴素贝叶斯分类器可以表示为:
y = f ( x ) = arg?max ? c k P ( Y = c k ) ∏ j P ( X ( j ) = x ( j ) ∣ Y = c k ) ∑ k P ( Y = c k ) ∏ j P ( X ( j ) = x ( j ) ∣ Y = c k ) y=f(x)=\argmax_{c_k}\frac{P(Y=c_k)\prod \limits_{j}P(X^{(j)}=x^{(j)}|Y=c_k)}{\sum \limits_{k}P(Y=c_k)\prod \limits_{j}P(X^{(j)}=x^{(j)}|Y=c_k)} y=f(x)=ck?argmax?k∑?P(Y=ck?)j∏?P(X(j)=x(j)∣Y=ck?)P(Y=ck?)j∏?P(X(j)=x(j)∣Y=ck?)?
注意到,在上式中,分母对所有的 c k c_k ck?都是相同的,所以:
y = arg?max ? c k P ( Y = c k ) ∏ j P ( X ( j ) = x ( j ) ∣ Y = c k ) y=\argmax_{c_k}P(Y=c_k)\prod \limits_{j}P(X^{(j)}=x^{(j)}|Y=c_k) y=ck?argmax?P(Y=ck?)j∏?P(X(j)=x(j)∣Y=ck?)
到这里,我遇到了一个问题,为什么说分母对所有的 c k c_k ck?都是相同的?
我们以最简单的二分类问题来解读,那么我们知道 c = 0 c=0 c=0或者 c = 1 c=1 c=1,则:
y 1 = P ( Y = 0 ) ∏ P ( X = x i ∣ Y = 0 ) P ( Y = 0 ) ∏ P ( X = x i ∣ Y = 0 ) + P ( Y = 1 ) ∏ P ( X = x i ∣ Y = 1 ) y_1=\frac{P(Y=0)\prod P(X=x_i|Y=0)}{P(Y=0)\prod P(X=x_i|Y=0)+P(Y=1)\prod P(X=x_i|Y=1)} y1?=P(Y=0)∏P(X=xi?∣Y=0)+P(Y=1)∏P(X=xi?∣Y=1)P(Y=0)∏P(X=xi?∣Y=0)?
y 2 = P ( Y = 1 ) ∏ P ( X = x i ∣ Y = 1 ) P ( Y = 1 ) ∏ P ( X = x i ∣ Y = 1 ) + P ( Y = 0 ) ∏ P ( X = x i ∣ Y = 0 ) y_2=\frac{P(Y=1)\prod P(X=x_i|Y=1)}{P(Y=1)\prod P(X=x_i|Y=1)+P(Y=0)\prod P(X=x_i|Y=0)} y2?=P(Y=1)∏P(X=xi?∣Y=1)+P(Y=0)∏P(X=xi?∣Y=0)P(Y=1)∏P(X=xi?∣Y=1)?
可以看到,分母部分二者是完全一样的式子,所以实际上分母的取值对于所有 c c c来说,始终是一样的,因此我们常常将分母省略。

    推荐阅读