# 贝叶斯网络(Bayesian network)
主要利用概率方法,通过概率图(一种DAG)表示一组随机变量及其条件概率,然后用概率去做推理,用随机变量的概率分布表示推理的最终结果。
## 贝叶斯定理
$$
\begin{align}
&P(Y|X)P(X)=P(X|Y)P(Y) \\
\iff &P(Y|X)=\frac{P(X|Y)P(Y)}{P(X)}
\end{align}
$$
## 朴素贝叶斯
将问题分为特征向量$X$和决策向量$Y$两类,并要求特征向量$Xi\in X$相互独立($\rho$为$0$),那么$P(X|Y)$可以分解为多个向量的积(乘法法则):
$$
\begin{align}
&P(X|Y)=\prod_{i=1}^{n}P(X_i|Y) \\
\iff &P(Y|X)=\frac{P(Y)\prod_{i=1}^{n}P(X_i|Y)}{P(X)}
\end{align}
$$
即$Y$的后验概率$P(Y|X)$可由其先验概率$P(Y)$和对$Y$划分在$n$个特征下的独立条件概率$P(X_i|Y)$求乘积得到。
因此仅需在训练时计算$P(Y)$,即可进行测试。对测试样本的每一种可能的预测标签$y_i$有:
$$
\begin{align}
Score(y_i)=P(Y=y_i)\prod_{j=1}^{n}P(X_j|Y=y_i),\space y_i\in Y
\end{align}
$$
最终取得预测结果$\displaystyle\arg\max_{y_i}Score(y_i)$
注意在$P(X_j|Y=y_i)=0$时特殊处理,如使用拉普拉斯平滑
> 朴素贝叶斯也可以像决策树一样进行提升(Boosting),多个分类器组成一个分类器序列,后面的分类器对前面的错误分类数据设置更高权重。
## 贝叶斯网络
朴素贝叶斯对特征的独立性要求对其应用场景的扩大产生了阻碍,因此引入多个随机变量联合概率分解为条件概率的优化算法:
对任意的$x_i$,设存在集合$\phi(X) \subset \{x_1,\cdots,x_n\}$,使得$X$与$[\{x_1,\cdots,x_n\}-\phi(X)]$中的任意元素条件独立(即与且仅与$\phi(X)$中的元素不独立),则有:
$$
\begin{align}
P(x_1,\cdots,x_n)=\prod_{i=1}^nP(x_i|\phi(x))
\end{align}
$$
Pearl在1986年提出用一个DAG可以表示这种条件独立性——$X$为图的节点,$\phi(X)$的每个元素都有一条指向$X$的弧。弧头节点发生的概率受弧尾节点的影响。
另有每个节点的条件概率表,描述该变量与不同父变量间的联系;或用参数$\theta$表示,$\theta_{x_i|y_j}=P(x_i|y_j)$,其中$y_j \in Y=\phi(x)$
贝叶斯网络可以由专家手工构建,也可以对数据进行学习获得。