当前位置:文档之家› 机器学习实验之朴素贝叶斯(垃圾邮件判断)

机器学习实验之朴素贝叶斯(垃圾邮件判断)

机器学习实验之朴素贝叶斯(垃圾邮件判断)
机器学习实验之朴素贝叶斯(垃圾邮件判断)

机器学习实训实验报告(四)

专业班级学号姓名实验项目名称:利用朴素贝叶斯过滤垃圾邮件

实验内容:

1、了解概率分类器的意义,理解条件概率的计算方法

2、了解朴素贝叶斯的理论知识,了解基于以上理论知识构建分类器的方法

3、根据朴素贝叶斯的一般步骤进行过滤垃圾邮件的任务

实验过程:

算法分析:

简介:

朴素贝叶斯算法的分类模型是基于Bayes定理的,下面就简单介绍一下Bayes定理.设X为一个类别未知的数据样本,H为某个假设,C表示类别集合,若数据样本X属于一个特定的类别c,那么分类问题就是决定P(H/X),即在获得数据样本X时,H假设成立的概率.由于P(H),P(X), P(X/H)的概率值可以从(供学习使用的)数据集合中得到,Bayes 定理描述了如何根据P(H), P(X),P(X/H)计算获得的P(H/X),有关的具体公式定义描述如下

算法过程:

我们假设训练集为m个样本n个维度,如下:

(x(1)1,x(1)2,...x(1)n,y1),(x(2)1,x(2 )2,...x(2)n,y2),...(x(m)1,x(m)2,...x( m)n,ym)(x1(1),x2(1),...xn(1),y1),( x1(2),x2(2),...xn(2),y2),...(x1(m),x 2(m),...xn(m),ym)

共有K个特征输出类别,分别为C1,C2,...,CKC1,C2,...,CK,每个特征输出类别的样本个数为

m1,m2,...,mKm1,m2,...,mK,在第k 个类别中,如果是离散特征,则特征XjXj各个类别取值为mjlmjl。其中l取值为源程序代码:

from numpy import *

import re

def loadDataSet():

#文档集合

postingList=[['my', 'dog', 'has', 'flea', 'problems', 'help', 'please'],

['maybe', 'not', 'take', 'him', 'to', 'dog', 'park', 'stupid'],

['my', 'dalmation', 'is', 'so', 'cute', 'I', 'love', 'him'],

['stop', 'posting', 'stupid', 'worthless', 'garbage'],

['mr', 'licks', 'ate', 'my', 'steak', 'how', 'to', 'stop', 'him'],

['quit', 'buying', 'worthless', 'dog', 'food', 'stupid']]

classV ec = [0,1,0,1,0,1] #类别:1代表侮辱性文字,0代表正常

return postingList,classVec

#函数说明:将切分的词条整理成不重复的词条列表

def createV ocabList(dataSet):

vocabSet = set([]) ##创建一个空的不重复列表

for document in dataSet:

vocabSet = vocabSet | set(document) #取并集

return list(vocabSet)

#函数说明:根据vocabList,将inputSet向量化,每个元素为1或0 def setOfWords2Vec(vocabList, inputSet):

returnVec = [0]*len(vocabList) #创建一个其中所含元素都为0的向量

for word in inputSet: #遍历每个词条

if word in vocabList: #如果词条存在于词汇表中,则置1

returnVec[vocabList.index(word)] = 1

else: print ("the word: %s is not in my Vocabulary!" % word)

return returnVec

#函数说明:朴素贝叶斯分类器训练函数

def trainNB0(trainMatrix,trainCategory):

numTrainDocs = len(trainMatrix) #计算训练的文档数目

numWords = len(trainMatrix[0]) #计算每篇文档的词条数

1,2,...Sj1,2,...Sj,SjSj为特征j不同的取值数。

输出为实例X(test)X(test)的分类。

算法流程如下:

1) 如果没有Y的先验概率,则计算Y的K个先验概率:P(Y=Ck)=(mk+λ)/(m+Kλ)P(Y=C k)=(mk+λ)/(m+Kλ),否则

P(Y=Ck)P(Y=Ck)为输入的先验

概率。

2) 分别计算第k个类

别的第j维特征的第l个个取值条件概率:

P(Xj=xjl|Y=Ck)P(Xj=xjl|Y=Ck)

a)如果是离散值:

P(Xj=xjl|Y=Ck)=mkjl+λmk+SjλP( Xj=xjl|Y=Ck)=mkjl+λmk+Sjλ

λλ可以取值为1,或者其他大于0的数字。

b)如果是稀疏二项离散值:

P(Xj=xjl|Y=Ck)=P(j|Y=Ck)xjl+(1?P(j|Y=Ck)(1?xjl)P(Xj=xjl|Y=Ck) =P(j|Y=Ck)xjl+(1?P(j|Y=Ck)(1?xjl)

此时ll只有两种取值。

c)如果是连续值不需要计算各个l的取值概率,直接求正态分布的参数:

P(Xj=xj|Y=Ck)=12πσ2k????√exp(?(xj?μk)22σ2k)P(Xj=xj|Y=C k)=12πσk2exp(?(xj?μk)22σ

k2)

需要求出μk和

σ2kμk和σk2。μkμk为在样本类别CkCk中,所有XjXj的平均值。σ2kσk2为在样本类别CkCk中,所有XjXj的方差。

pAbusive = sum(trainCategory)/float(numTrainDocs) #文档属于侮辱类的概率

p0Num = zeros(numWords); p1Num = zeros(numWords)

#词条出现数初始化为1

p0Denom = 0.0; p1Denom = 0.0 #分母初始化为0

for i in range(numTrainDocs):

if trainCategory[i] == 1:

#统计属于侮辱类的总词数,出现一次,次数+1

p1Num += trainMatrix[i]

p1Denom += sum(trainMatrix[i])

else:

#统计属于非侮辱类的总词数,出现一次,次数+1

p0Num += trainMatrix[i]

p0Denom += sum(trainMatrix[i])

#对应个数除以总数,此处可以用log()防止下溢出

p1Vect = p1Num/p1Denom

p0Vect = p0Num/p0Denom

return p0Vect,p1Vect,pAbusive

#返回属于侮辱类的条件概率数组,属于非侮辱类的条件概率数组,文档属于侮辱类的概率

#函数说明:朴素贝叶斯分类器分类函数

def classifyNB(vec2Classify, p0Vec, p1Vec, pClass1):

#对应元素相乘,且所有词的对应值相加,并将此值加入到对数概率中

p1 = sum(vec2Classify * p1Vec) + log(pClass1)

p0 = sum(vec2Classify * p0Vec) + log(1.0 - pClass1)

if p1 > p0:

return 1

else:

return 0

#函数说明:便利函数,封装操作

def testingNB():

listOPosts,listClasses = loadDataSet() #加载数据

myV ocabList = createV ocabList(listOPosts) #整理词条

trainMat=[]

#遍历listOPosts,向trainMat插入向量化后的listOPosts

for postinDoc in listOPosts:

trainMat.append(setOfWords2Vec(myVocabList, postinDoc))

p0V,p1V,pAb = trainNB0(array(trainMat),array(listClasses))

#记:侮辱类的条件概率数组,非侮辱类的条件概率数组,文档是侮辱类的概率

testEntry = ['love', 'my', 'dalmation']

#根据myV ocabList,向量化testEntry

thisDoc = array(setOfWords2Vec(myVocabList, testEntry))

#输出分类

print (testEntry,'classified as: ',classifyNB(thisDoc,p0V,p1V,pAb))

#根据myV ocabList,向量化testEntry

testEntry = ['stupid', 'garbage']

thisDoc = array(setOfWords2Vec(myVocabList, testEntry))

print (testEntry,'classified as: ',classifyNB(thisDoc,p0V,p1V,pAb))

#函数说明:朴素贝叶斯词袋模型

3)对于实例

