统计学习方法 -> 朴素贝叶斯算法

  需要知道的是在什么时候可以用朴素贝叶斯算法:需要保证特征条件独立。

  主要过程是学习输入和输出的联合概率分布。

  预测的时候,就可以根据输入获得对打后验概率对应的输出y。

  先验概率:已知输出,求输入。后验概率相反。

  简单来说朴素贝叶斯算法,就是在对样本进行学习之后,到了需要做决策的时候,给定x,给出最大概率的y。这个本质上就是一个典型的后验概率模型。不过在该模型的算法推到上,还用到了先验概率的计算。但注意:最终朴素贝叶斯就是一种后验概率模型求P(y|x)。

  后验概率模型有一个好处,相当于期望风险最小化。这个很好理解,我所取得的y是所有可能性之中概率最大的。那么我的选择承担的错误的风险自然就减小了。

  

参数估计

  到了参数选取的时候了。

  估计流程:

  1>  确定y的不同取值的概率

  2> 计算y不同取值的时候 x|y 的概率。

  3>  后验概率公式求解。 

Laplace 平滑:

  p(y) 和 p(x|y)在计算时候都应该进行Laplace平滑。因为朴素贝叶斯是独立同分布的。p(xj|y)某一项为0的时候。整个函数公式值全为0。这是极其有问题的。所以进行拉普拉斯平滑极为必要。

优点:

  对小规模的数据表现很好,适合多分类任务,适合增量式训练。

缺点:

  支持的特征数量相对较少。因为特征数量多了,就比较难保证所有特征是独立同分布的了。对输入数据特别敏感。如果输入数量小,那么很可能其中一个数据就能改变结果。

时间: 2024-12-23 18:44:58

统计学习方法 -> 朴素贝叶斯算法的相关文章

统计学习方法——朴素贝叶斯法、先验概率、后验概率

朴素贝叶斯法,就是使用贝叶斯公式的学习方法,朴素就是它假设输入变量(向量)的各个分量之间是相互独立的.所以对于分量之间不独立的分布,如果使用它学习和预测效果就不会很好. 简化策略 它是目标是通过训练数据集学习联合概率分布$P(X, Y)$用来预测.书上说,具体是先学习到先验概率分布以及条件概率分布,分别如下:(但我认为,直接学习$P(X, Y)$就行了,它要多此一举算出这两个再乘起来变成$P(X, Y)$,但其实计算量差不多,可能这样更好理解吧) $P(Y = c_k), k = 1, 2, 3

朴素贝叶斯算法 原理及推导

