统计模式识别学习笔记(十三)

朴素贝叶斯及贝叶斯网络

今天还是来讲一讲分类器的事情,最近一段时间一直在进行自主导航的研发工作,差不多有一周多的时间没继续这个系列了。重复性的工作也让我有些疲倦了,换一点新鲜的题目。

1. 朴素贝叶斯法

设 输 入 空 间 X ⊆ R n 为 n 维 向 量 的 集 合 , 输 出 空 间 为 类 标 记 集 合 Y = { c 1 , c 2 , . . . , c K } 输 入 为 特 征 x ∈ X , 输 出 为 标 记 y ∈ Y 。 X 是 定 义 在 输 入 空 间 X 上 的 随 机 向 量 , Y 是 定 义 在 输 出 空 间 Y 上 的 随 机 变 量 。 P ( X , Y ) 是 X 和 Y 的 联 合 概 率 分 布 。 设输入空间\mathcal{X}\subseteq R^n 为 n 维向量的集合,输出空间为类标记集合\mathcal{Y}=\lbrace c_1,c_2,...,c_K \rbrace输入为特征x\in\mathcal{X},输出为标记y\in\mathcal{Y}。X是定义在输入空间\mathcal{X}上的随机向量,Y是定义在输出空间\mathcal{Y}上的随机变量。P(X,Y)是X和Y的联合概率分布。 XRnnY={ c1,c2,...,cK}xXyYXXYYPX,YXY

训练数据集

T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) } T=\lbrace (x_1,y_1),(x_2,y_2),...,(x_N,y_N) \rbrace T={ (x1,y1),(x2,y2),...,(xN,yN)}

P ( X , Y ) P(X,Y) P(X,Y) 独立同分布产生。

朴素贝叶斯法通过训练数据集学习先验概率分布及条件概率分布,以达到学习联合概率分布的目的。不知道还有多少朋友记得最前面讲过的最小风险贝叶斯决策和最小错误贝叶斯决策。对于给定的输入向量 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 ) P(Y=c_k|X=x)=\frac{P(X=x|Y=c_k)P(Y=c_k)}{\sum_kP(X=x|Y=c_k)P(Y=c_k)} P(Y=ckX=x)=kP(X=xY=ck)P(Y=ck)P(X=xY=ck)P(Y=ck)

因其独立同分布,所以,朴素贝叶斯分类器可表示为:
y = f ( x ) = a r g m a x c k P ( Y = c k ) ∏ 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)=arg \mathop{max}\limits_{c_k}\frac{P(Y=c_k)\prod P(X^{(j)}=x^{(j)}|Y=c_k)}{\sum_kP(Y=c_k)\prod_jP(X^{(j)}=x^{(j)}|Y=c_k)} y=f(x)=argckmaxkP(Y=ck)jP(X(j)=x(j)Y=ck)P(Y=ck)P(X(j)=x(j)Y=ck)

和之前一样,由于分母相同,可以忽略分母。

而在朴素贝叶斯法中,我们涉及到两个估计 P ( Y = c k ) 和 P ( X ( j ) = x ( j ) ∣ Y = c k ) P(Y=c_k) 和 P(X^{(j)}=x^{(j)}|Y=c_k) P(Y=ck)P(X(j)=x(j)Y=ck)。接下来介绍一种非常直观而且简单的方法——直方图法。

2. 直方图法

我们很早就接触过直方图了,假设我们已知样本标签,并且我们可以很自然的得到先验概率的极大似然估计,大数定理不再解释。其数学形式为:
P ( Y = c k ) = ∑ i = 1 N I ( y i = c k ) N , k = 1 , 2 , . . . , K P(Y=c_k)=\frac{\sum_{i=1}^NI(y_i=c_k)}{N},k=1,2,...,K P(Y=ck)=Ni=1NI(yi=ck),k=1,2,...,K

P ( X ( j ) = a j l ∣ Y = c k ) = ∑ i = 1 N ( x i ( j ) = a j l , y i = c k ) ∑ i = 1 N I ( y i = c k ) j = 1 , 2 , . . . , n ; l = 1 , 2 , . . . , S j ; k = 1 , 2 , . . . , K P(X^{(j)}=a_{jl}|Y=c_k)=\frac{\sum_{i=1}^N(x_i^{(j)}=a_{jl},y_i=c_k)}{\sum_{i=1}^NI(y_i=c_k)}\\j=1,2,...,n;l=1,2,...,S_j;k=1,2,...,K P(X(j)=ajlY=ck)=i=1NI(yi=ck)i=1N(xi(j)=ajl,yi=ck)j=1,2,...,n;l=1,2,...,Sj;k=1,2,...,K

y = a r g m a x c k P ( Y = c k ) ∏ j = 1 n P ( X ( j ) = x ( j ) ∣ Y = c k ) y=arg \mathop{max}\limits_{c_k}P(Y=c_k)\prod_{j=1}^nP(X^{(j)}=x^{(j)}|Y=c_k) y=argckmaxP(Y=ck)j=1nP(X(j)=x(j)Y=ck)

有时,为减少分类产生偏差,常采用拉普拉斯平滑的方法。

PS:贝叶斯网络留在下次介绍。

猜你喜欢

转载自blog.csdn.net/qq_44868018/article/details/108694358