X(test)X(test),分别计算:

P(Y=Ck)∏j=1nP(Xj=x(test)j|Y=C k)P(Y=Ck)∏

j=1nP(Xj=xj(test)|Y=Ck)

4)确定实例

X(test)X(test)的分类CresultCresult

Cresult=argmax

CkP(Y=Ck)∏j=1nP(Xj=X( test)j|Y=Ck)

调试过程中的关键问题及修改:1、

错误:

正则分割函数https://www.doczj.com/doc/463647748.html,pile():

结果为全部是空格和逗号

解决方法:

改为https://www.doczj.com/doc/463647748.html,pile('[ ,.]+')

意思是按空格和.分割

2、

报错:UnicodeDecodeError: 'gbk' codec can't decode byte 0xae in position 199: illegal multibyte sequence

原因:是打印的某种编码类型的字符串到终端,所以由于编码不匹配,导致出现此问题。

解决方法:

查阅资料后发现是文件里有个乱码,在ham文件夹中在23.txt里第二行去掉那个?就可以了,

运行结果:

4-1

4-2

4-3

4-4

优化后的分割

一封电子邮件处理结果

4-5

每次运行结果不同:

实验总结:

学习朴素贝叶斯需要许多的基础知识,例如条件概率、贝叶斯定理、分类器等,要知道它们的概念,理解它们的在朴素贝叶斯分类的起到的作用,充当了说明角色,通过这次学习这些基本的理论知识我有了进一步的认识,当然在代码方面还是有许多欠缺的地方。

我觉得这门课和概率论的关系十分密切,而学习概率论与数理统计最重要的就是要学习书本中渗透的一种全新的思维方式。统计与概率的思维方式,和逻辑推理不一样,它是不确定的,也就是随机的思想。这也是一个人思维能力最主要的体现,整个学习过程中要紧紧围绕这个思维方式进行。做这个实验,对问题需要有更深层次的思考,因而学起来也是很吃力的。不过收获也是很多的。

实验成绩评定

评分小项分值得分总分:

1.实验报告格式排版10分

2.实验设计思路(科学性、可行性、创新性) 30分

3.实验代码编写(规范性、正确性、复杂性) 30分

4.实验结果分析(正确性、合理性) 20分

5.实验心得总结10分

基于朴素贝叶斯的短文本分类研究

基于朴素贝叶斯的短文本分类研究 自然语言处理是目前智能科学领域中的一个非常热门的方向,文本的分类同样也是自然语言处理中的一项关键的技术。随着深度学习发展,朴素贝叶斯算法也已经在文本的分类中取得到了良好的分类效果。本文针对短文本的分类问题,首先对短文本数据进行了预处理操作,其中包括中文分词、去除停用词以及特征的提取,随后阐明了朴素贝叶斯算法构建分类器的过程,最后将朴素贝叶斯算法与逻辑回归和支持向量机分类算法的分类效果进行了对比分析,得出朴素贝叶斯算法在训练所需的效率上及准确率上有较为优异的表现。 标签:自然语言处理文本分类机器学习朴素贝叶斯 引言 文本分类问题是自然语言处理中的一个非常经典的问题。文本分类是计算机通过按照一定的分类标准进行自动分类标记的有监督学习过程。在文本特征工程中,和两种方法应用最为广泛[1] 。在分類器中,使用普遍的有朴素贝叶斯,逻辑回归,支持向量机等算法。其中朴素贝叶斯是基于贝叶斯定理与特征条件独立假设的分类方法,有着坚实的数学基础,以及稳定的分类效率。基于此,本文采用基于的特征提取的朴素贝叶斯算法进行文本分类,探求朴素贝叶斯算法在短文本分类中的适用性。 1数据预处理 1.1中文分词 中文分词是指将一个汉字序列切分成一个个单独的词。中文分词是中文文本处理的一个基础步骤,也是对中文处理较为重要的部分,更是人机自然语言交流交互的基础模块。在进行中文自然语言处理时,通常需要先进行中文分词处理[2] 。 1.2停用词处理 去除停用词能够节省存储空间和计算时间,降低对系统精度的影响。对于停用词的处理,要先对语料库进行分词、词形以及词性的类化,为区分需求表述和信息内容词语提供基础。去停用词后可以更好地分析文本的情感极性,本文采用广泛使用的哈工大停用词表进行去停用词处理。 1.3特征提取 文本数据属于非结构化数据,一般要转换成结构化的数据,一般是将文本转换成“文档-词频矩阵”,矩阵中的元素使用词频或者。它的计算为,

贝叶斯过滤垃圾邮件算法的基本步骤

