贝叶斯 | wsztrush
概率论中,条件概率定义为:
$$
P(A|B) = \frac{P(AB)}{P(B)}
$$
表示$B$发生时$A$发生的概率,在条件概率上进行一步推导便得到贝叶斯定理:
$$
P(AB) = P(A|B) \times P(B) = P(B|A) \times P(A) \quad \Rightarrow \quad P(B|A) = \frac{P(A|B)\times P(B)}{P(A)}
$$
这里涉及到两个概念:
- 先验概率:由因求果,事情还没有发生,求这件事情发生的可能性的大小;
- 后验概率:执果寻因,事情已经发生了,求这件事情是由某个因素引起的可能性的大小;
比较流行的一个例子(对应的解释):
有三个门,其中一个里有汽车,只要选对就可以得到。当应试者选择一个门之后,主持人打开了另外一个门,空的。假设主持人知道车所在的门,问:应试者要不要换一个选择?
贝叶斯典型应用场景是邮件反垃圾:
- A:单词
- B:是否垃圾邮件
在给了一些样本后,如何来预测包含$A_1,A_2,A_3$的邮件是否为垃圾邮件?如果样本中包含很多同内容的邮件,那么可以直接计算$P(B|A)$,然而:
这是不可能的,总不能穷举所有垃圾邮件吧,而且很可能$A_1,A_2,A_3$同时出现的邮件样本中压根就没有。
所以后验概率的路子更靠谱一些。
朴素贝叶斯
假设各因素$X$相互独立(朴素的由来):
$$
\begin{align}
P(X=x|Y=c_k) & = P(X^{(1)}=x^{(1)},…,X^{(n)}=x^{(n)}|Y=c_k) \\
& = \prod_j P(X^{(j)}=x^{(j)}|Y=c_k)
\end{align}
$$
将其代入贝叶斯公式得到:
$$
\begin{align}
P(Y=c_k|X=x) & = \frac{P(X=x|Y=c_k) \times P(Y=c_k)}{\sum_k P(X=x|Y=c_k) \times P(Y=c_k)} \\
& = \frac{P(Y=c_k) \times \prod_j P(X^{(j)}=x^{(j)}|Y=c_k)}{\sum_k P(Y=c_k) \times \prod_j P(X^{(j)}=x^{(j)}|Y=c_k)}
\end{align}
$$
对于不同的分类($Y=c_k$)来说分母都一样,于是进一步简化后得到分类方法为:
$$
y = \arg \max_{c_k} P(Y=c_k)\prod_j P(X^{(j)}=x^{(j)}|Y=c_k)
$$
实际计算过程中要注意0的处理。
贝叶斯网络
TODO- http://www.cnblogs.com/leoo2sk/archive/2010/09/18/bayes-network.html
- https://www.zhihu.com/question/28006799