【晨读算法】为什么经常看到使用朴素贝叶斯公式的时候把分母忽略了?

我们以李航老师《统计学习方法》上面的定义为例:

朴素贝叶斯法对条件概率分布做了条件独立性的假设。由于这是一个较强的假设,朴素贝叶斯也由此得名。具体地,条件独立性假设是:
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=xY=ck)=P(X(1)=x(1),,X(n)=x(n)Y=ck)=j=1nP(X(j)=x(j)Y=ck)(1)

朴素贝叶斯法分类时,对给定的输入 x x x,通过学习到的模型计算后验概率分布:
P ( Y = c k ∣ X = x ) P(Y=c_k|X=x) P(Y=ckX=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=ckX=x)=kP(X=xY=ck)P(Y=ck)P(X=xY=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 PY=ckX=x)=kP(Y=ck)jP(X(j)=x(j)Y=ck)P(Y=ck)jP(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)=ckargmaxkP(Y=ck)jP(X(j)=x(j)Y=ck)P(Y=ck)jP(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=ckargmaxP(Y=ck)jP(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=xiY=0)+P(Y=1)P(X=xiY=1)P(Y=0)P(X=xiY=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=xiY=1)+P(Y=0)P(X=xiY=0)P(Y=1)P(X=xiY=1)
可以看到,分母部分二者是完全一样的式子,所以实际上分母的取值对于所有 c c c来说,始终是一样的,因此我们常常将分母省略。

你可能感兴趣的:(机器学习系列文章,算法,概率论,机器学习,朴素贝叶斯)