人工智能贝叶斯学习

1,贝叶斯定理。

贝叶斯定理如下:

 P ( B|A )=P ( A | B ) P ( B )/P(A)
式中, P ( BA )是后验概率,是在条件 A 发生的情况下 B 发生的概率; P ( H )是先验概率,或称为 H 的先验概率,即不考虑其他的情况下 H 发生概率; P ( AIB )和 P ( BIA )一样,也
是后验概率。

2,普速贝叶斯的基本模型。

从统计学知识回到我们的数据分析。假如我们的分类模型样本是:

(x(1)1,x(1)2,...x(1)n,y1),(x(2)1,x(2)2,...x(2)n,y2),...(x(m)1,x(m)2,...x(m)n,ym)(x1(1),x2(1),...xn(1),y1),(x1(2),x2(2),...xn(2),y2),...(x1(m),x2(m),...xn(m),ym)

    即我们有m个样本,每个样本有n个特征,特征输出有K个类别,定义为C1,C2,...,CKC1,C2,...,CK。

    从样本我们可以学习得到朴素贝叶斯的先验分布P(Y=Ck)(k=1,2,...K)P(Y=Ck)(k=1,2,...K),接着学习到条件概率分布P(X=x|Y=Ck)=P(X1=x1,X2=x2,...Xn=xn|Y=Ck)P(X=x|Y=Ck)=P(X1=x1,X2=x2,...Xn=xn|Y=Ck),然后我们就可以用贝叶斯公式得到X和Y的联合分布P(X,Y)了。联合分布P(X,Y)定义为:

P(X,Y=Ck)=P(Y=Ck)P(X=x|Y=Ck)=P(Y=Ck)P(X1=x1,X2=x2,...Xn=xn|Y=Ck)(1)(2)(1)P(X,Y=Ck)=P(Y=Ck)P(X=x|Y=Ck)(2)=P(Y=Ck)P(X1=x1,X2=x2,...Xn=xn|Y=Ck)

    从上面的式子可以看出P(Y=Ck)P(Y=Ck)比较容易通过最大似然法求出,得到的P(Y=Ck)P(Y=Ck)就是类别CkCk在训练集里面出现的频数。但是P(X1=x1,X2=x2,...Xn=xn|Y=Ck)P(X1=x1,X2=x2,...Xn=xn|Y=Ck)很难求出,这是一个超级复杂的有n个维度的条件分布。朴素贝叶斯模型在这里做了一个大胆的假设,即X的n个维度之间相互独立,这样就可以得出:

P(X1=x1,X2=x2,...Xn=xn|Y=Ck)=P(X1=x1|Y=Ck)P(X2=x2|Y=Ck)...P(Xn=xn|Y=Ck)P(X1=x1,X2=x2,...Xn=xn|Y=Ck)=P(X1=x1|Y=Ck)P(X2=x2|Y=Ck)...P(Xn=xn|Y=Ck)

    从上式可以看出,这个很难的条件分布大大的简化了,但是这也可能带来预测的不准确性。你会说如果我的特征之间非常不独立怎么办?如果真是非常不独立的话,那就尽量不要使用朴素贝叶斯模型了,考虑使用其他的分类方法比较好。但是一般情况下,样本的特征之间独立这个条件的确是弱成立的,尤其是数据量非常大的时候。虽然我们牺牲了准确性,但是得到的好处是模型的条件分布的计算大大简化了,这就是贝叶斯模型的选择。

    最后回到我们要解决的问题,我们的问题是给定测试集的一个新样本特征(x(test)1,x(test)2,...x(test)n(x1(test),x2(test),...xn(test),我们如何判断它属于哪个类型?

    既然是贝叶斯模型,当然是后验概率最大化来判断分类了。我们只要计算出所有的K个条件概率P(Y=Ck|X=X(test))P(Y=Ck|X=X(test)),然后找出最大的条件概率对应的类别,这就是朴素贝叶斯的预测了。

3,朴素贝叶斯的推断过程。

上节我们已经对朴素贝叶斯的模型也预测方法做了一个大概的解释,这里我们对朴素贝叶斯的推断过程做一个完整的诠释过程。

    我们预测的类别CresultCresult是使P(Y=Ck|X=X(test))P(Y=Ck|X=X(test))最大化的类别,数学表达式为:

Cresult=argmaxCkP(Y=Ck|X=X(test))=argmaxCkP(X=X(test)|Y=Ck)P(Y=Ck)/P(X=X(test))(3)(4)(3)Cresult=argmax⏟CkP(Y=Ck|X=X(test))(4)=argmax⏟CkP(X=X(test)|Y=Ck)P(Y=Ck)/P(X=X(test))

    由于对于所有的类别计算P(Y=Ck|X=X(test))P(Y=Ck|X=X(test))时,上式的分母是一样的,都是P(X=X(test)P(X=X(test),因此,我们的预测公式可以简化为:

Cresult=argmaxCkP(X=X(test)|Y=Ck)P(Y=Ck)Cresult=argmax⏟CkP(X=X(test)|Y=Ck)P(Y=Ck)

   

    接着我们利用朴素贝叶斯的独立性假设,就可以得到通常意义上的朴素贝叶斯推断公式:

Cresult=argmaxCkP(Y=Ck)∏j=1nP(Xj=X(test)j|Y=Ck)

你可能感兴趣的:(人工智能,学习,概率论)