ML—朴素贝叶斯

华电北风吹

日期:2015/12/12

朴素贝叶斯算法和高斯判别分析一样同属于生成模型。但朴素贝叶斯算法须要特征条件独立性如果,即样本各个特征之间相互独立。

一、朴素贝叶斯模型

朴素贝叶斯算法通过训练数据集学习联合概率分布p(x,y),其中x=(x1,x2,...,xn)∈Rn,y∈R。详细的对于K分类问题就是须要学习一个类别的先验概率分布p(y=ck),k=1,2,...,K和每一个类别下的条件概率分布(如式1-1)

p(x|y)=p(x1,x2,...,xn|y)(1-1)

因为朴素贝叶斯算法没有如果特征的分布,因此须要将每一个特征量化为离散型变量,然后学习各个特征水平下的条件概率。

如果各个特征xi被分别量化为Si个水平,那么共同拥有K+K∏ni=1Si个须要学习的參数。

可是,为了使朴素贝叶斯算法变得简单点—主要是降低參数个数,就强加了一个条件概率分布的独立性如果(详细如式1-2)

p(x|y)=p(x1,x2,...,xn|y)=∏ni=1P(xi|y)(1-2)

这样须要学习的參数个数就变为K+K∑ni=1Si个,大大的简化了模型。

二、朴素贝叶斯參数预计

在条件独立性如果下,贝叶斯模型的參数学习就简化为类别先验概率p(y=ck)和条件概率p(xi|y)的学习。

1、极大似然预计

对于训练数据集(x(i),y(i)),x(i)∈Rn,y(i)∈R,似然函数例如以下,

L(?y,?x|y)=∏mi=1p(x(i),y(i))=∏mi=1p(y(i))∏nj=1p(x(i)j|y(i))(2-1)

结合∑y?y=1以及∑Sip(xi|y)=1,能够easy得到下式(简单的求偏导就可以,两式均是):

?y=k=∑mi=11{y(i)=k}m(2-2)

?xi=j|y=k=∑mi=11{y(i)=k?xi=j}∑mi=11{y(i)=k}(2-3)

2、古德-图灵预计

主要用于解决统计样本不足的概率预计问题,主要思想是在统计中相信可靠的统计数据,而对不可信的统计数据打折扣的一种概率预计方法。同一时候将折扣出来的那一小部分概率给予为看见的事件。

3、贝叶斯预计(拉普拉斯光滑)

在公式2-2和2-3中。会出现分子分母同为0的情况。解决这样的情况的方案例如以下:

?y=k=∑mi=11{y(i)=k}+λm+Kλ(2-4)

?xi=j|y=k=∑mi=11{y(i)=k?xi=j}+λ∑mi=11{y(i)=k}+Sjλ(2-5)

当中λ≥0.一般取λ=1。

三、朴素贝叶斯决策方法—最大后验概率

对于測试数据x∈Rn,朴素贝叶斯模型採用贝叶斯规则决策。详细表述例如以下:

p(y|x)=argmaxkp(y=k)p(x|y=k)

採用后验概率最大的类别作为模型输出类别。

如今细致想想感觉朴素贝叶斯跟k-means逻辑上的思路还是比較接近的。

时间: 2024-10-10 17:55:14

ML—朴素贝叶斯的相关文章

朴素贝叶斯算法的Python实现

注意:1.代码中的注释请不要放在源程序中运行,会报错. 2.代码中的数据集来源于http://archive.ics.uci.edu/ml/datasets/Car+Evaluation 3.对于朴素贝叶斯的原理,可以查看我的前面的博客 # Author :Wenxiang Cui # Date :2015/9/11 # Function: A classifier which using naive Bayesian algorithm  import math class Bayesian:

数据挖掘|朴素贝叶斯算法

作者:张一 链接:https://zhuanlan.zhihu.com/p/21571692 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 因为后期的项目将涉及到各种各样的价格数据处理问题,所以我们现在开始学习一些简单的数据清洗与算法的知识.关于算法,以前听起来觉得好高大上,现在开始学,觉得书上的描述并不是很通俗易懂,所以用自己的语言来简要写一下这些算法~ 注:非商业转载注明作者即可,商业转载请联系作者授权并支付稿费.本人已授权"维权骑士"网站(ht

朴素贝叶斯算法(Naive Bayesian)

