朴素贝叶斯算法的简单理解
来源:互联网 发布:淘宝退款发空包教程 编辑:程序博客网 时间:2024/06/06 02:30
贝叶斯算法常用于分类
已知类别集合y:(y1,y2,y3…yn)和(特征)项集和x(x1,x2,x3…xm),确定映射规则y =f(x)使xi都可以唯一映射到Y中。 其中Y叫做类别集合,其中每一个元素是一个类别,而X叫做项集合,其中每一个元素是一个待分类项,f叫做分类器。分类算法的任务就是构造分类器f。
贝叶斯公式: p(y|x) = p(x|y) * p(y) / p(x)
朴素贝叶斯:x子项发生的概率都是独立的:
p(y|x) = p(x|y)* p(y) / p(x) = { p(x1|y) p(x2|y) p(xn|y) p(y)} / { p(x1)p(x2)*p(xn) }
- 对贝叶斯公式的理解:
p(y|x)可以看做是根据x找到其对应的y,其在数学上的含义为x发生的前提下y发生的概率。
p(y|x) = p(x|y) * p(y) / p(x)这个公式的意义在于当我们正推的时候不好计算时可以采用逆推的方式,不是有句话叫做事后诸葛亮嘛,从p(y|x)即从结果看过程或者说换个角度有时候就更容易计算了。
那么这个公式是怎么来的呢?在概率上p(A|B) = p(AB) / p(B)。
p(AB)考虑的范围
p(A|B)考虑的范围
也就是说p(A|B)考虑的集合 = 全部集合*p(B),集合的大小和子集概率成反比。
这样理解:p(AB)是综合考虑了A、B同时发生的概率,但是p(A|B)是在默认了B是已经发生的情况,其范围更小,所以p(A|B)和p(AB)的差别就在于是否考虑B的概率p(B)。同理P(B|A) = P(AB) / p(A) –> p(AB) = p(B|A) * p(A)。
于是:p(B|A) = p(AB) / p(B) = p(B|A) * p(A) / p(B) 。
- 对朴素贝叶斯公式的理解
虽然p(y|x) = p(x|y) * p(y) / p(x),但是p(x|y)还是不好算啊,又不能真的根据以前的结果来计算,例如p(丑|嫁人),嫁给丑八怪以前不存在不代表以后不存在啊,所以还是得用数据说话。
朴素贝叶斯简化了计算:x子项x1,x2…xn相互独立时,
p(x|yi) = p(x1|yi) * p(x2|yi) * … p(xn|yi)。
为什么呢,前面说了p(x|yi)表示x在yi的前提下发生的概率,因此在yi下p(x) = p(x1)p(x2)….*P(xn)。把yi下补充完整公式就成了上面那个样子。
注意:具体x中未必包含全部子项,右边的式字也相对应。
参考资料:
http://www.cnblogs.com/leoo2sk/archive/2010/09/17/naive-bayesian-classifier.html
http://blog.csdn.net/amds123/article/details/70173402
- 朴素贝叶斯算法的简单理解
- 朴素贝叶斯算法理解
- 关于对朴素贝叶斯的算法理解
- 朴素贝叶斯的理解
- 简单易学的机器学习算法——朴素贝叶斯
- 简单易学的机器学习算法——朴素贝叶斯
- 朴素贝叶斯的理解实例
- 朴素贝叶斯的简单应用
- 关于NB算法的一些学习笔记——朴素贝叶斯算法理解
- Spring源码学习之简单朴素的理解spring
- 分类算法之朴素贝叶斯——简单天气预报算法
- EM算法理解——从朴素贝叶斯角度出发
- 朴素贝叶斯分类算法理解及文本分类器实现
- 趣味理解朴素贝叶斯
- 理解朴素贝叶斯
- 朴素贝叶斯分类理解
- 朴素贝叶斯分类器--一种简单有效的常用分类算法
- 简单的朴素贝叶斯模型练习
- python 描述符
- 如何撰写好文档?精益文档的六个实践
- I am a volunteer
- JQuery_事件
- 从应用角度看Android源码
- 朴素贝叶斯算法的简单理解
- linux常用命令
- POJ.3279 Fliptile (搜索+二进制枚举+开关问题)
- 第一天阅读源码
- 【HDU 1035】Robot Motion(DFS)
- SpringBoot11-springboot-springboot概述
- Centos 7.3搭建LNMP环境
- 7.28之每天一点思维
- 轻量级网络