美文网首页数据算法
机器学习算法-贝叶斯算法

机器学习算法-贝叶斯算法

作者: 尧字节 | 来源:发表于2017-10-19 20:54 被阅读15次

作为初学者,本文很多都是是看过网上文章之后自己的理解,图片和内容借鉴很多网上知识,不能算是完全的原创,若对您造成了侵权,请联系我,我再修改。
我写的算法理解比较粗浅的,争取真正人人都可以看的懂的。
转自:http://www.ruanyifeng.com/blog/2013/12/naive_bayes_classifier.html
转自:http://www.cnblogs.com/leoo2sk/archive/2010/09/17/naive-bayesian-classifier.html

基本概念

概率(Probability):0-1之间的数字,表示事件发生的可能性。

几率(Odds):特定结果发生和不发生的比例,0到无穷大,比如今天下雨的概率为0.1 不下雨的概率为0.9 ,那么下雨的几率为:0.1/0.9 = 1/9。

条件概率:在特定条件下事件发生的概率。
如P(A|B)表示为在B事件发生的条件下A事件发生的概率

似然(Likelihood):两个相关条件概率比值,给定B情况下A发生的几率和A的整体几率之比。

韦恩图

图中整个长方形标示随机事件发生的一切结果,A圆圈标示A事件发生的概率,概率用P标示。

  • A事件与B事件同时发生的概率表示为P(A∩B),或简写为P(AB)即两个圆圈重叠的部分。
    A不发生的概率为1-P(A),写为P(~A),即矩形中除了圆圈A以外的其他部分。

  • A或者B至少有一个发生的概率表示为P(A∪B),即圆圈A与圆圈B共同覆盖的区域。

  • 在B事件发生的基础上发生A的概率表示为P(A|B),这便是我们前文所提到的条件概率,图形上它有AB重合的面积比上B的面积。

那么条件概率P(A|B) = P(AB)/P(B)

P(AB) = P(A|B)P(B) 条件概率 总的可能的 A和B相交的概率。
P(BA) = P(B|A)P(A) 把AB替换下,也好理解。
得到:
P(A|B)
P(B) = P(B|A)P(A)
然后 P(B|A) = P(A|B)
P(B)/P(A)
这就是贝叶斯公式,很简单吧。:)

贝叶斯公式可以做什么?

贝叶斯公式可以用在求事件发生的概率,也许你会问求概率有什么用那? 有用,那就是可以作为分类器使用。
举个例子某个有n项特征(Feature),分别为F1、F2、...、Fn。
现在有m个类别(Category),分别为C1、C2、...Cm。
贝叶斯分类器就是计算出概率最大的那个分类,也就是求:

P(C|F1F2...Fn) = P(F1F2...Fn|C)P(C)/P(F1F2..Fn)

由于P(F1F2..Fn)对于所有的类别都是相同的,可以省略,问题就变成了求:

P(F1F2...Fn|C)P(C)

的最大值,这概率的最大值即为得出的类别。朴素贝叶斯分类器则是更进一步,假设所有特征都彼此独立,因此

P(F1F2...Fn|C)P(C) = P(F1|C)P(F2|C)...P(Fn|C)P(C)

其实各个特征在现实中不一定是彼此独立的,所以其使用具有限制,但是它可以大大简化计算,而且有研究表明对分类的准确性影响不大。

阮一峰前辈的文章中的例子做说明,提供一组数据。

   症状  职业   疾病

打喷嚏 护士   感冒
打喷嚏 农夫   过敏
  头痛  建筑工人 脑震荡
    头痛  建筑工人 感冒
  打喷嚏 教师   感冒
   头痛  教师   脑震荡

现在又来了第七个病人,是打喷嚏的建筑工人,请问他患上感冒的概率有多大?
根据贝叶斯公式:

P(A|B) = P(B|A)P(A)/P(B)

可得

P(感冒|打喷嚏建筑工人) = P(打喷嚏建筑工人|感冒)* P(感冒)/P(打喷嚏*建筑工人)

继续推导:
P(感冒|打喷嚏*建筑工人) = P(打喷嚏|感冒)×P(建筑工人|感冒)×P(感冒)/P(打喷嚏)P(建筑工人)
= 0.66 ×0.33×0.5/0.5×0.33
= 0.66
这些数字是从上面表推出的,P(打喷嚏|感冒) = 2/3 3个感冒的人中有2个打喷嚏。

贝叶斯分类对连续值怎么做?

性别分类的例子,仍然从网上抄个例子。

男女数据统计资料

一个人身高6英尺、体重130磅,脚掌8英寸,问该人是男是女?

根据朴素贝叶斯分类器,计算下面:

P(身高|性别)×P(体重|性别)×P(脚掌|性别)×P(性别)
由于身高、体重、脚掌大小均是连续变量,不能采用离散变量的方法来计算概率。假设这些是正态分布,通过样本计算出均值和方差,也就得到正态分布的密度函数,从而计算出密度函数的值。

比如,男性的身高是均值5.855、方差0.035的正态分布。所以,男性的身高为6英尺的概率的相对值等于1.5789(大于1并没有关系,因为这里是密度函数的值,只用来反映各个值的相对可能性)。

image.png

相关文章

  • 机器学习 Day 12 | 朴素贝叶斯基础

    机器学习第十二天 基于概率论的分类方法:朴素贝叶斯 朴素贝叶斯 概述 贝叶斯分类是一类分类算法的总称,这类算法均...

  • 朴素贝叶斯

    概率论是许多机器学习算法的基础。贝叶斯算法是一类算法,这是一类以条件概率的计算为核心进行分类的算法,而朴素贝叶斯算...

  • 机器学习常用算法

    机器学习常用算法总结如下:决策树随机森林算法逻辑回归SVM朴素贝叶斯K最近邻算法K均值算法Adaboost 算法神...

  • 04 贝叶斯算法 - 贝叶斯网络

    01 贝叶斯算法 - 朴素贝叶斯02 贝叶斯算法 - 案例一 - 鸢尾花数据分类03 贝叶斯算法 - 案例二 - ...

  • 朴素贝叶斯

    学习机器学习最简单的算法可以说就是 朴素贝叶斯了,今天分享下自己的学习心得。 什么是贝叶斯,什么是朴素贝叶斯 贝叶...

  • 机器学习-5 朴素贝叶斯【附代码】

    返回主页 朴素贝叶斯算法(naive Bayes)是基于贝叶斯定理与特征条件独立假设的分类算法,在机器学习众多算法...

  • 机器学习算法-贝叶斯算法

    作为初学者,本文很多都是是看过网上文章之后自己的理解,图片和内容借鉴很多网上知识,不能算是完全的原创,若对您造成了...

  • 机器学习算法收藏

    LeftNotEasy - Wangda Tan//机器学习优秀博客(5.13)朴素贝叶斯分类算法原理与实践(20...

  • 数据挖掘领域十大经典算法之—朴素贝叶斯算法(附代码)

    NaïveBayes算法,又叫朴素贝叶斯算法,朴素:特征条件独立;贝叶斯:基于贝叶斯定理。属于监督学习的生成模型,...

  • 朴素贝叶斯算法介绍及优化

    朴素贝叶斯(Naive Bayes) 贝叶斯公式 朴素贝叶斯算法其实原理很简单,要理解朴素贝叶斯算法我们首先得知道...

网友评论

    本文标题:机器学习算法-贝叶斯算法

    本文链接:https://www.haomeiwen.com/subject/onlpuxtx.html