一、贝叶斯过滤算法的基本步骤 1)、收集大量的垃圾邮件和非垃圾邮件,建立垃圾邮件集和非垃圾邮件集; 2)、提取邮件主题和邮件体中的独立字串例如 ABC32,¥234等作为TOKEN串并统计提取出的TOKEN串出现的次数即字频。按照上述的方法分别处理垃圾邮件集和非垃圾邮件集中的所有邮件; 3)、每一个邮件集对应一个哈希表,Hashtable_Good对应非垃圾邮件集而Hashtable_Bad对应垃圾邮件集。表中存储TOKEN串到字频的映射关系; 4)、计算每个哈希表中TOKEN串出现的概率P=(某TOKEN串的字频)/(对应哈希表的长度); 5)、综合考虑hashtable_good和hashtable_bad,推断出当新来的邮件中出现某个TOKEN串时,该新邮件为垃圾邮件的概率。数学表达式为: A事件——邮件为垃圾邮件; t1,t2 ,...,tn代表TOKEN串 则P(A|ti)表示在邮件中出现TOKEN串ti时,该邮件为垃圾邮件的概率。设 P1(ti)=(ti在hashtable_good中的值) P2(ti)=(ti在hashtable_ bad中的值) 则 P(A|ti)= P1(ti)/[(P1(ti)+ P2(ti)]; 6)、建立新的哈希表 hashtable_probability存储TOKEN串ti到P(A|ti)的映射; 7)、至此,垃圾邮件集和非垃圾邮件集的学习过程结束。根据建立的哈希表Hashtable_Probability可以估计一封新到的邮件为垃圾邮件的可能性。 当新到一封邮件时,按照步骤2)生成TOKEN串。查询hashtable_probability 得到该TOKEN 串的键值。 假设由该邮件共得到N个TOKEN串,t1,t2…….tn, hashtable_probability 中对应的值为P1,P2,。。。。。。PN,P(A|t1 ,t2, t3……tn)表示在邮件中同时出现多个TOKEN串t1,t2…….tn时,该邮件为垃圾邮件的概率。

朴素贝叶斯算法详细总结

朴素贝叶斯算法详细总结 朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法,是经典的机器学习算法之一,处理很多问题时直接又高效,因此在很多领域有着广泛的应用,如垃圾邮件过滤、文本分类等。也是学习研究自然语言处理问题的一个很好的切入口。朴素贝叶斯原理简单,却有着坚实的数学理论基础,对于刚开始学习算法或者数学基础差的同学们来说,还是会遇到一些困难,花费一定的时间。比如小编刚准备学习的时候,看到贝叶斯公式还是有点小害怕的,也不知道自己能不能搞定。至此,人工智能头条特别为大家寻找并推荐一些文章,希望大家在看过学习后,不仅能消除心里的小恐惧,还能高效、容易理解的get到这个方法,从中获得启发没准还能追到一个女朋友,脱单我们是有技术的。贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类。而朴素朴素贝叶斯分类是贝叶斯分类中最简单,也是常见的一种分类方法。这篇文章我尽可能用直白的话语总结一下我们学习会上讲到的朴素贝叶斯分类算法,希望有利于他人理解。 ▌分类问题综述 对于分类问题,其实谁都不会陌生,日常生活中我们每天都进行着分类过程。例如,当你看到一个人,你的脑子下意识判断他是学生还是社会上的人;你可能经常会走在路上对身旁的朋友说“这个人一看就很有钱、”之类的话,其实这就是一种分类操作。 既然是贝叶斯分类算法,那么分类的数学描述又是什么呢? 从数学角度来说,分类问题可做如下定义: 已知集合C=y1,y2,……,yn 和I=x1,x2,……,xn确定映射规则y=f(),使得任意xi∈I有且仅有一个yi∈C,使得yi∈f(xi)成立。 其中C叫做类别集合,其中每一个元素是一个类别,而I叫做项集合(特征集合),其中每一个元素是一个待分类项,f叫做分类器。分类算法的任务就是构造分类器f。 分类算法的内容是要求给定特征,让我们得出类别,这也是所有分类问题的关键。那么如何由指定特征,得到我们最终的类别,也是我们下面要讲的,每一个不同的分类算法,对

朴素贝叶斯在文本分类上的应用

