公式:
P ( A ∣ B ) = P ( A B ) P ( B ) P(A|B)=\frac{P(AB)}{P(B)} P(A∣B)=P(B)P(AB)
指的是在事件B发生的条件下事件A发生的概率
目标是求“最后结果”的概率,由条件概率可得 P ( A B ) = P ( A ∣ B ) P ( B ) P(AB)=P(A|B)P(B) P(AB)=P(A∣B)P(B)
公式:
P ( A ) = ∑ i = 1 n P ( A ∣ B i ) P ( B i ) P(A)=\sum_{i=1}^n{P(A|B_i)P(B_i)} P(A)=i=1∑nP(A∣Bi)P(Bi)
其中 B 1 , B 2 , . . . , B n 是 样 本 空 间 的 划 分 , A 为 E 的 一 个 事 件 B_1,B_2,...,B_n是样本空间的划分,A为E的一个事件 B1,B2,...,Bn是样本空间的划分,A为E的一个事件
已 知 “ 最 后 结 果 ” , 求 “ 某 个 事 件 ” 的 概 率 , 设 样 本 空 间 为 S 。 A 为 E 的 一 个 事 件 , B 1 , B 2 , . . . , B n 已知“最后结果”,求“某个事件”的概率, 设样本空间为S。A为E的一个事件,B_1,B_2,...,B_n 已知“最后结果”,求“某个事件”的概率,设样本空间为S。A为E的一个事件,B1,B2,...,Bn是S的划分,则公式为:
P ( B i ∣ A ) = P ( A B i ) P ( A ) = P ( A ∣ B i ) P ( B i ) P ( A ) P(B_i|A)=\frac{P(AB_i)}{P(A)}=\frac{P(A|B_i)P(B_i)}{P(A)} P(Bi∣A)=P(A)P(ABi)=P(A)P(A∣Bi)P(Bi)
若B表示类别,A表示特征则公式为:
P ( 类 别 ∣ 特 征 ) = P ( 特 征 ∣ 类 别 ) P ( 类 别 ) P ( 特 征 ) P(类别|特征)=\frac{P(特征|类别)P(类别)}{P(特征)} P(类别∣特征)=P(特征)P(特征∣类别)P(类别)
可解释为在 当前特征下是该类别的概率= 该 类 别 中 存 在 这 一 特 征 的 概 率 × 该 类 别 的 概 率 该 特 征 的 概 率 \frac{该类别中存在这一特征的概率\times 该类别的概率}{该特征的概率} 该特征的概率该类别中存在这一特征的概率×该类别的概率
在朴素贝叶斯中假定了每一个 x i x_i xi都相互独立。具体地条件独立假设是
P ( Y = c k ∣ X = x ) = ∏ j P ( X ( j ) = x ( j ) ∣ Y = c k ) P(Y=c_k|X=x)=\prod_jP(X^{(j)}=x^{(j)}|Y=c_k) P(Y=ck∣X=x)=j∏P(X(j)=x(j)∣Y=ck)
将该公式带入贝叶斯公式中结果为:
P ( Y = c k ∣ X = x ) = P ( Y = c k ) P ( X = x ∣ Y = c k ) ∑ i = 1 k P ( X = x ∣ Y = 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 i ) P(Y=c_k|X=x)=\frac{P(Y=c_k)P(X=x|Y=c_k)}{\sum_{i=1}^kP(X=x|Y=c_k)}=\frac{P(Y=c_k)\prod_jP(X^{(j)}=x^{(j)}|Y=c_k)}{\sum_kP(Y=c_k)\prod_jP(X^{(j)}=x^{(j)}|Y=c_i)} P(Y=ck∣X=x)=∑i=1kP(X=x∣Y=ck)P(Y=ck)P(X=x∣Y=ck)=∑kP(Y=ck)∏jP(X(j)=x(j)∣Y=ci)P(Y=ck)∏jP(X(j)=x(j)∣Y=ck)
因为对于所有地 c k c_k ck分母都是相同的,所以
y = a r g m a x P ( Y = c k ) ∏ j P ( X ( j ) = x ( j ) ∣ Y = c k ) y=argmaxP(Y=c_k)\prod_jP(X^{(j)}=x^{(j)}|Y=c_k) y=argmaxP(Y=ck)j∏P(X(j)=x(j)∣Y=ck)
朴素贝叶斯法地学习与分类算法:
输入:训练集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) } T=\{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\} T={(x1,y1),(x2,y2),...,(xN,yN)}其中, x i = ( x i ( 1 ) , x i ( 2 ) , . . . , x i ( n ) ) T , x i ( j ) 是 第 i 个 样 本 的 第 j 个 特 征 , x i ( j ) ∈ { a j 1 , a j 2 , . . . , a j S j } , a j l x_i=(x_i^{(1)},x_i^{(2)},...,x_i^{(n)})^T,x_i^{(j)}是第i个样本的第j个特征,x_i^{(j)}\in\{a_{j1},a_{j2},...,a_{jS_j}\},a_{jl} xi=(xi(1),xi(2),...,xi(n))T,xi(j)是第i个样本的第j个特征,xi(j)∈{aj1,aj2,...,ajSj},ajl是第 j j j个特征值可能取的第 l l l个值,实例特征向量 x x x;
输出:实例 x x x所属的类 y y y.
(1)计算先验概率及条件概率
P ( Y = c k ) = ∑ i = 1 N I ( y i = c i ) N P(Y=c_k)=\frac{\sum_{i=1}^NI(y_i=c_i)}{N} P(Y=ck)=N∑i=1NI(yi=ci)
P ( X j = a j l ∣ Y = c k ) = ∑ i = 1 N I ( x i ( j ) = a i j , y i = c k ) ∑ i = 1 N I ( y i = c k ) P(X^{j}=a_{jl}|Y=c_k)=\frac{\sum_{i=1}^NI(x_i^{(j)}=a_{ij},y_i=c_k)}{\sum_{i=1}^NI(y_i=c_k)} P(Xj=ajl∣Y=ck)=∑i=1NI(yi=ck)∑i=1NI(xi(j)=aij,yi=ck)
j = 1 , 2 , . . . , n ; l = 1 , 2 , . . . , S ; k = 1 , 2 , . . . , K j=1,2,...,n;l=1,2,...,S;k=1,2,...,K j=1,2,...,n;l=1,2,...,S;k=1,2,...,K
(2)对于给定的实例 x = ( x 1 , x 2 , . . . , x n ) T x=(x^{1},x^{2},...,x^{n})^T x=(x1,x2,...,xn)T,计算
P ( Y = c k ) ∏ j P ( X ( j ) = x ( j ) ∣ Y = c k ) , k = 1 , 2 , . . . K P(Y=c_k)\prod_jP(X^{(j)}=x^{(j)}|Y=c_k),k=1,2,...K P(Y=ck)j∏P(X(j)=x(j)∣Y=ck),k=1,2,...K
(3)确定x的类:
y = a r g m a x P ( Y = c k ) ∏ j P ( X ( j ) = x ( j ) ∣ Y = c k ) y=argmaxP(Y=c_k)\prod_jP(X^{(j)}=x^{(j)}|Y=c_k) y=argmaxP(Y=ck)j∏P(X(j)=x(j)∣Y=ck)
由于使用最大似然估计时可能会出现估计概率为0的情况。这样会影响到后验概率的计算结果,为解决这一问题的方法是采用贝叶斯估计。具体的,条件概率的贝叶斯估计是:
P λ ( X j = a j l ∣ Y = c k ) = ∑ i = 1 N I ( x i ( j ) = a i j , y i = c k ) + λ ∑ i = 1 N I ( y i = c k ) + S j λ P_{\lambda}(X^{j}=a_jl|Y=c_k)=\frac{\sum_{i=1}^NI(x_i^{(j)}=a_{ij},y_i=c_k)+\lambda}{\sum_{i=1}^NI(y_i=c_k)+S_j\lambda} Pλ(Xj=ajl∣Y=ck)=∑i=1NI(yi=ck)+Sjλ∑i=1NI(xi(j)=aij,yi=ck)+λ
其中 λ ≥ 0. \lambda\geq0. λ≥0.等价于在随机变量各个取值的频数上赋予一个正数 λ > 0. 当 λ = 0 时 就 是 极 大 似 然 估 计 。 常 取 λ = 1 , \lambda>0.当\lambda=0时就是极大似然估计。常取\lambda=1, λ>0.当λ=0时就是极大似然估计。常取λ=1,这是称为拉普拉斯平滑。显然对任何 l = 1 , 2 , . . . , S j , k = 1 , 2 , . . . , K , 有 l=1,2,...,S_j,k=1,2,...,K,有 l=1,2,...,Sj,k=1,2,...,K,有
P λ ( X j = a j l ∣ Y = c k ) > 0 P_{\lambda}(X^{j}=a_jl|Y=c_k)>0 Pλ(Xj=ajl∣Y=ck)>0
∑ l = 1 S j P ( X ( j ) = a j l ∣ Y = c k ) = 1 \sum_{l=1}^{S_j}P(X^{(j)}=a_{jl}|Y=c_k)=1 l=1∑SjP(X(j)=ajl∣Y=ck)=1
同样的,先验概率的贝叶斯公式为:
P ( Y = c k ) = ∑ i = 1 N I ( y i = c i ) + λ N + K λ P(Y=c_k)=\frac{\sum_{i=1}^NI(y_i=c_i)+\lambda}{N+K\lambda} P(Y=ck)=N+Kλ∑i=1NI(yi=ci)+λ