朴素贝叶斯分类算法的应用多元统计实验报告
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
P X Ci PCi PX C j PC j ,1 j m, j i
换言之,X被指派到其P(Xk|Ci)P(Ci)最大的类Ci。
算法优点:
(1)算法逻辑简单,易于实现; (2)算法实施的时间、空间开销小: (3)算法性能稳定,对于不同特点的数据其分类性能差 别不大,即模型的健壮性比较好
2
P X k Ci g xk , Ci , Ci
1 2 Ci
e
xk C i
2 2 C i
其中,给定类Ci的训练样本属性Ak的值,g xk , Ci , Ci 是属 性Ak的高斯密度函数,而 Ci , Ci 分别为平均值和源自文库准差。 (5)为对未知样本X分类,对每个类Ci,计算 P(Xk|Ci)P(Ci)。样本X被指派到类Ci,当且仅当
朴 素 贝 叶 斯 分 类 的 流 程
算法实例:检测SNS社区中不真实账号
首先设C=0表示真实账号,C=1表示不真实账号。 1、确定特征属性及划分 选择三个特征属性:a1:日志数量/注册天数,a2:好友数 量/注册天数,a3:是否使用真实头像。在SNS社区中这三 项都是可以直接从数据库里得到或计算出来的。
2015
应用多元统计实验报告
梦晴
朴素贝叶斯分类算法
算法简介 算法描述 算法优点 算法流程
算法实例
算法结果分析
算法简介
朴素贝叶斯(Naive Bayes)分类算法是贝叶斯分类算 法中的一种最简单、有效的而且在实际使用中很成功的分类 算法,其性能可以与神经网络、决策树相媲美,甚至在某些 场合优于其它分类算法。图1 直观地描述了朴素贝叶斯分类 模型的结构特点。
P(C=1)P(x|C=1)
=P(C=1)P(0.05<a1<0.2|C=1)P(0.1<a2<0.8|C=1)P(a3=0|C=1) =0.11*0.1*0.2*0.9=0.00198
经鉴别,该账号归类于真实账号。
实例结果分析:
5、使用分类器进行鉴别 下面我们使用上面训练得到的分类器鉴别一个账号,这个 账号使用非真实头像,日志数量与注册天数的比率为0.1, 好友数与注册天数的比率为0.2。即:
x:a1=0.1, a2=0.2, a3=0
P(C=0)P(x|C=0) =P(C=0)P(0.05<a1<0.2|C=0)P(0.1<a2<0.8|C=0)P(a3=0|C=0) =0.89*0.5*0.7*0.2=0.0623
这样,最大化P(Ci∣X)。即假定样本类Ci的概率大于假定 其他类的概率。其中P(Ci I X)最大的类Ci称为最大后验假定。 (3)根据贝叶斯定理得:
P X | C i P C i P C i | X P X
(3)由于P(X) 对于所有类为常数,只需要P(X |Ci)P(Ci) 最大即可。如果类的先验概率未知,则通常假定这些类是 等概率的;即,P(C1) = P(C2) = ... = P(Cm)。并据此对 P(Ci | X)最大化。否则,我们最大化P(X |Ci)P(Ci)。注意, 类的先验概率可以用P(Ci) = si /s计算;其中,si是类C 中的训练样本数,而s是训练样本总数。 (4)给定具有许多属性的数据集,计算P(X |Ci)的开销可 能非常大。为降低P(X |Ci)计算的开销,可以做类条件独 立的朴素假定。给定样本的类标号,假定属性值相互条件 独立,即在属性间,不存在依赖关系。这样,
P X Ci pxk Ci
k 1
n
概率P(X1|Ci),P(X2|Ci),„P(Xn|Ci)可以由训练样本估值, 其中
(a)如果Ak是连续值属性,则P(Xk|Ci)=Sik/Si,其中Sik是在 属性Ak上具有值Xk的类Ci的样本数,而Si是Ci中的训练样本 数。 (b)如果Ak是连续值属性,则通常假定该属性服从高斯分 布,因而,
该模型中,假设所有的属 性都独立于类变量C,即每一 个属性变量都以类变量作为惟 一的父节点。这种假设大大降 低了计算的复杂度,简化所需的计算,且具有较高的精确度, 这一假设称作条件独立。做此假定是为了简化所需的计算, 并在此意义下称为“朴素的”。使用朴素贝叶斯分类模型进 行分类的做法是通过概率计算,从待分类的实例的属性值A1 , A2 ,...An 求出最可能的分类目标值。
下面给出划分:a1:{a1<=0.05, 0.05<a1<0.2, a1>=0.2},
a2:{a2<=0.1, 0.1<a2<0.8, a2>=0.8}, a3:{a3=0(不是),a3=1(是)}。 2、获取训练样本 这里使用人工检测过的1万个账号作为训练样本。
3、计算训练样本中每个类别的频率 用训练样本中真实账号和不真实账号数量分别除以一万, 得到: P(C=0)=8900/10000=0.89 P(C=1)=1100/10000=0.11 4、计算每个类别条件下各个特征属性划分的频率 P(a1<=0.05|C=0)=0.3 P(0.05<a1<0.2|C=0)=0.5 P(a1>0.2|C=0)=0.2 P(a1<=0.05|C=1)=0.8 P(0.05<a1<0.2|C=1)=0.1 P(a1>0.2|C=1)=0.1 P(a2<=0.1|C=0)=0.1 P(0.1<a2<0.8|C=0)=0.7 P(a2>0.8|C=0)=0.2 P(a2<=0.1|C=1)=0.7 P(0.1<a2<0.8|C=1)=0.2 P(a2>0.8|C=1)=0.1 P(a3=0|C=0)=0.2 P(a3=1|C=0)=0.8 P(a3=0|C=1)=0.9 P(a3=1|C=1)=0.1
算法描述
(1)每个数据样本用一个n维特征向量 X= ( x1, x2, ... , xn} 表示,分别描述对n个属性 A1 , A2 ,...An 样本的n个度量。
(2)假定有m个类CI,C2,...Cm,给定一个未知的数据样本 X(即没有类标号),分类法将预测X属于具有最高后验概率 (条件X下)的类。也就是说,朴素贝叶斯分类将未知的样本 分配给类Ci,当且仅当 P(Ci∣X) > P(Cj∣X), 1<j<m, j≠i