资源描述
朴素贝叶斯朴素贝叶斯Naive BayesCompany LogoCompany Logo朴素贝叶斯朴素贝叶斯u主要内容主要内容n贝叶斯简介n朴素贝叶斯分类n基本决策规则n基于最小错误率n基于最小风险n总结扩展(了解)n贝叶斯与分类的简单应用Company LogoCompany Logo贝叶斯简介贝叶斯简介u贝叶斯贝叶斯(Thomas Bayes,17011761)英国牧师、英国牧师、业余数学家。在论机会学说中一个问题的求解业余数学家。在论机会学说中一个问题的求解中给出了贝叶斯定理。中给出了贝叶斯定理。u具有讽刺意味的是,当初贝叶斯发明概率统计理论具有讽刺意味的是,当初贝叶斯发明概率统计理论是为了证明上帝的存在,而至死这个愿望都没有实是为了证明上帝的存在,而至死这个愿望都没有实现,不过感谢伟大的贝叶斯,因为他的无心插柳,现,不过感谢伟大的贝叶斯,因为他的无心插柳,才有了今天的贝叶斯公式才有了今天的贝叶斯公式,并列于数据挖掘十大经并列于数据挖掘十大经典算法典算法:u它解决了两个事件条件概率的转换问题它解决了两个事件条件概率的转换问题Company LogoCompany Logo贝叶斯简介贝叶斯简介u先验概率:由以往的数据分析得到的概率先验概率:由以往的数据分析得到的概率u后验概率:得到后验概率:得到结果结果的信息后重新修正的概率的信息后重新修正的概率u简单地说,贝叶斯定理是基于假设的先验概率、给简单地说,贝叶斯定理是基于假设的先验概率、给定假设下观察到不同数据的概率,提供了一种计算定假设下观察到不同数据的概率,提供了一种计算后验概率的方法后验概率的方法u在人工智能领域,贝叶斯方法是一种非常具有代表在人工智能领域,贝叶斯方法是一种非常具有代表性的不确定性知识表示和推理方法性的不确定性知识表示和推理方法Company LogoCompany Logo贝叶斯简介贝叶斯简介u贝叶斯定理贝叶斯定理nP(A)是A的先验概率或边沿概率,之所以称为先验,是因为它不考虑任何B方面的因素nP(A|B)是已知B发生后A的条件概率,也由于得自B的取值而被称为A的后验概率nP(B|A)是已知A发生后B的条件概率,也由于得自B的取值而被称为B的后验概率nP(B)是B的先验概率或边沿概率,之所以称为先验,是因为它不考虑任何A方面的因素Company LogoCompany Logo贝叶斯简介贝叶斯简介u贝叶斯定理贝叶斯定理n条件概率:nP(A|B)表示事件B已经发生的前提下,事件A发生的概率,叫做事件B发生下事件A的条件概率。其基本求解公式:n贝叶斯公式nP(B|A)是根据A判断其属于类别B的概率,称为后验概率。P(B)是直接判断某个样本属于B的概率,称为先验概率。P(A|B)是在类别B中观测到A的概率,P(A)是在数据库中观测到A的概率Company LogoCompany Logo贝叶斯简介贝叶斯简介u百度百科上的例子:学校里有百度百科上的例子:学校里有60%男生和男生和40%女生,女生女生,女生穿裤子的人数和穿裙子的人数相等,所有男生穿裤子,一个人穿裤子的人数和穿裙子的人数相等,所有男生穿裤子,一个人在远处看到了一个穿裤子的学生。这个学生是女生的概率是多在远处看到了一个穿裤子的学生。这个学生是女生的概率是多少少?n使用贝叶斯定理,事件A是看到女生,事件B是看到一个穿裤子的学生。我们所要计算的是P(A|B)nP(A)是忽略其它因素,看到女生的概率,在这里是0.4nP(A)是忽略其它因素,看到不是女生(即看到男生)的概率,在这里是0.6nP(B|A)是女生穿裤子的概率,在这里是0.5nP(B|A)是男生穿裤子的概率,在这里是1nP(B)是忽略其它因素,学生穿裤子的概率,P(B)=P(B|A)P(A)+P(B|A)P(A),在这里是0.50.4+10.6=0.8n根据贝叶斯定理,我们计算出后验概率P(A|B):P(A|B)=P(B|A)*P(A)/P(B)=0.25Company LogoCompany Logo贝叶斯分类贝叶斯分类u朴素贝叶斯法是基于贝叶斯定理与特征条件独立假朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法。结合样本输入输出的联合概率分布设的分类方法。结合样本输入输出的联合概率分布和输出的概率分布,对于给定的输入和输出的概率分布,对于给定的输入x,利用贝叶斯,利用贝叶斯定理求解后验概率的过程。朴素贝叶斯简单,学习定理求解后验概率的过程。朴素贝叶斯简单,学习与预测效率较高,比较常用。与预测效率较高,比较常用。u其基本思想:对于给定的待分类项其基本思想:对于给定的待分类项x,求解在此样本,求解在此样本出现的条件下各个类别出现的概率,计算出每一个出现的条件下各个类别出现的概率,计算出每一个类别的类别的P(yi|x),i=1,2,.,k,根据一定的决策规则,根据一定的决策规则,决定此样本归属于哪个类别决定此样本归属于哪个类别Company LogoCompany Logo基本决策规则基本决策规则uu基于最小基于最小基于最小基于最小错误错误率的率的率的率的BayesBayes决策决策决策决策uu基于最小基于最小基于最小基于最小风险风险的的的的BayesBayes决策决策决策决策uNeyman-Pearson决策决策u最小最大决策最小最大决策u序序贯分分类方法方法Company LogoCompany Logo基本的决策规则基本的决策规则u基于最小错误率的贝叶斯决策基于最小错误率的贝叶斯决策u已知条件已知条件n设输入空间XRn为n维向量集合,输出空间为类别标记集合=c1,c2,.,ck,输入为特征向量xX,输出为类标记y。训练数据集T=(xi,yi),i=1,2,.,N,样本表示:x=(x(1),x(2),.,x(n)u求解计算求解计算Company LogoCompany Logo基于最小错误率的贝叶斯决策基于最小错误率的贝叶斯决策u转化转化u根据贝叶斯公式根据贝叶斯公式Company LogoCompany Logo基于最小错误率的贝叶斯决策基于最小错误率的贝叶斯决策u对于所有的类别,我们发现分母都是相同的,所以对于所有的类别,我们发现分母都是相同的,所以我们只需要考虑分子:我们只需要考虑分子:u先验概率通过领域专家知识得到,即通过经验数据先验概率通过领域专家知识得到,即通过经验数据(训练数据得到)(训练数据得到)u条件概率:基于条件独立性假设条件概率:基于条件独立性假设Company LogoCompany Logo基于最小错误率的贝叶斯决策基于最小错误率的贝叶斯决策u因此,基于最小错误率的朴素贝叶斯的公式可写为:因此,基于最小错误率的朴素贝叶斯的公式可写为:u因此,我们需要学习得到先验概率分布和条件概率因此,我们需要学习得到先验概率分布和条件概率分布分布Company LogoCompany Logo基于最小错误率的贝叶斯决策基于最小错误率的贝叶斯决策u极大似然估计进行参数估计:极大似然估计进行参数估计:u先验概率的极大似然估计:先验概率的极大似然估计:u离散特征变量的离散特征变量的条件概率的极大似然估计条件概率的极大似然估计x(j)表示样本的第j个特征,其取值集合为aj1,aj2,aj3,.,ajSj,表示第i个样本的第j个特征的取值;ajl是第j个特征的第l个取值;I为指示函数Company LogoCompany Logo基于最小错误率的贝叶斯决策基于最小错误率的贝叶斯决策u连续特征变量的连续特征变量的条件概率的极大似然估计:条件概率的极大似然估计:n假设特征是连续、独立于其他特征,概率密度函数符合正态分布:n则第k类样本在第j个特征上的方差和标准差的极大似然估计为Company LogoCompany Logo基于最小错误率的贝叶斯决策基于最小错误率的贝叶斯决策u连续特征变量的连续特征变量的条件概率的极大似然估计:条件概率的极大似然估计:n则条件概率可写为:n计算上式时,我们直接代入第k类样本在第j个特征上的方差和标准差的极大似然估计值Company LogoCompany Logo基于最小错误率的贝叶斯决策基于最小错误率的贝叶斯决策u朴素贝叶斯算法:朴素贝叶斯算法:n输入:n输出:实例x的分类Company LogoCompany Logo基于最小错误率的贝叶斯决策基于最小错误率的贝叶斯决策u朴素贝叶斯算法:朴素贝叶斯算法:n步骤:n计算先验概率和离散变量条件概率Company LogoCompany Logo基于最小错误率的贝叶斯决策基于最小错误率的贝叶斯决策u朴素贝叶斯算法:朴素贝叶斯算法:n步骤:n计算连续变量的均值、标准差的极大似然估计n代入并计算连续变量的条件概率Company LogoCompany Logo基于最小错误率的贝叶斯决策基于最小错误率的贝叶斯决策u朴素贝叶斯算法:朴素贝叶斯算法:n步骤:n对于给定的实例x=(x(1),x(2),.,x(n),计算n确定x的分类Company LogoCompany Logo基于最小错误率的贝叶斯决策基于最小错误率的贝叶斯决策u简单的示例:由下表的训练数据学习得到一个朴素简单的示例:由下表的训练数据学习得到一个朴素贝叶斯分类器并确定贝叶斯分类器并确定x=(2,S)的类标记)的类标记y,表中,表中X(1),X(2)为特征,取值集合分别为为特征,取值集合分别为A1=1,2,3,A2=S,M,L,Y为类标记,为类标记,Y C=1,-1123456789X(1)111222333X(2)SMMSSMLMLY-1-111-1-1-111Company LogoCompany Logo基于最小错误率的贝叶斯决策基于最小错误率的贝叶斯决策u计算先验概率和条件概率计算先验概率和条件概率Company LogoCompany Logo基于最小错误率的贝叶斯决策基于最小错误率的贝叶斯决策u对于给定的对于给定的x=(2,S)计算计算n因此我们判别x属于-1Company LogoCompany Logo基于最小错误率的贝叶斯决策基于最小错误率的贝叶斯决策u表现形式表现形式n观察上式,为了避免连乘操作导致出现下溢(值太小,无法进行判别分类),常采用对上式右边部分取对数:Company LogoCompany Logo基于最小错误率的贝叶斯决策基于最小错误率的贝叶斯决策u贝叶斯估计:用极大似然估计可能出现先验概率或贝叶斯估计:用极大似然估计可能出现先验概率或条件概率为条件概率为0的情况,这会影响整个的分类结果,因的情况,这会影响整个的分类结果,因此我们使用贝叶斯估计。此我们使用贝叶斯估计。该方法被称为拉普拉斯平滑,=0时为极大似然估计,常取=1Company LogoCompany Logo基于最小错误率的贝叶斯决策基于最小错误率的贝叶斯决策u假设假设=1,尝试计算上面的例子?,尝试计算上面的例子?Company LogoCompany Logo基于最小风险的贝叶斯决策基于最小风险的贝叶斯决策u在医学在医学诊断上,有断上,有误诊(无病(无病说有病)、漏有病)、漏诊。在雷达防空中,有虚警、漏警(有。在雷达防空中,有虚警、漏警(有飞机机说成无成无飞机)。机)。这些些错误判断会造成不同的判断会造成不同的后果和后果和损失。失。u基于最小基于最小风险的的Bayes决策是:在考决策是:在考虑各种各种错误可能造成不同的可能造成不同的损失的情况下的失的情况下的Bayes决策决策规则,我,我们定定义:n状态空间由 K 个自然状态(K个类)组成:n=c1,c2,.,ckn决策空间由 K 个决策组成:nA=1,2,.,kCompany LogoCompany Logo基于最小风险的贝叶斯决策基于最小风险的贝叶斯决策u一般决策表一般决策表 状态状态决策决策c1cK1(1,c1)(1,cK).K(K,c1)(K,cK)为损失函数Company LogoCompany Logo基于最小风险的贝叶斯决策基于最小风险的贝叶斯决策u损失函数有损失函数有KK 个值:个值:(i,cj)或者简写为或者简写为iju含义是:含义是:当真实状态为当真实状态为 i而所采取的决策为而所采取的决策为cj时所时所造成的损失大小造成的损失大小u最小错误率最小错误率Bayes决策取决策取后验概率的最大者后验概率的最大者u在决策表中,每一个决策在决策表中,每一个决策 i对应存在对应存在 K 个损失。对个损失。对于于 x,定义在采取决策定义在采取决策 i时的时的条件期望损失条件期望损失(条件条件风险风险)为:)为:Company LogoCompany Logo基于最小风险的贝叶斯决策基于最小风险的贝叶斯决策ux是随机向量的是随机向量的观察察值,对于其不同于其不同观察察值,采取不,采取不同的决策同的决策 i 时,对应不同的条件不同的条件风险。所以,不同。所以,不同的的x,将会采用不同的决策。,将会采用不同的决策。u决策可以看成随机向量决策可以看成随机向量 x 的函数,的函数,记为(x)(随随机机变量),可以定量),可以定义期望期望风险为:Company LogoCompany Logo基于最小风险的贝叶斯决策基于最小风险的贝叶斯决策u条件条件风险和期望和期望风险的差的差别n条件风险 R(i|x)只反映出,对某一个 x 取值,采取决策行动 i 所带来的风险n期望风险 R 则反映,在整个特征空间中不同的 x 取值,采取相应的决策(x)所带来的平均风险u目目标:采取的一系列决策行:采取的一系列决策行动应该使使期望风险期望风险达到达到最小最小最最u手段手段:如果在采取每一个决策:如果在采取每一个决策时,都使其条件,都使其条件风险最小,最小,则对所有的所有的 x 作决策作决策时,其期望,其期望风险也必然也必然达到最小达到最小u决策决策:最小:最小风险Bayes决策决策Company LogoCompany Logo基于最小风险的贝叶斯决策基于最小风险的贝叶斯决策u最小风险最小风险Bayes决策规则:决策规则:Company LogoCompany Logo基于最小风险的贝叶斯决策基于最小风险的贝叶斯决策u算法的基本步骤算法的基本步骤n计算类先验概率和类条件概率(上文已求)n计算待识 x 的后验概率(Bayes公式)n根据决策表,计算每一个决策的条件风险n找出条件风险最小值所对应的决策k,对x采取该决策(归属到该类)Company LogoCompany Logo基于最小风险的贝叶斯决策基于最小风险的贝叶斯决策u例:例:区分正常与异常细胞区分正常与异常细胞正常细胞异常细胞后验概率Company LogoCompany Logo基于最小风险的贝叶斯决策基于最小风险的贝叶斯决策u条件风险条件风险n决策:归属到异常细胞n原因:损失函数起主导作用正常正常异异常常决策正常06决策异常10Company LogoCompany Logo基于最小风险的贝叶斯决策基于最小风险的贝叶斯决策u最小最小错误率与最小率与最小风险的的贝叶斯决策之叶斯决策之间的关系的关系n定定义0-1损失函数失函数n意义:正确决策没有损失,错误决策损失都为意义:正确决策没有损失,错误决策损失都为 1n附件条件:K个类别对应 K 个决策(无拒绝类)Company LogoCompany Logo基于最小风险的贝叶斯决策基于最小风险的贝叶斯决策结论:在 0-1 损失函数的条件下,使风险最小的Bayes决策等价于使错误率最小的Bayes决策,后者是前者的特例Company LogoCompany Logo总结和扩展总结和扩展u贝叶斯算法流程图:便于理解贝叶斯基本步骤贝叶斯算法流程图:便于理解贝叶斯基本步骤Company LogoCompany Logo总结和扩展总结和扩展u贝叶斯算法算法优点:贝叶斯算法算法优点:n算法简单,易于实现n分类过程中时间空间开销小n算法稳定,对于不同的数据特点器分类性能差别不大,健壮性比较好u问题:现实中很难做到条件相互独立问题:现实中很难做到条件相互独立n半朴素贝叶斯算法(semi-naive bayesian)n贝叶斯网络(Bayesian Belief Network)nTAN(tree augmented naive Bayes)Company LogoCompany Logo贝叶斯与分类的简单应用uNaiveBayes()函数()函数n位于位于klaR包中包中nNaiveBayes(formula,data,.,subset,na.action=na.pass)n常用参数常用参数nformula:确定待判别变量及其依赖变量:确定待判别变量及其依赖变量ndata:数据框:数据框输入输入n输出参数输出参数napriori:类别先验概率:类别先验概率ntables:各个变量在各个类别下的条件概率:各个变量在各个类别下的条件概率nNaiveBayes(x,grouping,prior,usekernel=FALSE,fL=0)Company LogoCompany Logo贝叶斯与分类的简单应用u建立基于建立基于miete数据集的朴素贝叶斯模型数据集的朴素贝叶斯模型n安装并加载安装并加载klaR包包ninstall.packages(“klaR”)nlibrary(klaR)n加载数据集(上节课保存了工作空间的不用做,加载数据集(上节课保存了工作空间的不用做,否则就要重新进行数据预处理)否则就要重新进行数据预处理)n以以nmkat为待判别变量,为待判别变量,data_train生成贝叶斯判生成贝叶斯判别规则别规则nfit_Bayes1=NaiveBayes(nmkat.,data_train)n显示显示fit_Bayes1所包含的输出项名称所包含的输出项名称nnames(fit_Bayes1)Company LogoCompany Logo贝叶斯与分类的简单应用u建立基于建立基于miete数据集的朴素贝叶斯模型数据集的朴素贝叶斯模型n显示各类别的先验概率显示各类别的先验概率nfit_Bayes1$apriorin显示所有变量在各类别下的条件概率并分析显示所有变量在各类别下的条件概率并分析nfit_Bayes1$tablesu自己动手:显示模型自己动手:显示模型fit_Bayes1的的其他内容其他内容Company LogoCompany Logo贝叶斯与分类的简单应用u各类别下的变量密度可视化,并进行分析各类别下的变量密度可视化,并进行分析n占地面积占地面积wfl可视化可视化nplot(fit_Bayes1,vars=wfl,n=50,col=c(1,blue,3,green,5)n租赁期租赁期mvdauernplot(fit_Bayes1,vars=mvdauer,n=50,col=c(1,blue,3,green,5)n每平方米净租金每平方米净租金nmqmnplot(fit_Bayes1,vars=nmqm,n=50,col=c(1,blue,3,green,5)Company LogoCompany Logo贝叶斯与分类的简单应用u对测试待判别变量取值进行预测对测试待判别变量取值进行预测n根据根据fit_Bayes1判别规则进行预测判别规则进行预测n pre_Bayes1=predict(fit_Bayes1,data_test)n显示预测结果显示预测结果n pre_Bayes1n建立真实值和预测值混淆矩阵建立真实值和预测值混淆矩阵 nT_M=table(data_test$nmkat,pre_Bayes1$class)n计算贝叶斯判别的错误率并显示计算贝叶斯判别的错误率并显示nerror_Bayes1=sum(as.numeric(as.numeric(pre_Bayes1$class)!=as.numeric(data_test$nmkat)/nrow(data_test)nerror_Bayes1Company LogoCompany Logo贝叶斯与分类的简单应用u分析和总结分析和总结n错误率约为错误率约为49%,预测效果不佳,说明该数据变,预测效果不佳,说明该数据变量不符合朴素贝叶斯的前提条件量不符合朴素贝叶斯的前提条件-各变量条件独各变量条件独立,建立规则的某些变量可能是相互关联的,这立,建立规则的某些变量可能是相互关联的,这在很大程度上影响了分类正确率在很大程度上影响了分类正确率n实际数据中,变量间多多少少有着相互关联性,实际数据中,变量间多多少少有着相互关联性,因此,同样基于贝叶斯定理的贝叶斯网络是贝叶因此,同样基于贝叶斯定理的贝叶斯网络是贝叶斯判别中更高级、应用范围更广的一种算法。它斯判别中更高级、应用范围更广的一种算法。它放宽了变量独立的条件,将贝叶斯定理与图论相放宽了变量独立的条件,将贝叶斯定理与图论相结合,建立起基于概率推理的数学模型,擅于解结合,建立起基于概率推理的数学模型,擅于解决变量相关和复杂的不确定性的问题决变量相关和复杂的不确定性的问题n同学们可自行研究贝叶斯网络及其应用同学们可自行研究贝叶斯网络及其应用Thank you!
展开阅读全文