贝叶斯及贝叶斯网络

目录

 

1 贝叶斯理论

1.1 简介

1.2 相关概念

2 朴素贝叶斯

2.1 思想

2.2 应用举例

2.3 使用形式与场景

2.4 难点

3 贝叶斯网络

9参考资料


1 贝叶斯理论

1.1 简介

从一阵子复习了统计与概率论,应该是属于频率派。

频率派把需要推断的参数θ看做是固定的未知常数,即概率虽然是未知的,但最起码是确定的一个值,同时,样本X 是随机的,所以频率派重点研究样本空间,大部分的概率计算都是针对样本X 的分布;

而贝叶斯派的观点则截然相反,他们认为参数是随机变量,而样本X 是固定的,由于样本是固定的,所以他们重点研究的是参数的分布。

二者本质上并不冲突,只是在对"随机"的认识上角度不同。贝叶斯认为随机是由于人的认知不够导致的,对于足够信息的人是已知的,但是对于缺少相关信息的人是未知的。

1.2 相关概念

先验概率:根据历史和经验的出来的概率,下雨的概率

后验概率:在得到证据之后,更新推断之后的概率。 比如天上有乌云,下雨的概率

条件概率,在发生某个条件之后的某个事件发生的概率,即用某个条件去调整先验概率,得到的就是后验概率。

全概率公式:

设事件是一个完备事件组,则对于任意一个事件C,若有如下公式成立:

条件概率公式

P(A|B) = P(AB)/P(B) = [P(B|A)|P(A)]/P(B)

2 朴素贝叶斯

2.1 思想

认为特征之间的关系是独立的

贝叶斯与监督式学习比如

待分类项特征x =(a1,a2,a3), 类别y1,y2。

分类的过程其实就是分别求在a1,a2,a3条件下y1发生的概率和在在a1,a2,a3条件下y2发生的概率。概率最大这就是我们需要的确定的分类。

2.2 应用举例

1 Google搜索的备选词。 在输入词的条件下,求备选词的概率,概率最大的就是我们需要的

2 医疗诊断, 在给定的若干项特征下,求相关可能的疾病的概率,概率最大的就是最可能的疾病。

3 垃圾邮件,账号真实性检测

2.3 使用形式与场景

相对于决策树,KNN之类的算法,朴素贝叶斯需要关注的参数是比较少的,这样也比较容易掌握。在scikit-learn中,一共有3个朴素贝叶斯的分类算法类。

分别是GaussianNB,MultinomialNB和BernoulliNB。其中GaussianNB就是先验为高斯分布的朴素贝叶斯,MultinomialNB就是先验为多项式分布的朴素贝叶斯,而BernoulliNB就是先验为伯努利分布的朴素贝叶斯。

import numpy as np
X = np.array([[-1, -1], [-2, -1], [-3, -2], [1, 1], [2, 1], [3, 2]])
Y = np.array([1, 1, 1, 2, 2, 2])
from sklearn.naive_bayes import GaussianNB
clf = GaussianNB()
#拟合数据
clf.fit(X, Y)
print "==Predict result by predict=="
print(clf.predict([[-0.8, -1]]))
print "==Predict result by predict_proba=="
print(clf.predict_proba([[-0.8, -1]]))
print "==Predict result by predict_log_proba=="
print(clf.predict_log_proba([[-0.8, -1]]))

 

2.4 难点

在实际问题中,先验概率的获取其实并不容易。

3 贝叶斯网络

如果特征之间的关系是不是独立的,就需要一种描述特征之间关系的有向无环图。

 

9参考资料

https://www.cnblogs.com/pinard/p/6074222.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章