基于朴素贝叶斯算法的垃圾邮件分类-(Python实现)课件

PPT
  • 阅读 66 次
  • 下载 0 次
  • 页数 21 页
  • 大小 1.872 MB
  • 2022-11-24 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档15.00 元 加入VIP免费下载
此文档由【小橙橙】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
基于朴素贝叶斯算法的垃圾邮件分类-(Python实现)课件
可在后台配置第一页与第二页中间广告代码
基于朴素贝叶斯算法的垃圾邮件分类-(Python实现)课件
可在后台配置第二页与第三页中间广告代码
基于朴素贝叶斯算法的垃圾邮件分类-(Python实现)课件
可在后台配置第三页与第四页中间广告代码
基于朴素贝叶斯算法的垃圾邮件分类-(Python实现)课件
基于朴素贝叶斯算法的垃圾邮件分类-(Python实现)课件
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 21
  • 收藏
  • 违规举报
  • © 版权认领
下载文档15.00 元 加入VIP免费下载
文本内容

【文档说明】基于朴素贝叶斯算法的垃圾邮件分类-(Python实现)课件.ppt,共(21)页,1.872 MB,由小橙橙上传

转载请保留链接:https://www.ichengzhen.cn/view-44435.html

以下为本文档部分文字说明:

Presentation基于朴素贝叶斯算法的垃圾邮件分类(Python实现)EastChinaNormalUniversity2022年11月24日CONTENTS目录0简介1回顾:基本方法2算法3拉普拉斯平滑4实例:邮件分类5流行学习2022年11月24日Eas

tChinaNormalUniversity简介朴素贝叶斯法:是基于贝叶斯定理和特征条件独立假设的分类方法。对于给定的训练数据集,首先基于特征条件独立假设学习输入/输出的联合概率分布;然后基于此模型对于给定的输入x,利用贝叶斯定理求出后验概率最大的输出y.朴素贝

叶斯法实现简单,学习和预测的效率都很高,是业界常用的一种方法。2022年11月24日EastChinaNormalUniversity在从数学角度来说,分类问题可做如下定义:设输入空间𝒳⊆𝑅𝑛为n维向量的集合,输出空间为类标记集合𝒴={𝑐1,𝑐2,𝑐3,……,𝑐𝑘}。输入

为特征向量𝓍∈𝒳,确定映射规𝓎=𝑓(𝓍),则输出为类标记𝓎∈𝒴。不考虑模糊数学里的模糊集情况。例如,医生对病人进行诊断就是一个典型的分类过程,任何一个医生都无法直接看到病人的病情,只能观察病人表现出的症状Review1:分类问题综述12022年11月24

日EastChinaNormalUniversity垃圾邮件非垃圾邮件……各种化验检测数据来推断病情,这时医生就好比一个分类器,而这个医生诊断的准确率,与他当初受到的教育方式(构造方法)、病人的症状是否突出(待分类

数据的特性)以及医生的经验多少(训练样本数量)都有密切关系。回顾算法拉普拉斯平滑邮件分类流行学习小结朴素贝叶斯法通过训练数据集学习联合概率分布P(X,Y)。具体地学习先验概率分布和条件概率分布。先验概率分布:P(Y=𝑐𝑘),k

=1,2,…,K条件概率分布(假设𝓍(𝑗)可取值𝑆𝑗个,𝑗=1,2…,𝑛,𝑌可取值有𝑘个,本project中即邮件第j个特征可取值S个值,S=2):P(X=𝓍|Y=𝑐𝑘)=P(𝑋(1)=𝓍(1),…,𝑋(𝑛)=𝓍(𝑛)|Y=�

�𝑘),k=1,2,…,K朴素贝叶斯法对条件概率做了条件独立性的假设,P(X=𝓍|Y=𝑐𝑘)=P(𝑋(1)=𝓍(1),…,𝑋(𝑛)=𝓍(𝑛)|Y=𝑐𝑘)=P(𝑋(𝑗)=𝓍(𝑗)|Y=𝑐𝑘)𝑛

𝑗朴素贝叶斯分类器可以表示为:𝓎=𝑓(𝓍)=argmaxP(Y=𝑐𝑘)P(𝑋(𝑗)=𝓍(𝑗)𝑗|Y=𝑐𝑘)P(Y=𝑐𝑘)𝑘P(𝑋(𝑗)=𝓍(𝑗)𝑗|Y=𝑐𝑘)注意到分母对所有的𝑐𝑘都是相同的,所以𝓎=

𝑓(𝓍)=argmaxP(Y=𝑐𝑘)P(𝑋(𝑗)=𝓍(𝑗)𝑗|Y=𝑐𝑘)Review2:贝叶斯定理2022年11月24日EastChinaNormalUniversity回顾算法拉普拉斯平滑邮件分类流行学习小结算法:2022年11月24日Eas