1.介绍 朴素贝叶斯方法,朴素指特征条件独立,贝叶斯指贝叶斯定理.算法可用来做分类,既可以是判别模型,也可以是生成模型.训练的时候,学习输入输出的联合概率分布,分类的时候,利用贝叶斯定理计算后验概率最大的输出.一句话总结:根据先验概率和条件概率分布,得到联合概率分布.如下所示:        2.模型讲解 条件概率分布的参数数量是指数级的,也就是X和Y的组合很多,造成维数灾难,导致实际无法运算.此处,朴素贝叶斯法对它做了条件独立性的假设: 也就是各个维度的特征在类确定的情况下都是独立分布的.这一

朴素贝叶斯之MapReduce版

1,统计词出现的次数 1/计算类别的先验概率 *输入格式:类别+文档id+文档词(切分成A,b,c) *输出格式:类别+文档出现次数+文档出现的词的总数 2/计算每个词的条件概率 *输入格式:类别+文档id+文档词(切分成A,b,c) *输出格式:类别+词+词的总数 3/假设二分类问题-计算概率值 * 1类别+文档出现次数+文档出现的词的总数 * 2类别+词+词的总数 * 3类别+词+log(词的总数/文档出现的词的总数),类别-log(文档出现次数/sum(文档出现次数)) * 输入格式:类别

基于朴素贝叶斯的内容推荐算法

论文出处: http://www.cs.utexas.edu/~ml/papers/libra-sigir-wkshp-99.pdf 引言 这篇文章里面将会详细介绍基于多项式贝叶斯的内容推荐算法的符号以及术语,公式推导以及核心思想,学习如何从文本分类的角度来实现物品推荐.详细了解算法过程后,你应该可以利用里面的公式来计算出某个用户对于单词级别的喜好强度列表(profile),根据这个强度大小来对其他物品(需先用该强度来对该物品做加权算出该物品的喜好强度)做一个推荐的排序,从而得到用户可能最喜欢的

机器学习之实战朴素贝叶斯算法

贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类,而朴素贝叶斯分类可谓是里面最简单.入门的一种. 首先关于贝叶斯定理,感觉简单而伟大,前些天一直在看吴军的数学之美(没看过的极力推荐)系列文章,看到自然语言处理从规则模型到统计模型转变的时候,语言的识别准确率上升好几个等级,以至于今天的语言识别到达很强大的地步,同时对于搜索引擎,网页搜索的准确率,也上升好多.这其中的最最重要的就是使用了贝叶斯准则,运用一种统计学的概念,将识别搜索的结果可能性最大化.由此我联想到当今的

基于概率论的分类方法:朴素贝叶斯算法实践学习

      关于本文说明,本人原博客地址位于http://blog.csdn.net/qq_37608890,本文来自笔者于2017年12月12日 13:03:46所撰写内容(http://blog.csdn.net/qq_37608890/article/details/78738552).             本文根据最近学习机器学习书籍 网络文章的情况,特将一些学习思路做了归纳整理,详情如下.如有不当之处,请各位大拿多多指点,在此谢过.          通过前两篇文章,我们对于k-近

贝叶斯、朴素贝叶斯及调用spark官网 mllib NavieBayes示例

贝叶斯法则 机器学习的任务:在给定训练数据D时,确定假设空间H中的最佳假设. 最佳假设:一种方法是把它定义为在给定数据D以及H中不同假设的先验概率的有关知识下的最可能假设 贝叶斯理论提供了一种计算假设概率的方法,基于假设的先验概率.给定假设下观察到不同数据的概率以及观察到的数据本身 先验概率和后验概率 用P(A)表示在没有训练数据前假设A拥有的初始概率.P(A)被称为A的先验概率. 先验概率反映了关于A是一正确假设的机会的背景知识 如果没有这一先验知识,可以简单地将每一候选假设赋予相同的先验概率

《机器学习实战》笔记——朴素贝叶斯

运用贝叶斯公式(朴素贝叶斯假设每个特征每个特征都是独立的)可以解决的问题有,已知某些特征,用来判断某情况发生的可能性大小,设置可能性最大的情况作为预测值. 是一种监督算法. 广泛应用于垃圾邮件检测等等. 1 # _*_coding:utf-8_*_ 2 from numpy import * 3 4 # 4-1 词表到向量的转换函数(实验样本) 5 def loadDataSet(): 6 postingList = [['my', 'dog', 'has', 'flea', 'problems