朴素贝叶斯算法主要用来解决分类问题,比如通常的二分类,多分类. 1.数学知识: 贝叶斯定理: 特征条件独立: 1.朴素贝叶斯 输入空间: 输出空间:y={C1,C2,…,CK}. 训练集:T={(x1,y1),(x2,y2),…,(xN,yN)}. 对于每个实例,其P(X,Y)独立同分布.在进行分类之前,需要先将计算先验概率和条件概率然后据此计算出后验概率. 1)先验概率分布: P(Y=Ck),k=1,2,..,K. 先验概率的极大似然估计: 2)条件概率分布: 设第j个特征可能取值的集合为:{

通俗易懂机器学习——朴素贝叶斯算法

本文将叙述朴素贝叶斯算法的来龙去脉,从数学推导到计算演练到编程实战 文章内容有借鉴网络资料.李航<统计学习方法>.吴军<数学之美>加以整理及补充 基础知识补充: 1.贝叶斯理论–吴军数学之美 http://mindhacks.cn/2008/09/21/the-magical-bayesian-method/ 2.条件概率 3.联合分布 朴素贝叶斯算法 朴素贝叶斯法是基于贝叶斯定理和特征条件独立假设的 分类方法.给定训练数据集,首先基于特征条件独立假设学习 输入/输出的联合概率分布

挖掘算法(1)朴素贝叶斯算法

原文:http://www.blogchong.com/post/NaiveBayes.html 1 文档说明 该文档为朴素贝叶斯算法的介绍和分析文档,并且结合应用实例进行了详细的讲解. 其实朴素贝叶斯的概念以及流程都被写烂了,之所以写这些是方便做个整理,记录备忘.而实例部分进行了详细的描述,网络上该实例比较简单,没有过程. 至于最后部分,则是对朴素贝叶斯的一个扩展了,当然只是简单的描述了一下过程,其中涉及到的中文分词以及TFIDF算法,有时间再具体补上. 2 算法介绍 2.1 贝叶斯定理 (1

朴素贝叶斯算法及实现

1.朴素贝叶斯算法介绍 一个待分类项x=(a,b,c...),判断x属于y1,y2,y3...类别中的哪一类. 贝叶斯公式: 算法定义如下: (1).设x={a1, a2, a3, ...}为一个待分类项,而a1, a2, a3...分别为x的特征 (2).有类别集合C={y1, y2,  y3,  ..} (3).计算p(y1|x), p(y2|x), p(y3|x), .... (4).如果p(y(k)|x)=max{p(y1|x), p(y2|x), p(y3|x), ....},则x属于

C#编程实现朴素贝叶斯算法下的情感分析

C#编程实现 这篇文章做了什么 朴素贝叶斯算法是机器学习中非常重要的分类算法,用途十分广泛,如垃圾邮件处理等.而情感分析(Sentiment Analysis)是自然语言处理(Natural Language Progressing)中的重要问题,用以对文本进行正负面的判断,以及情感度评分和意见挖掘.本文借助朴素贝叶斯算法,针对文本正负面进行判别,并且利用C#进行编程实现. 不先介绍点基础? 朴素贝叶斯,真的很朴素 朴素贝叶斯分类算法,是一种有监督学习算法,通过对训练集的学习,基于先验概率与贝叶

【数据挖掘】朴素贝叶斯算法计算ROC曲线的面积

题记:          近来关于数据挖掘学习过程中,学习到朴素贝叶斯运算ROC曲线.也是本节实验课题,roc曲线的计算原理以及如果统计TP.FP.TN.FN.TPR.FPR.ROC面积等等.往往运用ROC面积评估模型准确率,一般认为越接近0.5,模型准确率越低,最好状态接近1,完全正确的模型面积为1.下面进行展开介绍: ROC曲线的面积计算原理 一.朴素贝叶斯法的工作过程框架图 二.利用weka工具,找到训练的预处理数据 1.利用朴素贝叶斯算法对weather.nominal.arff文件进行

朴素贝叶斯算法原理及实现

朴素贝叶斯算法简单高效,在处理分类问题上,是应该首先考虑的方法之一. 1.准备知识 贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类. 这个定理解决了现实生活里经常遇到的问题:已知某条件概率,如何得到两个事件交换后的概率,也就是在已知P(A|B)的情况下如何求得P(B|A).这里先解释什么是条件概率: 表示事件B已经发生的前提下,事件A发生的概率,叫做事件B发生下事件A的条件概率.其基本求解公式为:. 下面不加证明地直接给出贝叶斯定理: 2.朴素贝叶斯分类 2.1

朴素贝叶斯算法(Naive Bayes)

朴素贝叶斯算法(Naive Bayes) 阅读目录 一.病人分类的例子 二.朴素贝叶斯分类器的公式 三.账号分类的例子 四.性别分类的例子 生活中很多场合需要用到分类,比如新闻分类.病人分类等等. 本文介绍朴素贝叶斯分类器(Naive Bayes classifier),它是一种简单有效的常用分类算法. 回到顶部 一.病人分类的例子 让我从一个例子开始讲起,你会看到贝叶斯分类器很好懂,一点都不难. 某个医院早上收了六个门诊病人,如下表. 症状 职业 疾病 打喷嚏 护士 感冒  打喷嚏 农夫 过敏