tChinaNormalUniversityRIDageincomestudentcredit_ratingclass_buy_pc1youthhighnofairno2youthhighnoexcellentno3midhighnofairyes4seniormediumnofa

iryes5seniorlowyesfairyes6seniorlowyesexcellentno7midlowyesexcellentyes8youthmediumnofairno9youthlowyesfairyes10seniormediumyesfairyes11yout

hmediumyesexcellentyes12midmediumnoexcellentyes13midhighyesfairyes14seniormediumnoexcellentnoTrain_dataset(表格来源:数据挖掘:概念与技术第3版)回

顾算法拉普拉斯平滑邮件分类流行学习小结2022年11月24日EastChinaNormalUniversitytest:X=(age=youth,income=mediu,student=yes,credit_rating=fair)(1)计算先验概率P(buy_pc=yes)=9/14=0.

643P(buy_pc=no)=5/14=0.357条件概率:P(age=youth|buy_pc=yes)=2/9=0.22P(age=youth|buy_pc=no)=2/5=0.600P(income=mediu

m|buy_pc=yes)=4/9=0.444P(income=medium|buy_pc=no)=2/5=0.400P(student=yes|buy_pc)=1/5=0.200P(credit_rating=fair|buy_pc=yes)=6/9=0.667P(credit_ra

ting=fair|buy_pc=no)=2/5=0.400回顾算法拉普拉斯平滑邮件分类流行学习小结2022年11月24日EastChinaNormalUniversitytest:X=(age=youth,income=mediu,student=yes,cr

edit_rating=fair)(2)对于给定的实例test:X,计算Y=𝑐𝑘P(𝑋(𝑗)=𝓍(𝑗)𝑗|Y=𝑐𝑘),k=1,2,…,KP(X|buy=yes)=P(age=yout

h|buy_pc=yes)*P(income=medim|buy_pc=yes)*P(student=yes|buy_pc=yes)*P(credit_rating=fair|buy_pc=yes)=0.222*0.444*0.667*0.66

7=0.044同理:P(X|buy=no)=0.600*0.400*0.200*0.400=0.019找出最大化的P(X|Y=𝑐𝑘)P(Y=𝑐𝑘)的类计算P(X|buy=yes)P(buy=yes)=0.044*0.463=0.228P(X|buy=no)

P(buy=no)=0.019*0.357=0.007(3)确定实例x的类0.0444>0.019,朴素贝叶斯分类预测test:X的类为buy_pc=yes.回顾算法拉普拉斯平滑邮件分类流行学习小结如果遇到零概率值怎么办?拉普拉斯平滑。EastChin

aNormalUniversity如果得到某个P(𝑋(𝑗)=𝓍(𝑗)|Y=𝑐𝑘)的零概率值,将其代入P(X=𝓍|Y=𝑐𝑘)=P(𝑋(𝑗)=𝓍(𝑗)|Y=𝑐𝑘)𝑛𝑗将返回P(X=𝓍|Y=𝑐𝑘)的概率为零!一个零概率将消除乘积中

设计的所有其他(后验)概率的影响。怎么避免这样的问题呢?条件概率的贝叶斯估计:𝑝𝜆(𝑋(𝑗)=𝑎𝑗𝑙|Y=𝑐𝑘)=𝐼𝑥𝑖(𝑗)=𝑎𝑗𝑙,𝑦𝑖=𝑐𝑘+𝜆𝑁𝑖=1𝐼𝑦𝑖=𝑐𝑘+𝑆𝑗𝜆𝑁𝑖=1其中𝜆≥0

等价于在随机变量各个取值的频数赋予一个正数𝜆。当𝜆=0时,最大似然估计,𝜆=1时成为拉普拉斯平滑。同样先验概率的贝叶斯估计为:𝑝𝜆(Y=𝑐𝑘)=𝐼𝑦𝑖=𝑐𝑘+𝜆𝑁𝑖=1𝑁+𝐾𝜆其中

𝑥𝑖(𝑗)表示第i个样本的第j个特征,𝑎𝑗𝑙表示第个特征可能去第𝑙个值,I为指示函数。2022年11月24日回顾算法拉普拉斯平滑邮件分类流行学习小结流程图:EastChinaNormalUniversity获取训练样本确定特

征属性对每个类计算P(𝑦𝑖)对每个特征属性就按所有划分的条件概率对每个类别计算P(x|𝑦𝑖)以P(x|𝑦𝑖)P(Y=𝑐𝑘)最大项作为x的所属类别准备阶段分类器训练阶段应用阶段2022年11月24日回顾算法拉普拉斯平滑邮件分类流行学习小

结准备数据从文本中构建词向量(贝努利模型)EastChinaNormalUniversity从文本中构建邮件向量(words2vec):通常有两种实现方式:一种是基于贝努利模型,一种是基于多项式模型实现。我们采用前一种

实现方式,将每个词的出现与否作为一个特征(词集模型,相对应的是词袋模型),不考虑单词在文档中出现的次数,因此在这个意义上相当于每个假设词是等权重的。具体如下:(1)遍历所有邮件,创建一个包含所有文档中出

