您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 其它文档 > 第7章-贝叶斯分类算法
第7章贝叶斯分类算法贝叶斯分类概述朴素贝叶斯分类SQLServer朴素贝叶斯分类电子商务数据的贝叶斯分类7.1贝叶斯分类概述7.1.1贝叶斯定理若已知P(C)是关于C的先验概率,P(A)是关于A的先验概率,P(A|C)表示在已知C发生后A的条件概率,如图7.1所示,求P(C|A)即A发生后C的后验概率。后验概率的贝叶斯定理如下:7.1.2贝叶斯信念网络定义7.1贝叶斯信念网络(BayesianBeliefNetwork,BBN)简称贝叶斯网,它是一个概率网络,是一种基于概率推理的数学模型,解决复杂系统的不确定性和不完整性问题。用图形表示一组随机变量之间的概率关系。贝叶斯网有两个主要成分:一个有向无环图(DAG):图中每个节点代表一个随机变量,每条有向边表示变量之间的依赖关系。若有一条有向边从节点X到节点Y,那么X就是Y的父节点,Y就是X的子节点。一个条件概率表(CPT):把各节点和父节点关联起来。在CPT中,如果节点X没有父节点,则表中只包含先验概率P(X);如果节点X只有一个父节点Y,则表中包含条件概率P(X|Y);如果节点X有多个父节点Y1、Y2、…、Yk,则表中包含条件概率P(X|Y1、Y2、…、Yk)。例如,假设节点X直接影响到节点Y,即X→Y,则用从X指向Y的箭头建立节点X到节点Y的箭头(X,Y),权值(即连接强度)用条件概率P(Y|X)来表示,如图7.2所示。其中箭头表示条件依赖关系。定义7.2对于随机变量(A1、A2、…、An),任何数据对象(a1、a2、…、an)的联合概率可以通过以下公式计算获得:niiinAparentaPaaaP121))(|(),...,,(其中,parent(Ai)表示Ai的父结点,P(ai|parent(Ai))对应条件概率表中关于Ai结点的一个入口。若Ai没有父结点,则P(ai|parent(Ai))等于P(ai)。【例7.2】有X、Y和Z三个二元随机变量(取值只有0、1两种情况),假设X、Y之间是独立的,它们对应的条件概率表如表7.1所示。若已知条件概率P(X=1)=0.3,P(Y=1)=0.6,P(Z=1)=0.7,求P(X=0,Y=0|Z=0)的后验概率。X=1,Y=1X=1,Y=0X=0,Y=1X=0,Y=0Z=10.80.50.70.1Z=00.20.50.30.9表中的数值表示的是后验概率P(Z|X,Y),如有:P(Z=1|X=1,Y=1)=0.8,P(Z=0|X=1,Y=1)=0.2。画出相应的贝叶斯网如图7.15所示。一般地,在画贝叶斯网时,若已知P(X|Y)条件概率,则画一条从Y到X的有向边;若已知P(X|Y1、Y2、…、Yk)条件概率,则从Y1、Y2、…、Yk各画一条从Yi(1≤i≤k)到X的有向边。XYZP(X=0)=1-P(X=1)=0.7,P(Y=0)=1-P(Y=1)=0.4,P(Z=0)=1-P(Z=1)=0.3由于X、Y均没有父结点,所以联合概率:P(X=0,Y=0)=P(X=0)×P(Y=0)=0.7×0.4=0.28依条件概率表有P(Z=0|X=0,Y=0)=0.9。根据贝叶斯定理,有:P(X=0,Y=0|Z=0)=P(Z=0|X=0,Y=0)×P(X=0,Y=0)/P(Z=0)=0.9×0.28/0.3=0.84。7.2朴素贝叶斯分类7.2.1朴素贝叶斯分类原理1.朴素贝叶斯分类过程朴素贝叶斯分类基于一个简单的假定:在给定分类特征条件下,描述属性值之间是相互条件独立的。朴素贝叶斯分类思想是:假设每个样本用一个n维特征向量X={x1,x2,…,xn}来表示,描述属性为A1、A2、…、An(Ai之间相互独立)。类别属性为C,假设样本中共有m个类即C1、C2、…、Cm,对应的贝叶斯网如图7.5所示,其中P(Ai|C)是后验概率,可以通过训练样本集求出。给定一个未知类别的样本X,朴素贝叶斯分类将X划分到属于具有最高后验概率P(Ci|X)的类中,也就是说,将X分配给类Ci,当且仅当:P(Ci|X)P(Cj|X),1≤j≤m,i≠j描述属性集A1CA2类别属性An……根据贝叶斯定理有:由于P(X)对于所有类为常数,只需要最大化P(X|Ci)P(Ci)即可。而P(X|Ci)是一个联合后验概率,即:P(X|Ci)=P(A1,A2,…,An|Ci)=所以对于某个新样本(a1,a2,…,an),它所在类别为:)()()|()|(XPCPCXPXCPiiinkikCAP1)|(nkikiCCaPCPci1')}|()(max{arg2.后验概率P(Ak|Ci)的计算计算对于后验概率P(ak|Ci)(也称为类条件概率)的方法如下:(1)如果对应的描述属性Ak是离散属性,可以通过训练样本集得到,P(ak|Ci)=sik/si,其中sik是在属性Ak上具有值ak的类Ci的训练样本数,而si是Ci中的训练样本数。(2)如果对应的描述Ak是连续属性,则通常假定该属性服从高斯分布。因而:22)(21),,()|(iCiCkiiiaCCCkikeagCaP【例7.3】对于第6章表6.1的训练样本集S,所有属性为离散属性。n=2(描述属性个数),特征向量为A={a1,a2},描述属性为A1和A2(假设A1和A2之间相互独立)。类别属性为C,m=2(类别个数),C1=False,C2=True。对应的贝叶斯网如图7.7所示。求P(A1|C)和P(A2|C)。(1)求条件概率P(Ci)训练样本集S中有10个样本,即s=10,其中有6个属于C1的样本,4个属于C2的样本,所以有:s1=6,s2=4P(C1)=s1/s=6/10=0.6P(C2)=s2/s=4/10=0.4ID属性A1类别C统计结果1YesFalses11=2s1=64YesFalse2NoFalses12=43NoFalse6NoFalse9NoFalse7YesTrues21=1s2=45NoTrues22=38NoTrue10NoTrue(2)求后验概率P(Ai|C)考虑属性A1,按属性C和A1排序后的统计结果如表7.2所示。则:P(A1=Yes|C=False)=s11/s1=2/6=1/3P(A1=No|C=False)=s12/s1=4/6=2/3P(A1=Yes|C=True)=s21/s2=1/4P(A1=No|C=True)=s22/s2=3/4考虑属性A2,按属性C和A2排序后的统计结果如表7.3所示。则:P(A2=大|C=False)=s11/s1=1/6P(A2=中|C=False)=s12/s1=4/6=2/3P(A2=小|C=False)=s13/s1=1/6P(A2=大|C=True)=s21/s2=2/4=1/2P(A2=小|C=True)=s22/s2=2/4=1/2ID属性A2类别C统计结果1大Falses11=1s1=62中Falses12=44中False6中False9中False3小Falses13=15大Trues21=2s2=47大True8小Trues22=210小True7.2.2朴素贝叶斯分类算法对于一个样本(a1,a2,…,an),求其类别的朴素贝叶斯分类算法如下:【例7.4】对于第6章表6.4所示的训练数据集S,有以下新样本X:年龄='≤30',收入='中',学生='是',信誉='中'采用朴素贝叶斯分类算法求X所属类别的过程如下:编号描述属性类别属性年龄收入学生信誉购买计算机1≤30高否中否2≤30高否优否331~40高否中是440中否中是540低是中是640低是优否731~40低是优是8≤30中否中否9≤30低是中是1040中是中是11≤30中是优是1231~40中否优是1331~40高是中是1440中否优否(1)由训练样本集S建立贝叶斯网如图7.8所示。(2)根据类别“购买计算机”属性的取值,分为两个类,C1表示购买计算机为是的类,C2表示购买计算机为否的类,它们的先验概率P(Ci)根据训练样本集计算如下:P(C1)=P(购买计算机='是')=9/14=0.64P(C2)=P(购买计算机='否')=5/14=0.36(3)计算后验概率P(ai|Ci),先计算P(年龄='≤30'|购买计算机='是')和P(年龄='≤30'|购买计算机='否')。将训练数据集S按“购买计算机”和“年龄”属性排序后的统计结果如表7.4所示。则:P(年龄='≤30'|购买计算机='是')=s11/s1=2/9=0.22P(年龄='≤30'|购买计算机='否')=s21/s2=3/5=0.6类似地求出下面的后验概率:P(收入='中'|购买计算机='是')=4/9=0.44P(收入='中'|购买计算机='否')=2/5=0.4P(学生='是'|购买计算机='是')=6/9=0.67P(学生='是'|购买计算机='否')=1/5=0.2P(信誉='中'|购买计算机='是')=6/9=0.67P(信誉='中'|购买计算机='否')=2/5=0.4(4)假设条件独立性,X=(年龄='≤30',收入='中',学生='是',信誉='中'),使用以上概率得到:P(X|购买计算机='是')=P(年龄='≤30'|购买计算机='是')×P(收入='中'|购买计算机='是')×P(学生='是'|购买计算机='是')×P(信誉='中'|购买计算机='是')=0.22×0.44×0.67×0.67=0.04P(X|购买计算机='否')=P(年龄='≤30'|购买计算机='否')×P(收入='中'|购买计算机='否')×P(学生='是'|购买计算机='否')×P(信誉='中'|购买计算机='否')=0.6×0.4×0.2×0.4=0.02(5)分类考虑“购买计算机='是'”的类,有:P(X|购买计算机='是')×P(购买计算机='是')=0.04×0.64=0.03考虑“购买计算机='否'”的类,有:P(X|购买计算机='否')×P(购买计算机='否')=0.02×0.36=0.01。因此,对于样本X,采用朴素贝叶斯分类预测为“购买计算机='是'”。这与第6章采用决策树所得到的分类结果是一致的。练一练用朴素贝叶斯网络对以下保险销售客户数据进行分析:(1)求条件概率P(性别/是),P(婚姻状态/是),P(是否有房/是),P(性别/否),P(婚姻状态/否),P(是否有房/否)。(2)根据(1)中的条件概率,使用朴素贝叶斯方法预测一客户(性别=女,婚姻状态=已婚,是否有房=无房)是否会购买此保险。•(1)求条件概率P(性别/是),P(婚姻状态/是),P(是否有房/是),P(性别/否),P(婚姻状态/否),P(是否有房/否):•P(性别=女/是)=1/4,P(性别=男/是)=3/4,•P(婚姻状态=未婚/是)=1,P(婚姻状态=已婚/是)=0,•P(是否有房=有/是)=1,P(是否有房=无/是)=0,•P(性别=女/否)=2/3,P(性别=男/否)=1/3,•P(婚姻状态=未婚/否)=1/2,P(婚姻状态=已婚/否)=1/2,•P(是否有房=有/否)=5/6,P(是否有房=无/否)=1/6•(以上6分)•(2)根据(1)中的条件概率,使用朴素贝叶斯方法预测一客户(性别=女,婚姻状态=已婚,是否有房=无房)是否会购买此保险:•P(购买保险=是)=2/5,P(购买保险=否)=3/5,(2分)•因为:P(性别=女/是)=1/4,P(性别=女/否)=2/3•P(婚姻状态=已婚/是)=0,P(婚姻状态=已婚/否)=1/2,•P(是否有房=无/是)=0,P(是否有房=无/否)=1/6•朴素贝叶斯假定输入变量相互独立•则P(性别=女,婚姻状态=已婚,是否有房=无房/购买保险=是)=P(性别=女/是)×P(婚姻状态=已婚/是)×P(是否有房=无/是)=0•则P(性别=女,婚姻状态=已婚,是否有房=无房/购买保险=否)=P(性别=女/否)×P(婚姻状态=已婚/否)×P(是否有房=无/否)=1/18(4分)•考虑购买保险=“是”的类:•P(性别=女,婚姻状态=已婚,是否有房=
本文标题:第7章-贝叶斯分类算法
链接地址:https://www.777doc.com/doc-4731348 .html