分类算法之朴素贝叶斯——简单天气预报算法

这两天学习了一个相对比较简单但是十分实用的分类算法——贝叶斯分类算法,与我做项目使用的svm算法相比确实有很多精妙之处,。好比撒尿牛丸——好吃又好玩,而贝叶斯分类器则是简单又强大。本文结合简单天气预报进行讲解。

贝叶斯定理:

贝叶斯定理是概率论里面一个计算条件概率的法器!为什么是法器,且看后文。先摆出计算公式:

也许乍一看这公式没什么,但是我们先将公式移项得:P(A|B)P(B)=P(AB),此时再将A与B互换一下,发现什么没有?一个伟大的公式来了:

P(A|B)P(B)=P(AB)=P(B|A)P(A)

=>

整个分类算法的核心思路就是根据这个公式!为什么?且往下看!

什么是分类:

比如,如果将天气分为简单的晴天和雨天,那么晴天和雨天各为一个分类。那么,如何进行天气预报 ? 很简单,利用已知的一些大气特性!为了简化问题,这里假设大气对天气预报有用的属性只有空气湿度、云层密度两个特征属性。那么 天气预测就是: 提供某一天的空气湿度和云层密度两个属性值,输出一个晴天或雨天的结果!

朴素贝叶斯根据上述问题简化进行简单天气预测:

对于之前的天气预测问题的简化看起来和之前的公式没什么联系,但是请大家细看:

如果用H表示湿度,并且湿度分为1、2、3级分别表示为h1、h2、h3; 而云层密度用G表示,也分为1、2、3级,分别用g1、g2、g3表示;另外,天气W表示,分为1、2两级,晴天和雨天分别表示为w1、w2 。

那么,通过以往的数据我们可以统计出现晴天或者雨天结果时(条件),h和g出现的概率,即:P(
H | W)、和 P( G | W ) ,其中H、G、W在之前提到的分级值范围内取值, 如果空气湿度H和云层密度G 相对独立,那么天气预报转换为求:

P=P(W |G,H )=P(W|G)xP(W|H)

利用之前的公式转化为:

P=[P(G|W)P(W)/P(G)
]X[P(H|W)P(W)/P(H)]

上式的P(G|W) 、P(H|W) 为之前统计出的概率,而P(W)为天气为晴天和雨天的概率,可以统计出晴天概率P(W1)和雨天概率P(W2),而P(G)、P(H)对每一个分类类别为常数,比如不管H是1、2、3哪一种,P(H)都是常数(想想为什么?)

到此,我们就可以进行预测了!

天晴的概率:

P1=P(w1|G,H)=[P(G|W1)P(W1)/P(G)]X[P(H|W1)P(W1)/P(H)]

雨天的概率:

P2=P(w2|G,H)=[P(G|W2)P(W2)/P(G)]X[P(H|W2)P(W2)/P(H)]

其中等式的右边各个式子均为已知项,例如某天的湿度为h1,云层密度为g1,则课分别带入上面的公式,然后比较P1和P2的大小!

这样,就可以简单地预测天气了!

总结:贝叶斯可根据样本数据的概率统计而进行分类概率预测,在很多问题上可用,比如判断微博用户是否为僵尸账号!具体就不说了。

通用的朴素贝叶斯分类的正式定义如下:

1、设为一个待分类项,而每个a为x的一个特征属性。

2、有类别集合

3、计算

通常将P最大的项,作为目标分类。

时间: 2024-08-29 19:52:59

分类算法之朴素贝叶斯——简单天气预报算法的相关文章

机器学习四 -- 基于概率论的分类方法:朴素贝叶斯

基于概率的分类方法:朴素贝叶斯 贝叶斯决策理论 朴素贝叶斯是贝叶斯决策理论的一部分,所以在讲解朴素贝叶斯之前我们先快速简单了解一下贝叶斯决策理论知识. 贝叶斯决策理论的核心思想:选择具有最高概率的决策.比如我们毕业选择就业方向,选择C++方向的概率为0.3,选择Java的概率为0.2,选择机器学习的概率为0.5.那么我们就把这样的一位毕业生就业方向归类为机器学习方向. 条件概率 什么是条件概率?事件A在另一个事件B已知发生条件下的发生概率,记为P(A|B),读作“在B条件下A的概率”. 例子1:

机器学习实战读书笔记(四)基于概率论的分类方法:朴素贝叶斯

