贝叶斯分类器贝叶斯定理每个记录用一个d维特征向量X=(x1,x2,…,xd)表示假定有k个类y1,y2,…,yk.给定X,X属于yj类的后验概率P(yj|X)满足贝叶斯(Bayes)定理MAP(maximumposteriorihypothesis,最大后验假设)将X指派到具有最大后验概率P(yj|X)的类yj,即将X指派到P(X|yj)P(yj)最大的类yj)()()|()|(XPjyPjyXPXjyP2朴素贝叶斯分类3朴素贝叶斯分类(NaïveBayesClassifier)工作原理给定一个未知的数据样本X,分类法将预测X属于具有最高后验概率的类.即,未知的样本分配给类yj,当且仅当根据贝叶斯定理,我们有由于P(X)对于所有类为常数,只需要最大化P(X|yj)P(yj)即可.jikiyPyPij,1),|()|(XX)()()|()|(XXXPyPyPyPjjj朴素贝叶斯分类(续)4估计P(yj)类yj的先验概率可以用P(yj)=nj/n估计其中,nj是类yj中的训练样本数,而n是训练样本总数估计P(X|yj)为便于估计P(X|yj),假定类条件独立----给定样本的类标号,假定属性值条件地相互独立.于是,P(X|Y=yj)可以用下式估计其中,P(x|yj)可以由训练样本估值dijijyxPyP1)|()|(X朴素贝叶斯分类(续)5估计P(xi|yj)设第i个属性Ai是分类属性,则P(xi|yj)=nij/nj其中nij是在属性Ai上具有值xi的yj类的训练样本数,而nj是yj类的训练样本数设第i个属性Ai是连续值属性把Ai离散化假定Ai服从高斯分布其中,ij,ij分别为给定yj类的训练样本在属性Ai上的均值和标准差222)(21)|(ijijixijjieyxP朴素贝叶斯分类器所需要的信息•计算每个类的先验概率P(yj):P(yj)=nj/n其中,nj是yi类的训练样本数,而n是训练样本总数•对于离散属性Ai,设的不同值为ai1,ai2,…,ail,•对于每个类yj,计算后验概率P(aik|yj),1klP(aik|yj)=nikj/nj其中nikj是在属性Ai上具有值aik的yj类的训练样本数,而nj是yj类的训练样本数•对于连续属性Ai和每个类yj,计算yj类样本的均值ij,标准差ij朴素贝叶斯分类6贝叶斯分类器:例例:Tid有房婚姻状况年收入拖欠贷款12345678910是否否是否否是否否否单身已婚单身已婚离婚已婚离婚单身已婚单身125K100K70K120K95K60K220K85K75K90KNoNoNoNoYesNoNoYesNoYes7P(Yes)=3/10P(No)=7/10P(有房=是|No)=3/7P(有房=否|No)=4/7P(有房=是|Yes)=0P(有房=否|Yes)=1P(婚姻状况=单身|No)=2/7P(婚姻状况=离婚|No)=1/7P(婚姻状况=已婚|No)=4/7P(婚姻状况=单身|Yes)=2/3P(婚姻状况=离婚|Yes)=1/3P(婚姻状况=已婚|Yes)=0年收入:类=No:样本均值=110样本方差=2975类=Yes:样本均值=90样本方差=25HowtoEstimateProbabilitiesfromData?•Normaldistribution:•Oneforeach(Ai,ci)pair•For(年收入,Class=No):•IfClass=No•样本均值=110•样本方差=2975222)(221)|(ijijiAijjiecAP2(120110)2(2975)1(120|)0.00722(54.54)PNoe年收入Tid有房婚姻状况年收入拖欠贷款12345678910是否否是否否是否否否单身已婚单身已婚离婚已婚离婚单身已婚单身125K100K70K120K95K60K220K85K75K90KNoNoNoNoYesNoNoYesNoYesX=(有房=否,婚姻状况=已婚,年收入=$120K)•计算P(X|No)和P(X|Yes)P(X|No)=P(有房=否|No)P(婚姻状况=已婚|No)P(年收入=$120K|No)=4/74/70.0072=0.0024P(X|Yes)=P(有房=否|Yes)P(婚姻状况=已婚|Yes)P(年收入=$120K|Yes)=101.2109=0•计算P(X|No)P(No)和P(X|Yes)P(Yes)P(X|No)P(No)=0.00240.7=0.00168P(X|Yes)P(Yes)=00.3=0•因为P(X|No)P(No)>P(X|Yes)P(Yes),所以X分类为No贝叶斯分类器:例(续)9贝叶斯分类器10问题•如果诸条件概率P(Xi=xi|Y=yj)中的一个为0,则它们的乘积(计算P(X|Y=yj)的表达式)为0•很可能每个P(X|Y=yj)都为0解决方法•使用m估计、Laplace估计:原估计:P(Xi=xi|Y=yj)=nij/njknnyYxXPjijiii1)|(:Laplacem-estimate:(|)cijnmpPxynmExampleofNaïveBayesClassifierNameGiveBirthCanFlyLiveinWaterHaveLegsClasshumanyesnonoyesmammalspythonnononononon-mammalssalmonnonoyesnonon-mammalswhaleyesnoyesnomammalsfrognonosometimesyesnon-mammalskomodonononoyesnon-mammalsbatyesyesnoyesmammalspigeonnoyesnoy...