目录
一、贝叶斯决策论
1.概念
- 基于概率。对分类任务来说,在所有相关概率均已知的理想情形下,贝叶斯考虑如何基于这些概率和误判损失来选择最优的类别标记
- λ i j λ_{ij} λij是一个将真实标记为 c j c_j cj的样本误分类为 c i c_i ci产生的损失,则基于后验概率 p ( c i ∣ x ) p(c_i|x) p(ci∣x)可获得将 x x x分类为 c i c_i ci所产生的期望损失(“条件风险”) ,我们的任务即为寻找一个判定准则来最小化总体风险
- 判定准则:在每个样本上选择能使条件风险
R
(
c
i
∣
x
)
R(c_i|x)
R(ci∣x)最小的类别标记,
即 h ∗ ( x ) = a r g m i n R ( c ∣ x ) h^*(x)=argminR(c|x) h∗(x)=argminR(c∣x)(贝叶斯最优分类器) - 若误判损失
λ
i
j
=
{
0
i==j
1
i != j
\lambda_{ij}= \begin{cases} 0& \text{i==j}\\ 1& \text{i != j} \end{cases}
λij={01i==ji != j
则 R ( c ∣ x ) = 1 − p ( c ∣ x ) R(c|x)=1-p(c|x) R(c∣x)=1−p(c∣x),此时
h ∗ ( x ) = a r g m a x p ( c ∣ x ) h^*(x)=argmax p(c|x) h∗(x)=argmaxp(c∣x)(最小化分类错误率的贝叶斯最优分类器)
2.判别式模型 vs. 生成式模型
- 估计后验概率主要策略:
- “判别式模型”:直接学习条件分布 p ( c ∣ x ) p(c|x) p(c∣x)来预测 c c c。(KNN、SVM、决策树、线性判别分析LDA、线性回归、LR、boosting、条件随机场CRF)
- “生成式模型”:试图同时学习输入数据和标签的联合概率
p
(
x
,
c
)
p(x,c)
p(x,c),再通过贝叶斯公式获得
p
(
c
∣
x
)
p(c|x)
p(c∣x)进行分类,(朴素贝叶斯,隐马尔可夫模型)适合小数据集
生成式 p ( c ∣ x ) = p ( x , c ) p ( x ) = p ( c ) p ( x ∣ c ) p ( x ) p(c|x)=\frac{p(x,c)}{p(x)}=\frac{p(c)p(x|c)}{p(x)} p(c∣x)=p(x)p(x,c)=p(x)p(c)p(x∣c)- p ( c ) p(c) p(c):先验概率,样本空间中,各类样本所占比例(根据历史规律确定原因 p ( θ ) p(θ) p(θ))
- p ( x ∣ c ) p(x|c) p(x∣c): x x x对 c c c的类条件概率,指各自条件下出现 x x x的可能性,是所有属性上的联合概率,难以从有限样本上直接估计(由因求果) p ( 果 ∣ 因 ) = p ( x ∣ θ ) p(果|因)=p(x|θ) p(果∣因)=p(x∣θ)
- p ( x ) p(x) p(x):用于归一化的“证据”因子。与类标记无关
- p ( c ∣ x ) p(c|x) p(c∣x):后验概率。知果求因 p ( 因 ∣ 果 ) = p ( θ ∣ x ) p(因|果)=p(θ|x) p(因∣果)=p(θ∣x)
二、极大似然估计MLE vs. 最大后验估计MAP
- 概率是已知模型和参数,推数据。统计是已知数据,推模型和参数。
- 概率和似然:
p
(
x
∣
θ
)
p(x|θ)
p(x∣θ)
- θ θ θ确定, x x x未知 => 概率函数,对不同样本点 x x x,其出现概率是多少
- x x x确定, θ θ θ未知 => 似然函数,对于不同的模型参数,出现 x x x的概率是多少
- 相同:参数化求解.”模型已定,参数未知”,假设数据服从某种分布,求出分布参数
- 不同:
极大似然估计:求参数 θ θ θ, 使似然函数 P ( x 0 ∣ θ ) P(x_0|θ) P(x0∣θ)最大
最大后验估计:求 θ θ θ使 P ( x 0 ∣ θ ) P ( θ ) P(x_0|θ)P(θ) P(x0∣θ)P(θ)最大,不仅让似然函数大,θ的先验概率也得大
三、朴素贝叶斯分类器
1.相互独立
基于贝叶斯公式来估计后验概率 P ( c ∣ x ) P(c|x) P(c∣x)的主要困难在于,类条件概率 P ( x ∣ c ) P(x|c) P(x∣c)是所有属性上的联合概率,难以从有限的训练样本直接估计得到。为了避开这个障碍,朴素贝叶斯分类器需满足“属性条件独立性假设”:对已知类别,假设所有属性相互独立
2.朴素贝叶斯分类器:
h ( x ) = a r g m a x p ( c ) ∏ i = 1 d p ( x i ∣ c ) h(x)=argmaxp(c)\prod_{i=1}^dp(x_i|c) h(x)=argmaxp(c)i=1∏dp(xi∣c)
3.“拉普拉斯修正”
防止类条件概率中的某一属性概率为0(属性值未出现)导致总的类条件概率为0而进行的“平滑”处理。
N
i
N_i
Ni第
i
i
i个属性可能的取值数
p
(
x
i
∣
c
)
=
∣
D
c
,
x
i
∣
+
1
∣
D
c
∣
+
N
i
p(x_i |c)=\frac{|D_{c,x_i } |+1}{|D_c |+N_i }
p(xi∣c)=∣Dc∣+Ni∣Dc,xi∣+1
4.半朴素贝叶斯分类器
适当考虑一部分属性之间的相互依赖信息
5.贝叶斯网
一种因果关系的推理
-
核心是条件概率,本质上是利用先验知识,确立一个随机变量之间的关联约束关系,最终达成方便求取条件概率的目的
-
又称“信念网”,借助有向无环图DAG刻画属性之间的依赖关系,使用条件概率表CPT描述属性的联合概率分布 B = < G , θ > B=<G,θ> B=<G,θ>(贝叶斯网=<结构,参数>,假设属性 x i x_i xi在G中的父节点集为 π i π_i πi,则Θ包含了每个属性的联合条件概率表 θ x i ∣ π i = P B ( x i ∣ π i ) θ_{x_i|π_i}= P_B (x_i |π_i) θxi∣πi=PB(xi∣πi)
-
假设属性与它的非后裔属性独立,则 B = ⟨ G , Θ ⟩ B=⟨G,Θ⟩ B=⟨G,Θ⟩将 x 1 , x 2 , … , x d x_1,x_2,…,x_d x1,x2,…,xd的联合概率分布定义为:
P B ( x 1 , x 2 , . . . , x d ) = ∏ i = 1 d P B ( x i ∣ π i ) = ∏ i = 1 d θ x i ∣ π i P_B(x_1,x_2,...,x_d)=\prod_{i=1}^dP_B(x_i|π_i)=\prod_{i=1}^dθ_{x_i|π_i} PB(x1,x2,...,xd)=i=1∏dPB(xi∣πi)=i=1∏dθxi∣πi -
几种常见的贝叶斯网络:
每一个节点在其直接前驱节点的值制定后,这个节点条件独立于其所有非直接前驱前辈节点- V型结构:head-to-head型
给定c,a与b必不独立;c未知,a与b相对独立 a ⊥ b a\perp b a⊥b(俩竖线)
∑ c P ( a , b , c ) = ∑ c P ( a ) ∗ P ( b ) ∗ P ( c ∣ a , b ) = > P ( a , b ) = P ( a ) ∗ P ( b ) \sum c P(a,b,c) = \sum c P(a)*P(b)*P(c|a,b) => P(a,b)=P(a)*P(b) ∑cP(a,b,c)=∑cP(a)∗P(b)∗P(c∣a,b)=>P(a,b)=P(a)∗P(b) - 同父结构:tail-to-tail型
给定c,a与b条件独立 a ⊥ b ∣ c a⊥b|c a⊥b∣c;c未知,a和b不独立
(1)c未知,有 P ( a , b , c ) = P ( c ) ∗ P ( a ∣ c ) ∗ P ( b ∣ c ) P(a,b,c)=P(c)*P(a|c)*P(b|c) P(a,b,c)=P(c)∗P(a∣c)∗P(b∣c),此时,没法得出 P ( a , b ) = P ( a ) P ( b ) P(a,b) = P(a)P(b) P(a,b)=P(a)P(b),即c未知时,a、b不独立。
(2)c已知,有 P ( a , b ∣ c ) = P ( a , b , c ) P ( c ) P(a,b|c)=\frac{P(a,b,c)}{P(c)} P(a,b∣c)=P(c)P(a,b,c),然后将(1)带入式子中,得到: P ( a , b ∣ c ) = P ( a , b , c ) P ( c ) = P ( a ∣ c ) ∗ P ( b ∣ c ) P(a,b|c)=\frac{P(a,b,c)}{P(c)} = P(a|c)*P(b|c) P(a,b∣c)=P(c)P(a,b,c)=P(a∣c)∗P(b∣c),即c已知时,a、b独立。 - 顺序结构head-to-tail型
给定c,a与b条件独立 a ⊥ b ∣ c a⊥b|c a⊥b∣c;c未知,a和b不独立
(1)c未知,有 P ( a , b , c ) = P ( a ) ∗ P ( c ∣ a ) ∗ P ( b ∣ c ) P(a,b,c)=P(a)*P(c|a)*P(b|c) P(a,b,c)=P(a)∗P(c∣a)∗P(b∣c),但无法推出 P ( a , b ) = P ( a ) P ( b ) P(a,b) = P(a)P(b) P(a,b)=P(a)P(b),即c未知时,a、b不独立。
(2)c已知,有 P ( a , b ∣ c ) = P ( a , b , c ) P ( c ) P(a,b|c)=\frac{P(a,b,c)}{P(c)} P(a,b∣c)=P(c)P(a,b,c),且根据 P ( a , c ) = P ( a ) ∗ P ( c ∣ a ) = P ( c ) ∗ P ( a ∣ c ) P(a,c) = P(a)*P(c|a) = P(c)*P(a|c) P(a,c)=P(a)∗P(c∣a)=P(c)∗P(a∣c),可化简得到:
- V型结构:head-to-head型
P ( a , b ∣ c ) = P ( a , b , c ) P ( c ) P(a,b|c) = \frac{P(a,b,c)}{P(c)} P(a,b∣c)=P(c)P(a,b,c)
= P ( a ) ∗ P ( c ∣ a ) ∗ P ( b ∣ c ) P ( c ) = P(a)*P(c|a)*\frac{P(b|c)}{P(c)} =P(a)∗P(c∣a)∗P(c)P(b∣c)
= P ( a , c ) ∗ P ( b ∣ c ) P ( c ) =P(a,c)*\frac{P(b|c)}{P(c)} =P(a,c)∗P(c)P(b∣c)
= P ( a ∣ c ) ∗ P ( b ∣ c ) =P(a|c)*P(b|c) =P(a∣c)∗P(b∣c)
- 推广:
对于任意的结点集A,B,C,考察所有通过A中任意结点到B中任意结点的路径,若要求A,B条件独立,则需要所有的路径都被阻断(blocked),即满足下列两个前提之一:
(1)A和B的“head-to-tail型”和“tail-to-tail型”路径都通过C;
(2)A和B的“head-to-head型”路径不通过C以及C的子孙;
6.贝叶斯网络的构造及学习
- 构造:
- (领域专家)构造网络,确定随机变量间的拓扑关系,形成DAG,描述随机变量之间的条件依赖
- 根据自定义的评分函数评估Bayes网与训练数据的契合程度,基于这个评分函数来寻找结构最优的贝叶斯网,NP难,求近似解的两种方法:
- 贪心法:从某个网络结构出发,每次调整一条边,直到评分函数值不再降低
- 通过给网络结构施加约束来削减搜索空间,例如将网络结构限定为树形
- 训练:完成条件概率表的构造
最理想的是直接根据联合概率分布精确计算后验概率,但这已被证明是NP难的,需借助“近似推断”,通过降低精度要求,在有限时间内求近似解。用吉布斯采样:- 比如,对已知的观察属性 E E E取值 e e e,要判断在 Q Q Q上出现取值 q q q的概率是多少,即求 P ( q ∣ e ) P( q | e ) P(q∣e)的值
- 算法:
a)对 Q Q Q随机取初值 q 0 q_0 q0
b)将 q 0 q_0 q0与 e e e结合,并使用贝叶斯网去推断下一时刻的 Q Q Q上取值为多少
c)判断新生成的 Q Q Q与我们要预测的 q q q是否一致,一致则计数器 n n n加一
c)重复步骤 b)- c)T次,通过计算 n T \frac{n}{T} Tn我们可以近似得到 P ( q ∣ e ) P( q | e ) P(q∣e)的值
7.EM算法:一种迭代优化策略,用于估计隐变量(值未知)(Expectation Maximization)
问题描述:有一堆未知分类未知分布的数据,求每个数据所属的分类及分布
①E步:根据分布参数θ计算隐变量(每个样本所属分类)的期望(亦后验概率)Q
Q
i
(
z
(
i
)
)
=
p
(
z
(
i
)
∣
x
(
i
)
;
θ
)
Q_i(z^{(i)})=p(z^{(i)}|x^{(i)};\theta)
Qi(z(i))=p(z(i)∣x(i);θ)
②M步:最大化根据Q求出的含有θ的似然函数的下界,得到新的参数θ
θ
=
a
r
g
m
a
x
θ
∑
i
∑
z
(
i
)
Q
i
(
z
(
i
)
)
l
o
g
p
(
x
(
i
)
,
z
(
i
)
;
θ
)
Q
i
(
z
(
i
)
)
\theta=argmax_{\theta}\sum_i\sum_{z^{(i)}}Q_i(z^{(i)})log\frac{p(x^{(i)},z^{(i)};\theta)}{Q_i(z^{(i)})}
θ=argmaxθi∑z(i)∑Qi(z(i))logQi(z(i))p(x(i),z(i);θ)
③重复①②至收敛
直接最大似然函数难以计算,所以用凹函数版的Jensen不等式
E
[
f
(
x
)
]
≤
f
[
E
(
x
)
]
E[f(x)]≤f[E(x)]
E[f(x)]≤f[E(x)]迭代求解θ
优点:简单
缺点:对初始值敏感