考虑构造一个贝叶斯分类器,使用贝叶斯公式计算 类后验概率
如下
p ( w i ∣ x , D ) = p ( x ∣ w i , D ) p ( w i ∣ D ) p ( x ) = p ( x ∣ w i , D ) p ( w i ∣ D ) ∑ j p ( x ∣ w j , D ) p ( w j ∣ D ) \begin{aligned} p(w_i|x,\mathcal{D}) &= \frac{p(x|w_i,\mathcal{D})p(w_i|\mathcal{D})}{p(x)} \\ &= \frac{p(x|w_i,\mathcal{D})p(w_i|\mathcal{D})}{\sum_j p(x|w_j,\mathcal{D})p(w_j|\mathcal{D})} \end{aligned} p(wi∣x,D)=p(x)p(x∣wi,D)p(wi∣D)=∑jp(x∣wj,D)p(wj∣D)p(x∣wi,D)p(wi∣D) 贝叶斯分类器使用这个类后验概率密度函数预测任意样本 x x x 的类别,下面化简符号
符号化简后,上式变为
p ( w i ∣ x , D ) = p ( x ∣ w i , D i ) p ( w i ) ∑ j p ( x ∣ w j , D j ) p ( w j ) p(w_i|x,\mathcal{D}) = \frac{p(x|w_i,\mathcal{D}_i)p(w_i)}{\sum_j p(x|w_j,\mathcal{D}_j)p(w_j)} p(wi∣x,D)=∑jp(x∣wj,Dj)p(wj)p(x∣wi,Di)p(wi) 假设一共有 c c c 个类别,这里计算类后验概率密度的核心是估计 c c c 个类条件概率密度
p ( x ∣ w i , D ) p(x|w_i,\mathcal{D}) p(x∣wi,D),根据我们的假设,这里相当于处理 c c c 个独立的问题,每个问题都在单一的类别下发生,形式为
已知一组从 p ( X ) p(X) p(X) 中 i.i.d 采样的样本 D \mathcal{D} D,估计条件概率 p ( X ∣ D ) p(X|\mathcal{D}) p(X∣D)
考虑上一节最后提出的任意一个独立问题,基本目标是计算 p ( X ∣ D ) p(X|\mathcal{D}) p(X∣D),并且使得它尽量靠近 p ( X ) p(X) p(X),这里可以把它表示为 p ( X , θ ∣ D ) p(X,\theta|\mathcal{D}) p(X,θ∣D) 的边缘概率密度,即
p ( X ∣ D ) = ∫ p ( X , θ ∣ D ) d θ = ∫ p ( X ∣ θ , D ) p ( θ ∣ D ) d θ = ∫ p ( X ∣ θ ) p ( θ ∣ D ) d θ ( 测 试 样 本 X 的 选 取 和 D 独 立 ) \begin{aligned} p(X|\mathcal{D}) &= \int p(X,\theta|\mathcal{D})d\theta\\ &= \int p(X|\theta,\mathcal{D})p(\theta|\mathcal{D})d\theta \\ &= \int p(X|\theta)p(\theta|\mathcal{D})d\theta \space\space\space(测试样本X的选取和 \mathcal{D} 独立)\\ \end{aligned} p(X∣D)=∫p(X,θ∣D)dθ=∫p(X∣θ,D)p(θ∣D)dθ=∫p(X∣θ)p(θ∣D)dθ (测试样本X的选取和D独立) 注意其中出现了 MAP 过程中得到的后验概率分布 p ( θ ∣ D ) p(\theta|\mathcal{D}) p(θ∣D)。这是贝叶斯估计中最核心的公式,它将类条件概率密度
p ( X ∣ D ) p(X|\mathcal{D}) p(X∣D)(注意这是 p ( X ∣ w i , D ) p(X|w_i,\mathcal{D}) p(X∣wi,D) 的简写)和未知参数的后验概率密度
p ( θ ∣ D ) p(\theta|\mathcal{D}) p(θ∣D) 联系起来。如果 MAP 的估计结果为 θ ^ \hat{\theta} θ^(即 p ( θ ∣ D ) p(\theta|\mathcal{D}) p(θ∣D) 在 θ ^ \hat{\theta} θ^ 处形成最显著的尖峰),且
则可以如下估计类条件概率密度为 p ( x ∣ w i , D ) ≈ p ( x ∣ w i , θ ^ ) p(x|w_i,\mathcal{D})\approx p(x|w_i,\hat{\theta}) p(x∣wi,D)≈p(x∣wi,θ^) 当以上两条件不满足时,即我们对 θ ^ \hat{\theta} θ^ 的把握不是很强时,上面的式子指导我们应该对所有的 θ \theta θ 求积分来得到满意的 p ( X ∣ D ) p(X|\mathcal{D}) p(X∣D) (注意其实是类条件概率密度 p ( x ∣ w i , D i ) p(x|w_i,\mathcal{D}_i) p(x∣wi,Di) 的简写)
欲基于贝叶斯估计方法构造贝叶斯分类器,一些基本假设如下
问题的核心在于计算后验概率密度函数 p ( θ ∣ D ) p(\theta|\mathcal{D}) p(θ∣D),一旦得到就能如下计算(类)后验概率
p ( X ∣ D ) = ∫ p ( X ∣ θ ) p ( θ ∣ D ) d θ (1) p(X|\mathcal{D}) = \int p(X|\theta)p(\theta|\mathcal{D})d\theta \tag{1} p(X∣D)=∫p(X∣θ)p(θ∣D)dθ(1) 根据贝叶斯公式,有
p ( θ ∣ D ) = p ( D ∣ θ ) p ( θ ) ∫ p ( D ∣ θ ) p ( θ ) d θ (2) p(\theta|\mathcal{D}) = \frac{p(\mathcal{D}|\theta)p(\theta)}{\int p(\mathcal{D}|\theta)p(\theta)d\theta} \tag{2} p(θ∣D)=∫p(D∣θ)p(θ)dθp(D∣θ)p(θ)(2) 再利用样本间独立性假设,有
p ( D ∣ θ ) = ∏ k = 1 n p ( x k ∣ θ ) (3) p(\mathcal{D}|\theta) = \prod_{k=1}^n p(x_k|\theta) \tag{3} p(D∣θ)=k=1∏np(xk∣θ)(3) 这样就完成了对问题的正式解答。构造的贝叶斯分类器示意图如下
这里可以考虑和最大似然估计的关系
假设有5个袋子,每个袋子中都有无限饼干(樱桃或柠檬味),已知5个袋子中两种口味混合比例和被拿到的概率如下
现在从同一个袋子中连续拿到了两个柠檬饼干,那么这个袋子最可能是哪个袋子?
分析:设 θ i \theta_i θi 表示拿到第 i i i 个袋子,各个袋子被拿到的概率就是先验 p ( θ i ) p(\theta_i) p(θi),我们需要根据事件 X X X:“连续从一个袋子中拿到两个饼干” 这件事在每个袋子中发生的似然性来调整它们。
设从第 i i i 个袋子中拿出柠檬饼干的概率为 p i p_i pi,拿到第 i i i 个袋子的概率为 q i q_i qi,根据后验概率公式,优化目标是:
arg max θ p ( θ ∣ x ) = arg max θ p ( θ i ) p ( X ∣ θ i ) = arg max θ q i ∗ p i 2 \begin{aligned} \argmax\limits_{\theta}p(\theta|x) &= \argmax\limits_{\theta}p(\theta_i)p(X|\theta_i) \\ &= \argmax\limits_{\theta}q_i*p_i^2 \end{aligned} θargmaxp(θ∣x)=θargmaxp(θi)p(X∣θi)=θargmaxqi∗pi2 分别把五个袋子的数据带入,发现第4个袋子的后验概率最大,因此选择第4个袋子
条件独立性假设
:考察条件概率分布 P ( X = x ∣ Y = c k ) = P ( X ( 1 ) = x ( 1 ) , X ( 2 ) = x ( 2 ) , . . . , X ( n ) = x ( n ) ∣ Y = c k ) , k = 1 , 2 , . . . K P(X=x|Y=c_k) = P(X^{(1)}=x^{(1)},X^{(2)}=x^{(2)},...,X^{(n)}=x^{(n)}|Y=c_k), \space\space k=1,2,...K P(X=x∣Y=ck)=P(X(1)=x(1),X(2)=x(2),...,X(n)=x(n)∣Y=ck), k=1,2,...K 假设 x ( j ) x^{(j)} x(j) 可取值有 S j S_j Sj 个, j = 1 , 2 , . . . , n j=1,2,...,n j=1,2,...,n, Y Y Y 可取值有 K K K 个,那么参数个数最多为 K ∏ j = 1 n S j K \prod_{j=1}^n S_j K∏j=1nSj,参数数量为指数级,因此直接估计 P ( X , Y ) P(X,Y) P(X,Y) 是不可行的。为此朴素贝叶斯作了条件独立性假设,即
P ( X = x ∣ Y = c k ) = P ( X ( 1 ) = x ( 1 ) , . . . . , X ( n ) = x ( n ) ∣ Y = c k ) = ∏ j = 1 n P ( X ( j ) = x ( j ) ∣ Y = c k ) \begin{aligned} P(X=x|Y=c_k) &= P(X^{(1)}=x^{(1)},....,X^{(n)}=x^{(n)}|Y=c_k) \\ &= \prod_{j=1}^n P(X^{(j)}=x^{(j)}|Y=c_k) \end{aligned} P(X=x∣Y=ck)=P(X(1)=x(1),....,X(n)=x(n)∣Y=ck)=j=1∏nP(X(j)=x(j)∣Y=ck) ** **
看贝叶斯公式
p ( Θ ∣ X ) = p ( X ∣ Θ ) p ( Θ ) p ( X ) p(\Theta|X) = \frac{p(X|\Theta)p(\Theta)}{p(X)} p(Θ∣X)=p(X)p(X∣Θ)p(Θ) 随着数据量的增加,条件概率函数值 p ( X ∣ Θ ) p(X|\Theta) p(X∣Θ) 对先验 p ( Θ ) p(\Theta) p(Θ) 的修正越来越大,参数分布会越来越向数据靠拢,先验的影响力会越来越小。因此在数据量趋向无限时,MAP 得到的参数后验概率一般会收敛到狄拉克函数,这时 MLE 和 MAP 最终会得到相同的估计
如果先验是均匀分布,则贝叶斯方法MAP等价于频率方法MLE,因为先验是均匀分布本质上表示对事物没有任何预判
看最大后验估计的优化目标
θ ^ = arg min θ [ − l o g p ( θ ) − ∑ i = 1 n l o g p ( x i ∣ θ ) ] \hat{\theta} = \argmin\limits_{\theta}[-logp(\theta) - \sum_{i=1}^nlog p(x_i|\theta)] θ^=θargmin[−logp(θ)−i=1∑nlogp(xi∣θ)] 可见这里第二项 arg min θ ∑ i = 1 n l o g p ( x i ∣ θ ) \argmin\limits_{\theta}\sum_{i=1}^nlog p(x_i|\theta) θargmin∑i=1nlogp(xi∣θ) 正是最大似然估计的优化目标 NLL,所以MLE和MAP在优化时的不同就是在于先验项 − l o g p ( θ ) -logp(\theta) −logp(θ)。如果我们假设先验是一个高斯分布,即
p ( θ ) = c o n s t a n t × e x p ( − θ 2 2 σ 2 ) p(\theta) = constant \times exp(-\frac{\theta^2}{2\sigma^2}) p(θ)=constant×exp(−2σ2θ2)于是有
− l o g p ( θ ) = c o n s t a n t + θ 2 2 σ 2 -logp(\theta) = constant + \frac{\theta^2}{2\sigma^2} −logp(θ)=constant+2σ2θ2 可见,在MAP中使用一个高斯分布的先验等价于在MLE中使用一个L2正则项