2019年1月 取此事件作为第一事件,其时空坐标为P1(0,0,0,0),P1′(0,0,0,0),在Σ′系经过时间t′=n/ν′后,Σ′系中会看到第n个波峰通过Σ′系的原点,由于波峰和波谷是绝对的,因此Σ系中也会看到第n个波峰通过Σ′系的原点,我们把此事件记为第二事件,P2(x,0,0,t),P2′(0,0,0,t′).则根据洛伦兹变换,我们有x=γut′,t=γt′。在Σ系中看到t时刻第n个波峰通过(x, 0,0)点,则此时该电磁波通过Σ系原点的周期数为n+νxcosθ/c,也就是: n+νxcosθc=νt→ν=ν′ γ(1-u c cosθ)(5)这就是光的多普勒效应[2],如果ν′是该电磁波的固有频率的话,从式(5)可以看出,两参考系相向运动时,Σ系中看到的光的频率会变大,也就是发生了蓝移;反之,Σ系中看到的光的频率会变小,也就是发生了红移;θ=90°时,只要两惯性系有相对运动,也可看到光的红移现象,这就是光的横向多普勒效应,这是声学多普勒效应中没有的现象,其本质为狭义相对论中的时间变缓。3结语 在本文中,通过对狭义相对论的研究,最终得到了光的多普勒效应的表达式,并通过与声学多普勒效应的对比研究,理解了声学多普勒效应和光学多普勒效应的异同。当限定条件为低速运动时,我们可以在经典物理学的框架下研究问题,比如声学多普勒效应,但如果要研究高速运动的光波,我们就需要在狭义相对论的框架下研究问题,比如光的多普勒效应。相对论乃是当代物理学研究的基石,通过本次研究,使我深刻的意识到了科学家为此做出的巨大贡献,为他们献上最诚挚的敬意。 参考文献 [1]肖志俊.对麦克斯韦方程组的探讨[J].通信技术,2008,41(9):81~83. [2]金永君.光多普勒效应及应用[J].现代物理知识,2003(4):14~15.收稿日期:2018-12-17 朴素贝叶斯在文本分类上的应用 孟天乐(天津市海河中学,天津市300202) 【摘要】文本分类任务是自然语言处理领域中的一个重要分支任务,在现实中有着重要的应用,例如网络舆情分析、商品评论情感分析、新闻领域类别分析等等。朴素贝叶斯方法是一种常见的分类模型,它是一种基于贝叶斯定理和特征条件独立性假设的分类方法。本文主要探究文本分类的流程方法和朴素贝叶斯这一方法的原理并将这种方法应用到文本分类的一个任务—— —垃圾邮件过滤。 【关键词】文本分类;监督学习;朴素贝叶斯;数学模型;垃圾邮件过滤 【中图分类号】TP391.1【文献标识码】A【文章编号】1006-4222(2019)01-0244-02 1前言 随着互联网时代的发展,文本数据的产生变得越来越容易和普遍,处理这些文本数据也变得越来越必要。文本分类任务是自然语言处理领域中的一个重要分支任务,也是机器学习技术中一个重要的应用,应用场景涉及生活的方方面面,如网络舆情分析,商品评论情感分析,新闻领域类别分析等等。 朴素贝叶斯方法是机器学习中一个重要的方法,这是一种基于贝叶斯定理和特征条件独立性假设的分类方法。相关研究和实验显示,这种方法在文本分类任务上的效果较好。2文本分类的流程 文本分类任务不同于其他的分类任务,文本是一种非结构化的数据,需要在使用机器学习模型之前进行一些适当的预处理和文本表示的工作,然后再将处理后的数据输入到模型中得出分类的结论。 2.1分词 中文语言词与词之间没有天然的间隔,这一点不同于很多西方语言(如英语等)。所以中文自然语言处理首要步骤就是要对文本进行分词预处理,即判断出词与词之间的间隔。常用的中文分词工具有jieba,复旦大学的fudannlp,斯坦福大学的stanford分词器等等。 2.2停用词的过滤 中文语言中存在一些没有意义的词,准确的说是对分类没有意义的词,例如语气词、助词、量词等等,去除这些词有利于去掉一些分类时的噪音信息,同时对降低文本向量的维度,提高文本分类的速度也有一定的帮助。 2.3文本向量的表示 文本向量的表示是将非结构化数据转换成结构化数据的一个重要步骤,在这一步骤中,我们使用一个个向量来表示文本的内容,常见的文本表示方法主要有以下几种方法: 2.3.1TF模型 文本特征向量的每一个维度对应词典中的一个词,其取值为该词在文档中的出现频次。 给定词典W={w1,w2,…,w V},文档d可以表示为特征向量d={d1,d2,…,d V},其中V为词典大小,w i表示词典中的第i个 词,t i表示词w i在文档d中出现的次数。即tf(t,d)表示词t在文档d中出现的频次,其代表了词t在文档d中的重要程度。TF模型的特点是模型假设文档中出现频次越高的词对刻画文档信息所起的作用越大,但是TF有一个缺点,就是不考虑不同词对区分不同文档的不同贡献。有一些词尽管在文档中出现的次数较少,但是有可能是分类过程中十分重要的特征,有一些词尽管会经常出现在众多的文档中,但是可能对分类任务没有太大的帮助。于是基于TF模型,存在一个改进的TF-IDF模型。 2.3.2TF-IDF模型 在计算每一个词的权重时,不仅考虑词频,还考虑包含词 论述244

机器学习实验之朴素贝叶斯(垃圾邮件判断)

机器学习实训实验报告(四) 专业班级学号姓名实验项目名称:利用朴素贝叶斯过滤垃圾邮件 实验内容: 1、了解概率分类器的意义,理解条件概率的计算方法 2、了解朴素贝叶斯的理论知识,了解基于以上理论知识构建分类器的方法 3、根据朴素贝叶斯的一般步骤进行过滤垃圾邮件的任务 实验过程: 算法分析: 简介: 朴素贝叶斯算法的分类模型是基于Bayes定理的,下面就简单介绍一下Bayes定理.设X为一个类别未知的数据样本,H为某个假设,C表示类别集合,若数据样本X属于一个特定的类别c,那么分类问题就是决定P(H/X),即在获得数据样本X时,H假设成立的概率.由于P(H),P(X), P(X/H)的概率值可以从(供学习使用的)数据集合中得到,Bayes 定理描述了如何根据P(H), P(X),P(X/H)计算获得的P(H/X),有关的具体公式定义描述如下 算法过程: 我们假设训练集为m个样本n个维度,如下: (x(1)1,x(1)2,...x(1)n,y1),(x(2)1,x(2 )2,...x(2)n,y2),...(x(m)1,x(m)2,...x( m)n,ym)(x1(1),x2(1),...xn(1),y1),( x1(2),x2(2),...xn(2),y2),...(x1(m),x 2(m),...xn(m),ym) 共有K个特征输出类别,分别为C1,C2,...,CKC1,C2,...,CK,每个特征输出类别的样本个数为 m1,m2,...,mKm1,m2,...,mK,在第k 个类别中,如果是离散特征,则特征XjXj各个类别取值为mjlmjl。其中l取值为源程序代码: from numpy import * import re def loadDataSet(): #文档集合 postingList=[['my', 'dog', 'has', 'flea', 'problems', 'help', 'please'], ['maybe', 'not', 'take', 'him', 'to', 'dog', 'park', 'stupid'], ['my', 'dalmation', 'is', 'so', 'cute', 'I', 'love', 'him'], ['stop', 'posting', 'stupid', 'worthless', 'garbage'], ['mr', 'licks', 'ate', 'my', 'steak', 'how', 'to', 'stop', 'him'], ['quit', 'buying', 'worthless', 'dog', 'food', 'stupid']] classV ec = [0,1,0,1,0,1] #类别:1代表侮辱性文字,0代表正常 return postingList,classVec #函数说明:将切分的词条整理成不重复的词条列表 def createV ocabList(dataSet): vocabSet = set([]) ##创建一个空的不重复列表 for document in dataSet: vocabSet = vocabSet | set(document) #取并集 return list(vocabSet) #函数说明:根据vocabList,将inputSet向量化,每个元素为1或0 def setOfWords2Vec(vocabList, inputSet): returnVec = [0]*len(vocabList) #创建一个其中所含元素都为0的向量 for word in inputSet: #遍历每个词条 if word in vocabList: #如果词条存在于词汇表中,则置1 returnVec[vocabList.index(word)] = 1 else: print ("the word: %s is not in my Vocabulary!" % word) return returnVec #函数说明:朴素贝叶斯分类器训练函数 def trainNB0(trainMatrix,trainCategory): numTrainDocs = len(trainMatrix) #计算训练的文档数目 numWords = len(trainMatrix[0]) #计算每篇文档的词条数

基于朴素贝叶斯的文本分类算法