4.1 基于贝叶斯决策理论的分类方法 朴素贝叶斯 优点:在数据较少的情况下仍然有效,可以处理多类别问题 缺点:对于输入数据的准备方式较为敏感 适用数据类型:标称型数据 贝叶斯决策理论的核心思想:选择具有最高概率的决策. 4.2 条件概率 4.3 使用条件概率来分类 4.4 使用朴素贝叶斯进行文档分类 朴素贝叶斯的一般过程: 1.收集数据 2.准备数据 3.分析数据 4.训练算法 5.测试算法 6.使用算法 朴素贝叶斯分类器中的另一个假设是,每个特征同等重要. 4.5 使用Python进行文本分类

初识分类算法(3)-----朴素贝叶斯算法

1. 例子引入:如上篇的play or not 例子. 未知分类的样本:D:<A=sunny, B=cool, C=high ,D=strong>,  是 or 否? 我们要判断该样本的分类,即比较该样本属于是的概率大还是否的概率大 P(是/否|A=sunny, B=cool, C=high ,D=strong) P(是|A=sunny, B=cool, C=high ,D=strong)=P(是,(A=sunny, B=cool, C=high ,D=strong))/P(A=sunny,

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

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

机器学习 基于概率论的分类方法:朴素贝叶斯

分类器可能产生错误分类,要求分类器给出一个最优的类别猜测结果并给出这个猜测的概率估计值. 朴素贝叶斯的特点: 优点:在数据较少的情况下依然有效,可以处理多类别问题: 缺点:对于输入数据的准备方式较为敏感: 适用数据类型:标称型数据 条件概率:在A条件下发生B结果的概率: P(B|A) = P(A&B)/P(A) 在A条件下发生B结果的概率等于A和B同时发生的概率除以A发生的概率 P(A&B) = P(A)*P(B|A) A和B同时发生的概率等于A发生的概率乘以A条件下B发生的概率 P(A&

机器学习算法:朴素贝叶斯

朴素贝叶斯(Naive Bayesian)算法的核心思想是:分别计算给定样本属于每个分类的概率,然后挑选概率最高的作为猜测结果. 假定样本有2个特征x和y,则其属于分类1的概率记作p(C1|x,y),它的值无法直接分析训练样本得出,需要利用公式间接求得. 其中p(Ci)表示训练样本中分类为Ci的概率,它等于Ci样本数除以样本总数. p(x,y)表示满足2个特征的样本概率,它等于第1特征等于x且第2特征等于y的样本数除以样本总数.可以发现p(x,y)与当前在计算哪个分类概率是无关的,因此实际计算中

基于朴素贝叶斯的定位算法

1 定位背景介绍 一说到定位大家都会想到gps,然而gps定位有首次定位缓慢(具体可以参考之前的博文<LBS定位技术>).室内不能使用.耗电等缺陷,这些缺陷大大限制了gps的使用.在大多数移动互联网应用例如google地图.百度地图等,往往基于wifi.基站来进行定位. 一般APP在请求定位的时候会上报探测到的wifi信号.基站信号.以wifi为例,手机会探测到周围各个wifi(mac地址)对应的信号强度(RSSI),即收集到信号向量(<WF1, RSSI1> <WF2, R

机器学习(基于概率论的分类方法:朴素贝叶斯)

概率论是许多机器学习算法的基础,因而本篇将会用到一些概率论知识,我们先统计在数据集中取某个特定值的次数,然后除以数据集的实例总数,就得到了取该值的概率. 优点:在数据较少的情况下仍然有效,可以处理多类别问题 缺点:对输入数据的准备方式比较敏感 适用于标称型数据 如果P1(X,Y)>P2(X,Y),那么属于类别1 如果P2(X,Y)>P1(X,Y),那么属于类别2 也就是说我们会选择高概率对应的类别.这就是贝叶斯决策理论的核心思想,即选择具有最高概率的决策 朴素贝叶斯的朴素就是特征之间相互独立

机器学习第5周--炼数成金-----线性分类器,Knn算法,朴素贝叶斯分类器,文本挖掘

分类:分类的意义 传统意义下的分类:生物物种预测:天气预报决策:yes or no分类的传统模型分类(判别分析)与聚类有什么差别?有监督学习,无监督学习,半监督学习 常见分类模型与算法 线性判别法距离判别法贝叶斯分类器决策树支持向量机(SVM)神经网络 文本挖掘典型场景 网页自动分类垃圾邮件判断评论自动分析通过用户访问内容判别用户喜好 网页自动分类 自动化门户系统(百度新闻,谷歌新闻等)搜索引擎根据用户标签类型推送不同类别的搜索结果 距离判别法 原理:计算待测点与各类的距离,取最短者为其所属分类