贝叶斯分类器
1. 贝叶斯定理
1763年12月23日,Thomas Bayes的遗产受赠者R. Price牧师 在英国皇家学会宣读了贝叶斯的遗作《An essay towards solving a problem in the doctrine of chances》(《论机会学说中一个问题的求解》),其中给出了贝叶斯定理。
在这篇文章之前,人们已经能够计算“正向概率”,如12个白球和3个黑球在1个箱子中,随机取1个球,计算该球为白球的概率。
反过来, 如果事先并不知道袋子里面黑白球的比例,随机取到5个球(4个白球,1个黑球),估计该总体中黑球与白球的比例。这个问题,就是所谓的逆向概率问题,可以看做在总体未知的情况,已知样本数据,对总体进行估计。
1.1 贝叶斯公式
根据条件概率:
可推导出贝叶斯公式:
其中,
P
(
A
)
P(A)
P(A):事件
A
A
A的先验概率(prior probability)
P
(
A
∣
B
)
P(A|B)
P(A∣B):事件
B
B
B条件下的,事件
A
A
A的后验概率(posterior probability)
P
(
B
)
P(B)
P(B):事件
B
B
B的先验概率(prior probability)
P
(
B
∣
A
)
P(B|A)
P(B∣A):事件
A
A
A条件下的,事件
B
B
B的后验概率(posterior probability)
条件概率可理解为:后验概率=先验概率
×
\times
× 调整因子(标准似然度)
若
P
(
B
∣
A
)
=
P
(
B
)
P(B\mid A)=P(B)
P(B∣A)=P(B)或
P
(
A
∣
B
)
=
P
(
A
)
P(A\mid B)=P(A)
P(A∣B)=P(A),则
P
(
A
B
)
=
P
(
A
)
P
(
B
)
P(AB)=P(A)P(B)
P(AB)=P(A)P(B),此时事件
A
,
B
A,B
A,B为相互独立事件,即任一事件的发生不影响另一事件的发生。
e.g1.
肺癌发病率
P
(
A
)
=
0.001
P(A)=0.001
P(A)=0.001; 吸烟人群占比
P
(
B
)
=
0.4
P(B)=0.4
P(B)=0.4 ;根据观测,肺癌病人中有
80
%
80 \%
80%吸烟
P
(
B
∣
A
)
=
0.8
P(B \mid A) = 0.8
P(B∣A)=0.8 。
若某患者吸烟,则该患者肺癌的概率为:
P
(
A
∣
B
)
=
P
(
A
)
P
(
B
∣
A
)
P
(
B
)
=
0.001
×
0.8
0.4
=
0.002
P(A\mid B) = \frac {P(A)P(B \mid A)}{P(B)} = \frac{0.001 \times 0.8}{0.4}=0.002
P(A∣B)=P(B)P(A)P(B∣A)=0.40.001×0.8=0.002
在该例子中,贝叶斯公式将先验概率
P
(
A
)
P(A)
P(A)转化为了后验概率
P
(
A
∣
B
)
P(A \mid B)
P(A∣B),这个过程中主要利用了观察数据
P
(
B
∣
A
)
P(B \mid A)
P(B∣A)
肺癌发病率只有
P
(
A
)
=
0.001
P(A)=0.001
P(A)=0.001,但是根据观察数据发现,肺癌病人的吸烟者比率
P
(
B
∣
A
)
=
0.8
P(B \mid A) = 0.8
P(B∣A)=0.8高于整体人群的吸烟者占比
P
(
B
)
=
0.4
P(B)=0.4
P(B)=0.4,因此增强了吸烟者中肺癌发病率的信念。
1.2 全概率公式
B
1
.
.
.
B
n
B_1 … B_n
B1…Bn是随机试验
S
S
S的一组事件,满足以下两个条件:
B
i
⋃
B
j
=
∅
,
i
≠
j
B_i \bigcup B_j = \emptyset, i \not= j
Bi⋃Bj=∅,i=j (两两互不相容)
B
1
⋂
B
2
,
.
.
.
,
⋂
B
n
=
S
B_1 \bigcap B_2,…, \bigcap B_n = S
B1⋂B2,…,⋂Bn=S (并集为整个样本空间)
称
B
1
.
.
.
B
n
B_1 … B_n
B1…Bn是样本空间
S
S
S的一个划分。
通过样本划分可以将复杂事件划分为若干不相容的简单事件
B
i
B_i
Bi,利用全概率公式可求得结果事件概率
P
(
A
)
P(A)
P(A)
P
(
A
)
=
∑
i
=
1
n
P
(
A
B
i
)
=
∑
i
=
1
n
P
(
B
i
)
P
(
A
∣
B
i
)
P(A) = \sum_{i=1}^{n}P(AB_i) = \sum_{i=1}^{n}P(B_i)P(A \mid B_i)
P(A)=i=1∑nP(ABi)=i=1∑nP(Bi)P(A∣Bi)
其中,
P
(
B
i
)
P(B_i)
P(Bi)为已知的每个原因事件
B
i
B_i
Bi的概率,
P
(
A
∣
B
i
)
P(A \mid B_i)
P(A∣Bi)表示每个原因事件对结果事件的影响程度。
1.3 贝叶斯公式推广
P
(
B
i
∣
A
)
=
P
(
A
B
i
)
P
(
A
)
=
P
(
B
i
)
P
(
A
∣
B
i
)
∑
i
=
1
n
P
(
B
i
)
P
(
A
∣
B
i
)
P(B_i \mid A) = \frac {P(AB_i)}{P(A)} = \frac {P(B_i)P(A \mid B_i)}{\sum_{i=1}^{n}P(B_i)P(A \mid B_i)}
P(Bi∣A)=P(A)P(ABi)=∑i=1nP(Bi)P(A∣Bi)P(Bi)P(A∣Bi)
P
(
B
i
∣
A
)
P(B_i \mid A)
P(Bi∣A)用来反映引起结果事件
A
A
A发生的各种原因事件
B
i
B_i
Bi的可能性。
e.g.1 A容器中有7个红球和3个白球,B容器中1个红球和4个白球
- 事件
A
A
A:从A容器里拿一个球 - 事件
B
B
B:从B容器里拿一个球 - 事件
R
R
R:拿出一个球为红球 - 事件
W
W
W:拿出一个球为白球
从A容器里拿球的概率
P
(
A
)
=
1
2
P(A)=\frac{1}{2}
P(A)=21,从B容器里拿球的概率
P
(
B
)
=
1
2
P(B)=\frac{1}{2}
P(B)=21。
(1)随机从其中一个容器里取出一个球,该球为红球的概率:
P
(
R
)
=
P
(
A
)
P
(
R
∣
A
)
+
P
(
B
)
P
(
R
∣
B
)
=
1
2
×
7
10
+
1
2
×
1
5
=
9
20
P(R)=P(A)P(R|A) + P(B)P(R|B)=\frac{1}{2} \times \frac{7}{10} + \frac{1}{2} \times \frac{1}{5} = \frac{9}{20}
P(R)=P(A)P(R∣A)+P(B)P(R∣B)=21×107+21×51=209
(2)随机取出一个球为红球,该红球来自A容器的概率:
同理可得,
2. 频率学派 v.s. 贝叶斯学派
2.1 频率学派
- 从客观事件本身出发,认为事件本身具有某种客观随机性,数据样本都是在这个空间里的“某个”参数值下产生的
- 把参数
θ
\theta
θ视作固定且未知的常数,而样本数据
D
D
D是随机的,着眼点在样本空间 - 通过引入了极大似然(maximum likelihood)以及置信区间(confidence interval),根据数据样本计算参数值
2.2 贝叶斯学派
- 从“观察者”角度出发,认为概率是主观对某个事物发生的相信程度,由于“观察者”知识不完备,需要从对客观世界的观察中得到规律更新对事件的假定
- 把参数
θ
\theta
θ视作随机变量(本身也有分布),而样本数据
D
D
D是固定的(即实际观测到的数据集),着眼点在参数空间 - 通常假定参数服从一个先验分布(prior distribution),然后基于观测的数据样本(证据)来计算参数的后验分布(posterior distribution)
频率学派坚持数据说话。贝叶斯学派认为数据会有偏差,先验概率可对这些噪音做到健壮。事实证明贝叶斯学派方法更为科学,胜利的关键在于先验概率实质上也是经验统计的结果(先验信息一般源于历史的经验与资料),所谓先“验”中先于的经验就是指先于样本数据。
贝叶斯方法更符合人类认识自然的规律与日常的思考方式,即我对客观世界总有一个主观的先验判断,但是这个判断会随着对真实世界的观察而修正,从而对世界永远保持开放的态度。
.
3. 极大似然估计 v.s. 贝叶斯估计
极大似然估计与贝叶斯估计是统计中两种对模型的参数确定的方法,最大的不同就在于是否考虑了先验,贝叶斯估计需要设定先验
p
(
θ
)
p(\theta)
p(θ)
3.1 极大似然估计
极大似然估计(MLE,Maximum Likelihood Estimation)源自频率学派,提供了一种根据样本数据来估计总体分布参数的方法,即给定样本数据
D
D
D,寻找参数
θ
\theta
θ,使得条件概率
p
(
θ
∣
D
)
p(\theta \mid D)
p(θ∣D)最大,优化目标如下:
arg
max
θ
p
(
θ
∣
D
)
\arg\max_{\theta}p(\theta \mid D)
argθmaxp(θ∣D)
根据贝叶斯公式,
p
(
θ
∣
D
)
=
p
(
D
∣
θ
)
p
(
θ
)
p
(
D
)
p(\theta \mid D)=\frac{p(D \mid \theta)p(\theta)}{p(D)}
p(θ∣D)=p(D)p(D∣θ)p(θ)
在极大似然估计中假设
θ
\theta
θ是确定的(均匀分布的),所以
p
(
θ
)
p(\theta)
p(θ)为常数;
p
(
D
)
p(D)
p(D)同样是根据已有的数据得到的,为确定值(可看做概率归一化因子);
p
(
D
∣
θ
)
p(D \mid \theta)
p(D∣θ)称为似然函数,表示不同的参数向量
θ
\theta
θ下,观察数据集
D
D
D出现的可能性大小。
优化目标等价于最大化似然函数
arg
max
θ
p
(
D
∣
θ
)
\arg\max_{\theta}p(D \mid \theta)
argθmaxp(D∣θ)
即在给定样本数据的情况下,寻找参数
θ
^
\hat \theta
θ^满足
θ
^
=
arg
max
θ
p
(
D
∣
θ
)
\hat \theta = \arg\max_{\theta}p(D \mid \theta)
θ^=argθmaxp(D∣θ)
使得该参数分布下产生样本数据的概率最大(极大似然估计认为观测到的样本就是发生概率最大的那次实现,参数完全取决于实验结果)。
从事件的角度考虑,某事件
D
D
D发生时,寻找最可能导致这件事情发生的原因
θ
=
θ
^
\theta = \hat \theta
θ=θ^(
θ
\theta
θ有多种取值对应多种原因),使得基于原因
θ
^
\hat \theta
θ^,事件
D
D
D发生的可能性最大。
对于样本数据
D
=
{
(
x
1
,
y
1
)
.
.
.
.
.
.
(
x
n
,
y
n
)
}
D={(x_1,y_1)……(x_n,y_n)}
D={(x1,y1)……(xn,yn)},一般假设数据是相互独立的,因此有
p
(
D
∣
θ
)
=
∏
i
=
1
n
p
(
x
i
∣
θ
)
p(D \mid \theta)=\prod_{i=1}^{n}p(x_i \mid \theta)
p(D∣θ)=i=1∏np(xi∣θ)为了便于计算,通常引入对数来处理(对对数似然函数求导,并令其导数为0,通过求解似然方程得到参数)。
3.2 贝叶斯估计
贝叶斯估计假定参数服从一个先验分布
p
(
θ
)
p(\theta)
p(θ),该先验分布更多的时候完全是一种假设(可凭主观判断或客观分析得出)。
然后结合样本数据,校正先验分布,得到后验分布$p(\theta \mid D)
的概率分布模型(并不求出参数
的概率分布模型(并不求出参数
的概率分布模型(并不求出参数\theta$的具体值,通常取后验分布的期望作为参数的估计值):
先验分布
p
(
θ
)
+
样本数据
D
⇒
后验分布
p
(
θ
∣
D
)
先验分布p(\theta) + 样本数据D \Rightarrow 后验分布p(\theta|D)
先验分布p(θ)+样本数据D⇒后验分布p(θ∣D)
由于先验概率
p
(
θ
)
p(\theta)
p(θ)不再是一个常量,而是某种概率分布的函数,就会导致较高的计算复杂度。
为避免计算所有的后验概率
p
(
θ
∣
D
)
p(\theta \mid D)
p(θ∣D),通过最大后验概率(Maximum A Posterior)来对参数估计,类似于极大似然估计的思想。
最大后验估计
最大后验概率估计(MAP, maximum a posterior)在已知数据
D
D
D的情况下,寻找参数
θ
\theta
θ,最大化后验概率
p
(
θ
∣
D
)
p(\theta \mid D)
p(θ∣D),即
arg
max
θ
p
(
θ
∣
D
)
\arg\max_{\theta}p(\theta \mid D)
argθmaxp(θ∣D)
根据贝叶斯公式,
p
(
θ
∣
D
)
=
p
(
D
∣
θ
)
p
(
θ
)
p
(
D
)
p(\theta \mid D)=\frac{p(D \mid \theta)p(\theta)}{p(D)}
p(θ∣D)=p(D)p(D∣θ)p(θ)
由于
P
(
D
)
P(D)
P(D)根据已有数据得到,为确定值,因此相当于
arg
max
θ
p
(
D
∣
θ
)
p
(
θ
)
\arg\max_{\theta} p(D \mid \theta)p(\theta)
argθmaxp(D∣θ)p(θ)
即求得的
θ
\theta
θ不单单让似然函数大,
θ
\theta
θ自己出现的先验概率也得大。
MAP类似正则化里的加惩罚项(正则化利用加法,而MAP利用乘法),即不仅仅依赖于实验数据,通过引入先验信息减少实验数据过拟合风险(MLE在试验数据过少的情况会导致过拟合)。
假设
P
(
θ
)
P(\theta)
P(θ)是一个高斯分布,则
P
(
θ
)
=
C
e
−
θ
2
2
σ
2
P(\theta)=C e^{-\frac{\theta^2}{2\sigma^2}}
P(θ)=Ce−2σ2θ2
由于
即,在MAP中使用一个高斯分布的先验等价于采用L2的regularizaton。
3.3 举例
e.g. 假设一个袋子里面装着白球和黑球,通过连续有放回的从袋子里面取10次,白球7次,黑球3次,估计下次取出一个球是白球的概率是多少。
设取到白球的概率为
θ
(
0
≤
θ
≤
1
)
\theta \;(0 \leq \theta \leq 1)
θ(0≤θ≤1),服从二项分布。
(1)极大似然估计
计算10次抽取的总概率
p
(
D
∣
θ
)
=
θ
7
(
1
−
θ
)
3
p(D \mid \theta)=\theta^7(1-\theta)^3
p(D∣θ)=θ7(1−θ)3
需要选择使样本结果出现的可能性最大的
θ
\theta
θ值,将
p
(
D
∣
θ
)
p(D \mid \theta)
p(D∣θ)看做
θ
\theta
θ的方程
f
(
θ
)
f(\theta)
f(θ),对其取对数
ln
f
(
θ
)
=
7
ln
θ
+
3
ln
(
1
−
θ
)
\ln f(\theta) = 7\ln \theta + 3\ln (1-\theta)
lnf(θ)=7lnθ+3ln(1−θ)求导,
d
ln
f
(
θ
)
d
θ
=
7
θ
−
3
1
−
θ
=
7
−
10
θ
θ
(
1
−
θ
)
\frac{d\ln f(\theta)}{d\theta} = \frac{7}{\theta} - \frac{3}{1-\theta} = \frac{7-10\theta}{\theta(1-\theta)}
dθdlnf(θ)=θ7−1−θ3=θ(1−θ)7−10θ令导数等于零,
θ
=
0.7
\theta=0.7
θ=0.7。
(2)贝叶斯估计
假设
θ
\theta
θ服从Beta分布,即
θ
∼
B
e
t
a
(
α
,
β
)
\theta \sim Beta(\alpha, \beta)
θ∼Beta(α,β),则
由于
p
(
θ
)
p(\theta)
p(θ)使用的先验模型贝塔分布,与
p
(
θ
∣
D
)
p(\theta \mid D)
p(θ∣D)使用的伯努利分布是共轭关系,使得伯努利分布乘以Beta分布,得到的结果是一个新的Beta分布。
共轭先验
在贝叶斯估计中,如果选取先验分布
p
(
θ
)
p(\theta)
p(θ) ,使其与后验分布
p
(
θ
∣
D
)
p(\theta \mid D)
p(θ∣D) 属于同一分布簇(即共轭分布),则称
p
(
θ
)
p(\theta)
p(θ) 为似然函数
p
(
D
∣
θ
)
p(D \mid \theta)
p(D∣θ) 的共轭先验。
常见的共轭先验有:Beta分布(二项分布)、Dirichlet分布(多项分布)。
共轭先验有如下好处:
- 符合直观,先验分布和后验分布应该是相同形式的;
- 可以给出后验分布的解析形式;
- 可以形成一个先验链,即现在的后验分布可以作为下一次计算的先验分布,如果形式相同,就可以形成一个链条。
最大后验概率估计
假设先验认为白球与黑球的数量是一样的,即
θ
=
0.5
\theta =0.5
θ=0.5的概率很大,使用均值0.5,方差0.1的正态分布描述该先验知识(也可使用其他先验模型,如Beta分布等)。
使用最大后验概率估计,需要最大化
p
(
D
∣
θ
)
p
(
θ
)
p(D \mid \theta)p(\theta)
p(D∣θ)p(θ)
函数在
θ
=
0.558
\theta = 0.558
θ=0.558时取得最大值时,不再是
0.7
0.7
0.7,即用最大后验概率估计
θ
=
0.558
\theta = 0.558
θ=0.558。可见样本不够多的情况下,先验模型的选择对结果产生较大影响。
如果抽取球100次,白球70次,黑球30次,函数在
θ
\theta
θ接近
0.7
0.7
0.7时取得最大值。继续抽取,可进一步修正
θ
\theta
θ值。
当样本非常少时,先验会严重影响估计;随着数据量的增加,参数
θ
\theta
θ的值会越来越向数据靠拢,先验的影响力会越来越小。
4. 朴素贝叶斯分类器
对于训练数据集
D
D
D中的样本
(
x
,
y
)
(\boldsymbol x,y)
(x,y),
P
(
y
∣
x
)
=
P
(
y
)
P
(
x
∣
y
)
P
(
x
)
P(y \mid \boldsymbol x) = \frac {P(y)P(\boldsymbol x \mid y)}{P(\boldsymbol x)}
P(y∣x)=P(x)P(y)P(x∣y)
P
(
y
)
P(y)
P(y)是类先验概率(class-prior probability)
P
(
y
∣
x
)
P(y \mid x)
P(y∣x) 是类后验概率(class-posterior probability)
P
(
x
∣
y
)
P(x \mid y)
P(x∣y)是样本
x
x
x相对于类标记
y
y
y的类条件概率(class-conditional probability),或称为似然(likelihood)
P
(
x
)
P(x)
P(x)是用于归一化的证据(evidence)因子,
P
(
x
∣
y
)
P
(
x
)
\frac{P(x \mid y)}{P(x)}
P(x)P(x∣y)为调整因子,又称标准似然度
贝叶斯分类器对于每个样本
x
\boldsymbol x
x,选择使后验概率
(
y
∣
x
)
(y \mid \boldsymbol x)
(y∣x)最大的类别标记
即
y
^
=
arg
max
y
∈
y
P
(
y
∣
x
)
\hat{y} = \arg \max_{y \in \mathscr y }P(y \mid \boldsymbol x)
y^=argy∈ymaxP(y∣x)
朴素贝叶斯假设一个属性值在给定类上的影响独立于其他属性的值(类条件独立性,attribute conditional independence assumption):
P
(
x
∣
y
)
=
P
(
x
1
,
…
x
n
∣
y
)
=
∏
i
=
1
n
P
(
x
i
∣
y
)
P( \boldsymbol x \mid y) = P(x_1, \dots x_n \mid y)= \prod_{i=1}^{n} P(x_i \mid y)
P(x∣y)=P(x1,…xn∣y)=i=1∏nP(xi∣y)
则,
P
(
y
∣
x
)
=
P
(
y
)
P
(
x
∣
y
)
P
(
x
)
=
P
(
y
)
P
(
x
)
∏
i
=
1
n
P
(
x
i
∣
y
)
P(y \mid \boldsymbol x) = \frac{P(y) P(\boldsymbol x \mid y)}{P( \boldsymbol x)} = \frac{P(y)}{P( \boldsymbol x)} \prod_{i=1}^{n} P(x_i \mid y)
P(y∣x)=P(x)P(y)P(x∣y)=P(x)P(y)i=1∏nP(xi∣y)
由于
P
(
x
)
P(\boldsymbol x)
P(x)为常数,
因此,朴素贝叶斯分类器的训练过程就是基于训练集
D
D
D来估计类先验概率
P
(
y
)
P(y)
P(y),并为每个属性估计条件概率
P
(
x
i
∣
y
)
P(x_i|y)
P(xi∣y)。
朴素贝叶斯在估计参数时选用了极大似然估计(基于样本数据中的频次计数),但是在做决策时则使用了MAP估计。
评论(0)
您还未登录,请登录后发表或查看评论