基于朴素贝叶斯的文本分类算法 摘要:常用的文本分类方法有支持向量机、K-近邻算法和朴素贝叶斯。其中朴素贝叶斯具有容易实现,运行速度快的特点,被广泛使用。本文详细介绍了朴素贝叶斯的基本原理,讨论了两种常见模型:多项式模型(MM)和伯努利模型(BM),实现了可运行的代码,并进行了一些数据测试。 关键字:朴素贝叶斯;文本分类 Text Classification Algorithm Based on Naive Bayes Author: soulmachine Email:soulmachine@https://www.doczj.com/doc/463647748.html, Blog:https://www.doczj.com/doc/463647748.html, Abstract:Usually there are three methods for text classification: SVM、KNN and Na?ve Bayes. Na?ve Bayes is easy to implement and fast, so it is widely used. This article introduced the theory of Na?ve Bayes and discussed two popular models: multinomial model(MM) and Bernoulli model(BM) in details, implemented runnable code and performed some data tests. Keywords: na?ve bayes; text classification 第1章贝叶斯原理 1.1 贝叶斯公式 设A、B是两个事件,且P(A)>0,称 为在事件A发生的条件下事件B发生的条件概率。 乘法公式P(XYZ)=P(Z|XY)P(Y|X)P(X) 全概率公式P(X)=P(X|Y 1)+ P(X|Y 2 )+…+ P(X|Y n ) 贝叶斯公式 在此处,贝叶斯公式,我们要用到的是

机器学习实验报告-朴素贝叶斯学习和分类文本

机器学习实验报告 朴素贝叶斯学习和分类文本 (2015年度秋季学期) 一、实验内容 问题:通过朴素贝叶斯学习和分类文本 目标:可以通过训练好的贝叶斯分类器对文本正确分类二、实验设计

实验原理与设计: 在分类(classification)问题中,常常需要把一个事物分到某个类别。一个事物具有很多属性,把它的众多属性看做一个向量,即x=(x1,x2,x3,…,xn),用x这个向量来代表这个事物。类别也是有很多种,用集合Y=y1,y2,…ym表示。如果x属于y1类别,就可以给x打上y1标签,意思是说x属于y1类别。 这就是所谓的分类(Classification)。x的集合记为X,称为属性集。一般X和Y 的关系是不确定的,你只能在某种程度上说x有多大可能性属于类y1,比如说x有80%的可能性属于类y1,这时可以把X和Y看做是随机变量,P(Y|X)称为Y的后验概率(posterior probability),与之相对的,P(Y)称为Y的先验概率(prior probability)1。在训练阶段,我们要根据从训练数据中收集的信息,对X和Y的每一种组合学习后验概率P(Y|X)。分类时,来了一个实例x,在刚才训练得到的一堆后验概率中找出所有的P(Y|x),其中最大的那个y,即为x所属分类。根据贝叶斯公式,后验概率为 在比较不同Y值的后验概率时,分母P(X)总是常数,因此可以忽略。先验概率P(Y)可以通过计算训练集中属于每一个类的训练样本所占的比例容易地估计。 在文本分类中,假设我们有一个文档d∈X,X是文档向量空间(document space),和一个固定的类集合C={c1,c2,…,cj},类别又称为标签。显然,文档向量空间是一个高维度空间。我们把一堆打了标签的文档集合作为训练样本,∈X×C。例如:={Beijing joins the World Trade Organization, China}对于这个只有一句话的文档,我们把它归类到China,即打上china标 签。 我们期望用某种训练算法,训练出一个函数γ,能够将文档映射到某一个类别:γ:X→C这种类型的学习方法叫做有监督学习,因为事先有一个监督者(我们事先给出了一堆打好标签的文档)像个老师一样监督着整个学习过程。朴素贝叶斯分类器是一种有监督学习。 实验主要代码: 1、 由于中文本身是没有自然分割符(如空格之类符号),所以要获得中文文本的特征变量向量首先需要对文本进行中文分词。这里采用极易中文分词组件

基于贝叶斯算法的JavaMail垃圾邮件过滤实现

基于贝叶斯算法的JavaMail垃圾邮件过滤实现 刘岚,贾跃伟 武汉理工大学信息工程学院,武汉(430070) E-mail: simon_jia_2005@https://www.doczj.com/doc/463647748.html, 摘要:JavaMail 在中小型企业的邮件系统中有着广泛的应用,谨以贝叶斯算法为基础,提出并实现一套简单,高效的自适应垃圾邮件的过滤方案。它采用基于词熵的特征提取方法,在过滤的过程中不断的进行自学习,具有较强的自适应能力,最终通过阈值来判别邮件是否为垃圾邮件。 关键词:JavaMail;贝叶斯算法;垃圾邮件;自学习 1.引言 JavaMail是Sun发布的处理电子邮件的应用程序接口,预置了常用的邮件传送协议(如SMTP、POP、IMAP、NNTP)的实现方法,与JSP和QMAIL 结合开发出稳定可靠的企业级web mail系统,可以满足中小型企业的日常办公需求。 但目前这种办公邮箱最大的困扰是来自internet的大量以广告为目的垃圾邮件,尤其是在网站上对外公布的邮箱,其垃圾邮件的比例甚至达到了90%以上,日平均有20封以上的垃圾邮件,对邮箱使用造成了很大的不便,这是邮箱系统的开发和维护首要解决的问题。 2.反垃圾邮件过滤技术 2.1 基于黑白名单的过滤技术 此技术使用最早也最为常用,即是对于地址在白名单的服务器的邮件全部接收,对地址在黑名单的服务器的邮件全部拒收,国际和国内的一些反垃圾邮件组织会实时更新和提供一种实时的黑名单(Real Time Black List)的邮件服务器IP数据库,简称RBL,任何邮件服务器都可以订阅RBL以达到过滤垃圾邮件的目的[1]。 但这种方法缺点很也很明显:处理陌生邮件无能为力;需要不断更新和维护;效率不高容易误判。 2.2 基于加密信息的过滤技术 加密信息过滤技术主要是采用类似于公钥密码的一类方法,主要目的是对邮件发送者进行验证,防止目前泛滥的伪造域名和木马发送,域名密钥体制利用公钥技术和DNS构建一个域名层次的电子邮件来源和内容认证框架,简单的讲,即为发送邮件时候同时产生密钥和公钥,密钥跟随邮件,收件服务器从密钥中获取签名和域名,然后通过网络公钥验证通过后完成邮件的发送。 此种方法的缺点也显而易见,即使得邮件的网络传递负担加重,同时缺乏大规模的认证标准,使得目前阶段难以大范围的推广。 2.3 基于规则和统计的过滤技术 规则是指预设垃圾邮件关键词进行的邮件过滤,而其最大的缺点是实效性较差,不易维护,垃圾邮件往往通过关键词中增加特殊符号来躲避规则,同时也会使过滤缺乏弹性。 而贝叶斯过滤算法是一种典型的基于统计的垃圾邮件过滤技术,这种理论的基础是通过对大量垃圾邮件的常见关键词进行分析后得出其分布的统计模型,并由此推算目标是垃圾邮