现的不重复的单词集合(即特征)。(2)对于每一封邮件创建一个与单词集合等长的0向量。接着遍历邮件中所有单词,如果出现在单词集合中则把对应的值设为1。2022年11月24日回顾算法拉普拉斯平滑邮件分类流行学习小结训练模型(技巧小结)EastChinaNorm

alUniversity遍历所有训练集,计算所需要的先验概率和条件概率,构建分类器模型。根据前面的分析,如果一个概率值为0,那么最后的乘积都为0,为降低这种影响,可以将所有的词的出现频率初试话为1,并将分母初始

化为2。另外由于数据维度过高,当计算P(X=𝓍|Y=𝑐𝑘)=P(𝑋(𝑗)=𝓍(𝑗)|Y=𝑐𝑘)𝑛𝑗时,多个很小的数相乘可能会出现下溢或者浮点数舍入导致错误,我们可以对乘积取自然对数。即ln(a*b)=ln(a)+ln(b)。2022年11月24日回顾算法拉普拉斯平滑邮件分类

流行学习小结交叉验证(1000)EastChinaNormalUniversity[百分比][百分比]测试结果错误正确正确错误64936准确率:0.936%2022年11月24日回顾算法拉普拉斯平滑邮件分类流行学习小结流形学习2022年11月24日EastChinaNormalUnivers

ity本质上,流形学习就是给数据降维的过程。这里假设数据是一个随机样本,采样自一个高维欧氏空间中的流形(manifold),流形学习的任务就是把这个高维流形映射到一个低维(例如2维)的空间里。流形学习可以分为线性

算法和非线性算法,前者包括主成分分析(PCA)和线性判别分析(LDA),后者包括等距映射(Isomap),拉普拉斯特征映射(LE)等。流形学习可以用于特征的降维和提取,为后续的基于特征的分析,如聚类和分类,做铺垫,也可以直接应用于数据可视化等。回顾算法拉普拉斯平滑邮件分类流行学习小结

流形学习2022年11月24日EastChinaNormalUniversity回顾算法拉普拉斯平滑邮件分类流行学习小结流形学习2022年11月24日EastChinaNormalUniversity回顾算法拉普拉斯平滑邮件分类流行学习小结流形学习2022年11月24日EastChinaNorma

lUniversity回顾算法拉普拉斯平滑邮件分类流行学习小结流形学习(DIM)2022年11月24日EastChinaNormalUniversity算法的输入是所有数据在高维情况下两两之间的距离(记i与j的距离为Dij)。现在以降到2维为例说明这个算法。首先我们把所有数据点随机绘制在一张

二维图像上,然后计算它们两两之间的距离dij,然后我们计算出它与高维距离Dij的误差,根据这些误差,我们将每对数据点按比例移近或移远,然后重新计算所有dij,不断重复到我们没法减少误差为止。假设有n个点:(1

)输入每一对点之间的距离Dij。(2)随机在2维平面生成n个点,点i坐标记为x[i]、y[i],计算它们两之间的距离,记为dij.(3)对所有i和j计算:eij=(dij-Dij)/Dij,每个点用一个二维的值

grad[k]来表示它要移动的距离的比例因子(初始为0,0)。在计算出每个eij后,计算((x[i]-x[j])/dij)*eij,然后把它加到grad[i][x]上,同样把((y[i]-y[j])/dij)*eij加到grad[i][y

]上。(4)把所有eij的绝对值相加,为总误差,与前一次的总误差比较(初始化为无穷大),大于前一次的话就停止。否则把它作为上一次总误差,继续。对每个点,新的坐标为x[i]-=rate*grad[i][x]y[i]-=rate*grad[i][y],其中rat

e是开始时自己定义的一个常数参数,该参数影响了点的移动速度。重新计算各个dij,回到3。回顾算法拉普拉斯平滑邮件分类流行学习小结小结2022年11月24日看论文……大神交流淘经验写代码……实际应用中,需要考虑很多因素,下溢是其中一个,词袋模型在解决文档分类问比词集模型有所提高

,还有其他一些方面的改进,比如移除停用词。实际生活中,避免将普通邮件当作垃圾邮件比截获每一封垃圾邮件更为重要,收件箱收到几封垃圾邮件还是可以忍受的,但一封重要的邮件被过滤到垃圾箱被忽视则完全不能忍,为解决这一问题,我们需要为每个分类设立阈值,如spam阈值为3,则必须p(spam)>3p(

not_spam)时才归类为spam。……其它问题。EastChinaNormalUniversity回顾算法拉普拉斯平滑邮件分类流行学习小结谢谢聆听2022年11月24日EastChinaNormalUniversity知识回顾K

nowledgeReview祝您成功!

小橙橙
小橙橙
文档分享,欢迎浏览!
  • 文档 6209
  • 被下载 8
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?