7 Bayes Network(贝叶斯网络)
本文Github仓库已经同步文章与代码https://github.com/Gary-code/Machine-Learning-Park/tree/main/Part1%20Machine%20Learning%20Basics
代码说明:
文件名 | 说明 |
---|---|
bayes_network_practice.ipynb | 贝叶斯网络处理新闻分类 |
7.1 概率图模型
概率图模型是用图来表示变量概率依赖关系的理论,结合概率论与图论的知识,利用图来表示与模型有关的变量的联合概率分布。
概率图中的节点分为隐含节点和观测节点,边分为有向边和无向边。从概率论的角度,节点对应于随机变量,边对应于随机变量的依赖或相关关系,其中有向边表示单向的依赖,无向边表示相互依赖关系。
概率图模型分为**贝叶斯网络(Bayesian Network)和马尔可夫网络(Markov Network)**两大类。贝叶斯网络可以用一个有向图结构表示,马尔可夫网络可以表 示成一个无向图的网络结构。
更加详细的来看,概率图模型主要分为:
- 朴素贝叶斯模型
- 最大熵模型
- 隐马尔可夫模型
- 条件随机场
- 主题模型
…
7.2 贝叶斯定理
谈到贝叶斯网络,不得不说的就是贝叶斯定理了,其公式为:
P
(
A
∣
B
)
=
P
(
A
∩
B
)
P
(
B
)
P(A \mid B)=\frac{P(A \cap B)}{P(B)}
P(A∣B)=P(B)P(A∩B)
先验概率为
P
(
A
)
P(A)
P(A)或者
P
(
B
)
P(B)
P(B)
7.3 贝叶斯网络
贝叶斯中的基本概念
- **先验概率:**就是因变量(二分法)在数据集中的比例,
P
(
A
)
P(A)
P(A)。
- 这是在你没有任何进一步的信息的时候,是对分类能做出的最接近的猜测。
- 似然估计:似然估计是在其他一些变量的给定的情况下,一个观测值被分类为1的概率。
- 例如,“FREE”这个词在以前的垃圾邮件使用的概率就是似然估计。
- **边际似然估计:**边际似然估计就是,“FREE”这个词在任何消息中使用的概率。
贝叶斯网络(Bayesian network),又称信念网络(Belief Network),或有向无环图模型(directed acyclic graphical model),是一种概率图模型,于1985年由Judea Pearl首先提出。它是一种模拟人类推理过程中因果关系的不确定性处理模型,其网络拓朴结构是一个有向无环图(DAG)。如下图所示:
计算方法如下所示:
朴素贝叶斯
经典的机器学习算法之一,也是为数不多的基于概率论的分类算法。朴素贝叶斯原理简单,也很容易实现,多用于文本分类,比如垃圾邮件过滤。
朴素贝叶斯可以看做是贝叶斯网络的特殊情况:即该网络中无边,各个节点都是独立的。
其基于两个重要的假设:
- 一个特征出现的概率与其他特征(条件)独立
- 每个特征同等重要
朴素贝叶斯优点:
- 算法逻辑简单,易于实现(算法思路很简单,只要使用贝叶斯公式转化即可!)
- 分类过程中时空开销小(假设特征相互独立,只会涉及到二维存储)
朴素贝叶斯缺点:
理论上,朴素贝叶斯模型与其他分类方法相比具有最小的误差率。但是实际上并非总是如此,这是因为朴素贝叶斯模型假设属性之间相互独立,这个假设在实际应用中往往是不成立的,在属性个数比较多或者属性之间相关性较大时,分类效果不好。
朴素贝叶斯模型(Naive Bayesian Model)的**朴素(Naive)的含义是"很简单很天真"**地假设样本特征彼此独立. 这个假设现实中基本上不存在, 但特征相关性很小的实际情况还是很多的, 所以这个模型仍然能够工作得很好。
7.4 对比其他模型
- 判别模型(discriminative model)通过求解条件概率分布P(y|x)或者直接计算y的值来预测y。
- 线性回归(Linear Regression),逻辑回归(Logistic Regression),支持向量机(SVM), 传统神经网络(Traditional Neural Networks)
- 生成模型(generative model)通过对观测值和标注数据计算联合概率分布
P
(
x
,
y
)
P(x,y)
P(x,y)来达到判定估算y的目的。
- 朴素贝叶斯(Naive Bayes), 隐马尔科夫模型(HMM),贝叶斯网络(Bayesian Networks)和隐含狄利克雷分布(Latent Dirichlet Allocation)、混合高斯模型(GMM)