数据挖掘(8):朴素贝叶斯分类算法原理与实践

数据挖掘(8):朴素贝叶斯分类算法原理与实践 隔了很久没有写数据挖掘系列的文章了,今天介绍一下朴素贝叶斯分类算法,讲一下基本原理,再以文本分类实践。 一个简单的例子 朴素贝叶斯算法是一个典型的统计学习方法,主要理论基础就是一个贝叶斯公式,贝叶斯公式的基本定义如下: 这个公式虽然看上去简单,但它却能总结历史,预知未来。公式的右边是总结历史,公式的左边是预知未来,如果把Y看出类别,X看出特征,P(Yk|X)就是在已知特征X的情况下求Yk类别的概率,而对P(Yk|X)的计算又全部转化到类别Yk的特征分布上来。举个例子,大学的时候,某男生经常去图书室晚自习,发现他喜欢的那个女生也常去那个自习室,心中窃喜,于是每天买点好吃点在那个自习室蹲点等她来,可是人家女生不一定每天都来,眼看天气渐渐炎热,图书馆又不开空调,如果那个女生没有去自修室,该男生也就不去,每次男生鼓足勇气说:“嘿,你明天还来不?”,“啊,不知道,看情况”。然后该男生每天就把她去自习室与否以及一些其他情况做一下记录,用Y表示该女生是否去自习室,即Y={去,不去},X是跟去自修室有关联的一系列条件,比如当天上了哪门主课,蹲点统计了一段时间后,该男生打算今天不再蹲点,而是先预测一下她会不会去,现在已经知道了今天上了常微分方法这么主课,于是计算P(Y=去|常微分方

程)与P(Y=不去|常微分方程),看哪个概率大,如果P(Y=去|常微分方程) >P(Y=不去|常微分方程),那这个男生不管多热都屁颠屁颠去自习室了,否则不就去自习室受罪了。P(Y=去|常微分方程)的计算可以转为计算以前她去的情况下,那天主课是常微分的概率P(常微分方程|Y=去),注意公式右边的分母对每个类别(去/不去)都是一样的,所以计算的时候忽略掉分母,这样虽然得到的概率值已经不再是0~1之间,但是其大小还是能选择类别。 后来他发现还有一些其他条件可以挖,比如当天星期几、当天的天气,以及上一次与她在自修室的气氛,统计了一段时间后,该男子一计算,发现不好算了,因为总结历史的公式: 这里n=3,x(1)表示主课,x(2)表示天气,x(3)表示星期几,x(4)表示气氛,Y仍然是{去,不去},现在主课有8门,天气有晴、雨、阴三种、气氛有A+,A,B+,B,C五种,那么总共需要估计的参数有8*3*7*5*2=1680个,每天只能收集到一条数据,那么等凑齐1 680条数据大学都毕业了,男生打呼不妙,于是做了一个独立性假设,假设这些影响她去自习室的原因是独立互不相关的,于是 有了这个独立假设后,需要估计的参数就变为,(8+3+7+5)*2 = 46个了,而且每天收集的一条数据,可以提供4个参数,这样该男生就预测越来越准了。

朴素贝叶斯分类的改进

朴素贝叶斯分类器的改进 摘要:朴素贝叶斯分类器是一种简单而高效的分类器,但是它的属性独立性假设使其无法表示现实世界属性之间的依赖关系,以及它的被动学习策略,影响了它的分类性能。本文从不同的角度出发,讨论并分析了三种改进朴素贝叶斯分类性能的方法。为进一步的研究打下坚实的基础。 关键词:朴素贝叶斯;主动学习;贝叶斯网络分类器;训练样本;树增广朴素贝叶斯 1 问题描述 随着计算机与信息技术的发展,人类获取的知识和能够及时处理的数据之间的差距在加大,从而导致了一个尴尬的境地,即“丰富的数据”和“贫乏的知识”并存。在数据挖掘技术中,分类技术能对大量的数据进行分析、学习,并建立相应问题领域中的分类模型。分类技术解决问题的关键是构造分类器。分类器是一个能自动将未知文档标定为某类的函数。通过训练集训练以后,能将待分类的文档分到预先定义的目录中。常用的分类器的构造方法有决策树、朴素贝叶斯、支持向量机、k近邻、神经网络等多种分类法,在各种分类法中基于概率的贝叶斯分类法比较简单,在分类技术中得到了广泛的应用。在众多的分类器的构造方法与理论中,朴素贝叶斯分类器(Naive Bayesian Classifiers)[1]由于计算高效、精确度高。并具有坚实的理论基础而得到了广泛的应用。文献朴素贝叶斯的原理、研究成果进行了具体的阐述。文章首先介绍了朴素贝叶斯分类器,在此基础上分析所存在的问题。并从三个不同的角度对朴素贝叶斯加以改进。 2 研究现状 朴素贝叶斯分类器(Na?ve Bayesian Classifier)是一种基于Bayes理论的简单分类方法,它在很多领域都表现出优秀的性能[1][2]。朴素贝叶斯分类器的“朴素”指的是它的条件独立性假设,虽然在某些不满足独立性假设的情况下其仍然可能获得较好的结果[3],但是大量研究表明此时可以通过各种方法来提高朴素贝叶斯分类器的性能。改进朴素贝叶斯分类器的方式主要有两种:一种是放弃条件独立性假设,在NBC的基础上增加属性间可能存在的依赖关系;另一种是重新构建样本属性集,以新的属性组(不包括类别属性)代替原来的属性组,期望在新的属性间存在较好的条件独立关系。 目前对于第一种改进方法研究得较多[2][4][5]。这些算法一般都是在分类精度和算法复杂度之间进行折衷考虑,限制在一定的范围内而不是在所有属性构成的完全网中搜索条件依赖关系。虽然如

贝叶斯公式在处理垃圾邮件中的应用

贝叶斯公式在处理垃圾邮件中的应用

基于贝叶斯技术的垃圾邮件处理研究 易均,李晖,王歆 (江西省科学院,江西南昌 330029) 摘要:本论文首先对垃圾邮件进行了简要的描述,并叙述了反垃圾邮件技术的研究现状,介绍贝叶斯过滤技术的工作原理及技术原理,最后给出贝叶斯技术研究的发展方向。 关键词:贝叶斯技术;反垃圾邮件 1、前言 随着因特网应用的快速发展,电子邮件也逐步成为因特网的最大一个应用之一,给我们生活带来很大的方便,而且电子邮件的发展也代表了我国进入信息业高速发展的阶段。但是也同时产生了一个新的问题,即大量的垃圾邮件出现。如何把电子邮件中的垃圾邮件过滤掉,已经成为电子邮件用户此刻最关心的一大问题,这也就是所谓的“反垃圾邮件”问题。 反垃圾邮件是具有相当难度的事情,垃圾邮件每天都在增加和变化。据Radicati估计2007年,垃圾邮件的比例将达到70%。现在的垃圾邮件发送者变得更加狡猾,采用静态反垃圾邮件技术很难防范。垃圾邮件发送者只要简单的研究一下现在采用了哪些静态反垃圾邮件,然后相应的改变一下邮件的内容或发送方式,就可以逃避检查了,因此,必须采用一种新的技术来克服静态反垃圾邮件的弱点,这种技术应该对垃圾邮件发送者的各种伎俩了如指掌,还要能适应不同用户对于反垃圾邮件的个性化需求。这种技术就是贝叶斯过滤技术。 2、垃圾邮件概述以及反垃圾邮件技术的研究现状 2.1、垃圾邮件的概述 我国至今对垃圾邮件的定义有很多种,包括如下几种:①收件人没有提出要求或者同意接收的广告、及其各种形式的宣传品等宣传性的电子邮件;②在邮件中,隐藏了发件人身份、地址、标题等信息的电子邮件:③含有虚假的发件人的身份、地址等信息源的电子邮件;④收件人无法拒收或者无法删除的电子邮件。目前,垃圾邮件的定义被扩大了,除了上述对垃圾邮件定义外,病

基于朴素贝叶斯分类器的文本分类算法

基于朴素贝叶斯分类器的文本分类算法(上) 2010-02-21 10:23:43| 分类:Lucene | 标签:|字号大中小订阅 转载请保留作者信息: 作者:phinecos(洞庭散人) Blog:https://www.doczj.com/doc/463647748.html,/ Email:phinecos@https://www.doczj.com/doc/463647748.html, Preface 本文缘起于最近在读的一本书-- Tom M.Mitchell的《机器学习》,书中第6章详细讲解了贝叶斯学习的理论知识,为了将其应用到实际中来,参考了网上许多资料,从而得此文。文章将分为两个部分,第一部分将介绍贝叶斯学习的相关理论(如果你对理论不感兴趣,请直接跳至第二部分<<基于朴素贝叶斯分类器的文本分类算法(下)>>)。第二部分讲如何将贝叶斯分类器应用到中文文本分类,随文附上示例代码。 Introduction 我们在《概率论和数理统计》这门课的第一章都学过贝叶斯公式和全概率公式,先来简单复习下: 条件概率 定义设A, B是两个事件,且P(A)>0 称P(B∣A)=P(AB)/P(A)为在条件A下发生的条件事件B发生的条件概率。 乘法公式设P(A)>0 则有P(AB)=P(B∣A)P(A) 全概率公式和贝叶斯公式 定义设S为试验E的样本空间,B1, B2, …Bn为E的一组事件,若BiBj=Ф, i≠j, i, j=1, 2, …,n; B1∪B2∪…∪Bn=S则称B1, B2, …, Bn为样本空间的一个划分。 定理设试验E的样本空间为,A为E的事件,B1, B2, …,Bn为的一个划分,且P(Bi)>0 (i=1, 2, …n),则P(A)=P(A∣B1)P(B1)+P(A∣B2)+ …+P(A∣Bn)P(Bn)称为全概率公式。 定理设试验俄E的样本空间为S,A为E的事件,B1, B2, …,Bn为的一个划分,则 P(Bi∣A)=P(A∣Bi)P(Bi)/∑P(A|Bj)P(Bj)=P(B|Ai)P(Ai)/P(A) 称为贝叶斯公式。说明:i,j均为下标,求和均是1到n 下面我再举个简单的例子来说明下。 示例1 考虑一个医疗诊断问题,有两种可能的假设:(1)病人有癌症。(2)病人无癌症。样本数据来自某化验测试,它也有两种可能的结果:阳性和阴性。假设我们已经有先验知识:在所有人口中只有0.008的人患病。此外,化验测试对有病的患者有98%的可能返回阳性结果,对无病患者有97%的可能返回阴性结果。 上面的数据可以用以下概率式子表示:

贝叶斯公式的应用

贝叶斯公式的应用 一、综述 在日常生活中,我们会遇到许多由因求果的问题,也会遇到许多由果溯因的问题。比如某种传染疾病已经出现.寻找传染源;机械发生了故障,寻找故障源就是典型的南果溯因问题等。在一定条件下,这类由果溯因问题可通过贝叶斯公式来求解。以下从几个的例子来说明贝叶斯公式的应用。 文【1】主要应用贝叶斯公式的简单情形,从“疾病诊断”,“说谎了吗”,“企业资质评判”,“诉讼”四个方面讨论其具体应用。文【2】用市场预测的实例,介绍了贝叶斯公式在市场预测中的应用。贝叶斯市场预测能对信息的价值是否需要采集新的信息做出科学的判断。文【3】、文【4】介绍贝叶斯过滤技术的工作原理及技术原理,讨论了邮件过滤模块,通过分析研究该模块中垃圾邮件关键词的统计概率分布,提出了基于贝叶斯概率模型的邮件过滤算法,并对该算法的合理性和复杂度进行了分析。可以根据垃圾邮件内容的特征,建立贝叶斯概率模型,计算出一封邮件是垃圾邮件的概率,从而判断其是否为垃圾邮件。文【5】基于贝叶斯公式中概率统计的重要性与在日常生活中应用的广泛性,概述了贝叶斯统计的基本思想及其与其他统计学派的争论,并对作为贝叶斯统计基石的贝叶斯公式进行了归纳。 二、内容 1.疾病诊断. 资料显示, 某项艾滋病血液检测的灵敏度( 即真有病的人检查为阳性) 为95%, 而对没有得病的人,种检测的准确率( 即没有病的人检查为阴性) 为99%. 美国是一个艾滋病比较流行的国家, 估计大约有千分之一的人患有这种病. 为了能有效地控制、减缓艾滋病的传播, 几年前有人建议对申请新婚登记的新婚夫妇进行这种血液检查. 该计划提出后, 征询专家意见, 遭到专家的强烈反对, 计划没有被通过. 我们用贝叶斯公式分析专家为何反对通过这项计划. 设A= {检查为阳性}, B = { 一个人患有艾滋病}。据文中叙述可知: ()0.001,(|)0.95,()10.0010.999,(|)10.990.01 P B P A B P B P A B ===-==-= 由公式:()()(|)()((|) P A P B P A B P B P A B =+ 得:()0.001*0.950.999*0.010.01094 P A=+= 由公式: ()(|) (|) () P A P A B P A B P A =得: 0.001*0.95 (|)0.087 0.01094 P B A=≈ 也就是说, 被检测患有艾滋病而此人确实患有该病的概率大约为0. 087. 这个结果使人难以接受, 好像与实际不符. 从资料显示来看, 这种检测的精确性似乎很高. 因此, 一般人可能猜测, 如果一个人检测为阳性, 他患有艾滋病的可

机器学习之朴素贝叶斯分类区分普通邮件与垃圾邮件

机器学习之朴素贝叶斯分类区分普通邮 件与垃圾邮件 实验目的:区分普通邮件与垃圾邮件 实验背景:电子邮件是当今社会上使用十分广泛的一种交流与信息传递方式。而在电子邮件的使用过程中,我们难免会遇到广告邮件、骚扰邮件、欺诈邮件等垃圾邮件,那么分辨这些垃圾邮件并自动将其归类至垃圾邮件存放处会大大方便用户使用电子邮件的交流。因此,垃圾邮件分类的算法便应运而生,并在网络生活中被大量应用。我们在实践中,尝试使用贝叶斯分类器来区分垃圾邮件。 知识背景: 朴素贝叶斯分类 朴素贝叶斯分类是一种十分简单的分类算法,叫它朴素贝叶斯分类是因为这种方法的思想真的很朴素,朴素贝叶斯的思想基础是这样的:对于给出的待分类项,求解在此项出现的条件下各个类别出现的概率,哪个最大,就认为此待分类项属于哪个类别。 朴素贝叶斯分类的正式定义如下: 1、设为一个待分类项,而每个a为x的一个特征属性。 2、有类别集合。 3、计算。 4、如果,则。 那么现在的关键就是如何计算第3步中的各个条件概率。我们可以这么做: 1、找到一个已知分类的待分类项集合,这个集合叫做训练样本集。 2、统计得到在各类别下各个特征属性的条件概率估计。即 。 3、如果各个特征属性是条件独立的,则根据贝叶斯定理有如下推导:

因为分母对于所有类别为常数,因为我们只要将分子最大化皆可。又因为各特征属性是条件独立的,所以有: 实验过程: 在GDA中,我们要求特征向量x是连续实数向量。如果x是离散值的话,可以考虑采用朴素贝叶斯的分类方法。 假如要分类垃圾邮件和正常邮件。分类邮件是文本分类的一种应用。 假设采用最简单的特征描述方法,首先找一部英语词典,将里面的单词全部列出来。然后将每封邮件表示成一个向量,向量中每一维都是字典中的一个词的0/1值,1表示该词在邮件中出现,0表示未出现。 比如一封邮件中出现了“a”和“buy”,没有出现“aardvark”、“aardwolf”和“zygmurgy”,那么可以形式化表示为: 假设字典中总共有5000个词,那么x是5000维的。这时候如果要建立多项式分布模型(二项分布的扩展)。 对应到上面的问题上来,把每封邮件当做一次随机试验,那么结果的可能性有种。意味着pi有个,参数太多,不可能用来建模。

关于贝叶斯公式在垃圾邮件过滤中的应用

关于贝叶斯公式在垃圾邮件过滤中的应用一、贝叶斯公式的一些基本概念 P(t x |A)= P(A|t x )*P(t x ) P(A|t i )*P(t i ) i=1 n ? 在这其中,P(A|t)为后验概率:即知道了结果后,得到的反向概率 P(t|A)为先验概率:事件发生前基于某些因素的预判概率 在贝叶斯公式出现之前,我们没有办法在不知道现实具体条件的情况下直接得 到某个事件的概率。 举一个这两者的直观例子,比如说输入法在判断人输入词语方面:t1为事件人输入anger,A为事件人输入ang。因为程序无法在输入之前判定人到底要输入哪个词,先验概率无法直接求得,需要使用后验概率。 贝叶斯公式将先验概率与后验概率建立了联系,当我们得到某个事件大量的结果后,可以通过结果与原因的关系求得后验概率,从而求得先验概率。 还是输入法的例子: 设t1为人输入anger,t2为人输入angle(姑且先把范围局限在这里),A为人输入ang。 我们可以通过分析大量文章得到P(t1)和P(t2),即词频。 而P(A|t1)和P(A|t2)分别是,输入了t1/t2的情况下,想要输入A的概率。这个概率可以认为是相似性,通过分析”ang”与”angry”、”angle”在键盘上的“编辑距离”确定(因为只有两个词,所以很容易知道angle比angry更难打出,因此离ang的距离更远,这个概率更低。这个概率通过比较词库中的各个单词来得到,具体的实施方法比较复杂,见链接1) 因为所有P(ti)∝P(A|ti)*P(ti),所以我们只要考虑词频和相似性的乘积,就可以得到输入纠错的词了。 这个例子帮我建立了关于贝叶斯公式最基本而直观的概念,即先验概率和后验概率两个难以分别的概念,非常有意思。 二、贝叶斯概率与贝叶斯主义 一个很令我惊讶的事情是,主观贝叶斯概率观将概率看做了个人主观的事件,也就是说,概率只是一个人对事件发生概率的估计,是依托于主观观察的。因此某件事情的概率并不是一成不变,而是随着事件的进展,根据新的信息进行不断地修正。而修正所用到的正是我们一直使用的,平淡无奇的贝叶斯公式。 再举一个例子体现贝叶斯概率观。比如说抛一枚硬币抛了10下,其中9下朝上,

相关主题
文本预览
相关文档 最新文档