文章目录
贝叶斯决策论
先验概率
基于经验得到的概率,可以作为简单判别类别的依据。
似然概率
特征的类条件概率 p ( x ∣ ω ) p(x|\omega) p(x∣ω)
最小错误率贝叶斯
P ( e r r o r ∣ x ) = P ( ω 1 ∣ x ) , ω = ω 2 = P ( ω 2 ∣ x ) , ω = ω 1 P(error|x)=P(\omega_1|x),\omega=\omega_2\\~~~~~~~~~~~~~~~~~~~=P(\omega_2|x),\omega=\omega_1 P(error∣x)=P(ω1∣x),ω=ω2 =P(ω2∣x),ω=ω1
贝叶斯公式:
P ( ω i ∣ x ) = P ( x ∣ ω i ) ( ω i ) P ( x ) = P ( x ∣ ω i ) ( ω i ) ∑ i P ( x ∣ ω i ) P ( ω i ) P(\omega_i|x)=\frac{P(x|\omega_i)(\omega_i)}{P(x)}=\frac{P(x|\omega_i)(\omega_i)}{\sum_iP(x|\omega_i)P(\omega_i)} P(ωi∣x)=P(x)P(x∣ωi)(ωi)=∑iP(x∣ωi)P(ωi)P(x∣ωi)(ωi)
最大后验分类规则
ω ∗ = arg max ω P ( ω i ∣ x ) \omega^*=\argmax_\omega{P(\omega_i|x)} ω∗=ωargmaxP(ωi∣x)
贝叶斯判定准则
为了最小化总体错误率,只需在每个样本上选择能使错误最小的类别标记。通俗易懂地讲,最小错误率贝叶斯即求解最大的后验概率。
最小风险贝叶斯
引入了损失函数,比错误率更一般。
最小风险贝叶斯是最小错误率贝叶斯的加权和;最小错误率贝叶斯是最小风险贝叶斯的特殊情况。
最小风险判决步骤
1.在给定样本
x
x
x的条件下,计算各类后验概率
P
(
ω
j
∣
x
)
P(\omega_j|x)
P(ωj∣x)
2.求各种判决的条件平均风险
R
(
c
i
∣
x
)
=
∑
j
=
1
N
λ
i
j
P
(
c
j
∣
x
)
R(c_i|x)=\sum_{j=1}^N\lambda_{ij}P(c_j|x)
R(ci∣x)=j=1∑NλijP(cj∣x)
其中
λ
i
j
\lambda_{ij}
λij的含义是实际类别为j,判定类别为i情况下带来的风险。
最小风险贝叶斯的目标
找到一个判定准则h,最小化总体风险:
h
=
arg min
h
E
x
[
R
(
h
(
x
)
∣
x
)
]
h=\argmin_h{E_x[R(h(x)|x)]}
h=hargminEx[R(h(x)∣x)]
贝叶斯判定准则
为了最小化总体风险,只需要在每个样本上选择能使条件风险
R
(
c
∣
x
)
R(c|x)
R(c∣x)最小的类别标记,即:
h
∗
(
x
)
=
arg min
c
∈
γ
R
(
c
∣
x
)
h^*(x)=\argmin_{c\in \gamma}R(c|x)
h∗(x)=c∈γargminR(c∣x)
h
∗
(
x
)
h^*(x)
h∗(x)被称为贝叶斯最优分类器;
R
(
h
∗
)
R(h^*)
R(h∗)被称为贝叶斯最优风险。
困难与策略
现实中,很难直接获得后验概率,机器学习所能完成的仅仅是依据有限的训练样本尽可能准确地估计出后验概率。
以下两种模型都是基于监督学习。
判别式模型
1给定
x
x
x,通过直接建模
P
(
c
∣
x
)
P(c|x)
P(c∣x)来预测
c
c
c,不考虑样本模型,只考虑预测模型;
2出现决策函数(阈值)或者后验概率;
3例子有:决策树、支持向量机、Logistic回归、线性回归、KNN。
生成式模型
1先对联合概率分布
P
(
x
,
c
)
P(x,c)
P(x,c)建模,由此再获得
P
(
c
∣
x
)
P(c|x)
P(c∣x);
2生成式模型考虑贝叶斯定理;
3例子有:朴素贝叶斯,隐马尔可夫模型。
Example
证据与类标记无关,因此我们不予考虑。
先验概率是基于给各类样本出现频率估计的,直接且明了,在计算时没有难度。
类条件概率的估计则需要借助一些策略。
极大似然估计
估计类条件概率的常用策略:极大似然估计。找到与当前样本分布最匹配的参数。
我们假设条件c下的x具有某种分布,被参数
θ
c
\theta_c
θc唯一确定。我们的任务便是估计参数
θ
c
\theta_c
θc。
存在的问题
这种参数化的方法虽然能使类条件概率的估计变得简单,但是估计结果的准确性严重依赖与假设的概率分布形式是否符合潜在的真实数据分布。
朴素贝叶斯分类器
采用了属性条件独立性假设
这是为了解决估计后验概率困难这一问题。
于是贝叶斯公式可以改写为
P
(
c
∣
x
)
=
P
(
c
)
P
(
x
∣
c
)
P
(
x
)
=
P
(
c
)
P
(
x
)
∏
i
=
1
d
P
(
x
i
∣
c
)
P(c|x)=\frac{P(c)P(x|c)}{P(x)}=\frac{P(c)}{P(x)}\prod_{i=1}^d{P(x_i|c)}
P(c∣x)=P(x)P(c)P(x∣c)=P(x)P(c)i=1∏dP(xi∣c)
于是,朴素贝叶斯分类器的训练器的训练过程就是基于训练集D估计先验概率和类条件概率。
生成式模型首先对
p
(
x
,
c
)
p(x,c)
p(x,c)建模,结果为一张概率查询表。
拉普拉斯修正
为了避免其他属性携带的信息被训练集中未出现的属性值"抹去",在估计概率值时通常要进行拉普拉斯修正。
比如说,
属性 | 温度 | 湿度 |
---|---|---|
属性值 | 热 | 干 |
新样本的属性值为(热,湿),由于湿度属性的属性值未在训练集当中出现过,于是其类条件概率为0,在计算Bayes公式时,一并抹去了温度信息。
于是我们基于以上缘由,对类先验概率和类条件概率进行修正。
P
^
(
c
)
=
∣
D
c
∣
+
1
∣
D
∣
+
N
\widehat P(c)=\frac{|D_c|+1}{|D|+N}
P
(c)=∣D∣+N∣Dc∣+1
P
^
(
x
i
∣
c
)
=
∣
D
c
,
x
i
∣
+
1
∣
D
∣
+
N
i
\widehat P(x_i|c)=\frac{|D_{c,x_i}|+1}{|D|+N_i}
P
(xi∣c)=∣D∣+Ni∣Dc,xi∣+1
其中
N
N
N为训练集中可能的类别数;
N
i
N_i
Ni表示第i个属性可能的取值数。
使用方式
情形 | 学习方式 |
---|---|
速度要求高 | 查表法 |
任务数据更替频繁 | 懒惰学习 |
任务数据不断增加 | 增量学习 |
半朴素贝叶斯分类器
缘由
朴素贝叶斯进行了属性条件独立性假设。但是在现实生活中,这一假设难以成立,于是提出了半朴素贝叶斯分类器。
基本思想
假设每个属性在类别之外最多仅依赖一个其他属性,即
P
(
c
∣
x
)
∝
P
(
c
)
∏
i
=
1
d
P
(
x
i
∣
c
,
p
a
i
)
P(c|x)\propto P(c)\prod_{i=1}^dP(x_i|c,pa_i)
P(c∣x)∝P(c)i=1∏dP(xi∣c,pai)
其中,
p
a
i
pa_i
pai为属性
x
i
x_i
xi所依赖的属性,称为其父属性。
那么,问题转化为了如何确定这一父属性?
SPODE
Super Parent One Dependent Estimator
假设所有属性都依赖于同一属性,该属性称之为"超父",然后通过交叉验证的方式确定超父的属性。
AODE
Average One Dependent Estimator
集成学习机制,更为强大的独依赖分类器。
将每个属性都作为超父来构建SPODE,然后将那些具有足够训练数据支撑的SPODE集成起来作为最终结果。
P
(
c
∣
x
)
∝
∑
i
=
1
,
∣
D
x
i
∣
≥
m
′
d
P
(
c
,
x
i
)
∏
j
=
1
d
P
(
x
j
∣
c
,
x
i
)
P(c|x)\propto \sum_{i=1,|D_{x_i}|\ge m'}^dP(c,x_i)\prod_{j=1}^dP(x_j|c,x_i)
P(c∣x)∝i=1,∣Dxi∣≥m′∑dP(c,xi)j=1∏dP(xj∣c,xi)
其中,我们同样要进行拉普拉斯修正。
P
^
(
c
,
x
i
)
=
∣
D
c
,
x
i
∣
+
1
∣
D
∣
+
N
i
\widehat P(c,x_i)=\frac{|D_{c,x_i}|+1}{|D|+N_i}
P
(c,xi)=∣D∣+Ni∣Dc,xi∣+1
P
^
(
x
j
∣
c
,
x
i
)
=
∣
D
c
,
x
i
,
x
j
∣
+
1
∣
D
c
,
x
i
∣
+
N
j
\widehat P(x_j|c,x_i)=\frac{|D_{c,x_i,x_j}|+1}{|D_{c,x_i}|+N_j}
P
(xj∣c,xi)=∣Dc,xi∣+Nj∣Dc,xi,xj∣+1
可以理解为条件增添了一个属性,计数也是基于共同满足类
c
c
c与属性
x
i
x_i
xi下进行。
贝叶斯网
Bayesian network、信念网。
借助无向图来刻画属性之间的依赖关系。
使用条件概率表来描述属性之间的联合概率分布。
贝叶斯网由两部分组成
B
=
<
G
,
Θ
>
B=<G,\Theta>
B=<G,Θ>。
··其中G是一个有向无环图,每个结点对应一个属性,若两个属性有直接依赖关系,则他们之间用一条边相连。
··参数
Θ
\Theta
Θ定量描述这种依赖关系。我们定义属性
x
i
x_i
xi在G中的父节点集为
π
i
\pi_i
πi,则
Θ
\Theta
Θ包含了每个属性的条件概率表
Θ
x
i
∣
π
i
=
P
B
(
x
i
∣
π
i
)
\Theta_{x_i|\pi_i}=P_B(x_i|\pi_i)
Θxi∣πi=PB(xi∣πi)。
结构
贝叶斯网有效地表达了属性间的条件独立性。给定父节点集,贝叶斯网假设每个属性与它的非后裔节点独立。
联合概率的定义在贝叶斯网的表示中为:
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|\pi_i)=\prod_{i=1}^d\theta_{x_i|\pi_i}
PB(x1,x2,...,xd)=i=1∏dPB(xi∣πi)=i=1∏dθxi∣πi
即各条件概率相乘即可。
独立关系
x
3
x_3
x3在和
x
4
x_4
x4在给定
x
1
x_1
x1的取值时独立。简记为
x
3
⊥
x
4
∣
x
1
x_3\perp x_4|x_1
x3⊥x4∣x1
依赖关系
同父结构中,给定
x
1
x_1
x1,
x
3
x_3
x3与
x
4
x_4
x4条件独立;
顺序结构中,给定
x
x
x,
y
y
y与
z
z
z条件独立;
V型结构中,给定
x
4
x_4
x4,
x
1
x_1
x1与
x
2
x_2
x2必不独立,反而是未知的时候,两者相互独立。这样的独立性称为边际独立性,记为
x
1
∥
x
2
x_1\Vert x_2
x1∥x2。
依据依赖关系分析独立关系
采用的方法是“有向分离”,把有向图转变为一个无向图:
1.找出有向图中所有的V型结构,在V型结构的两个父节点之间加上一条无向边。
2.将所有无向边改变为有向边。
该无向图又称为道德图,第一步称为道德化。
若变量z去除后,x和y分属两个联通分支,我们称x和y被z有向分离,记为
x
⊥
y
∣
z
x\perp y|z
x⊥y∣z。
EM算法
缘由
一般的算法分析中,假设训练样本所有属性变量的值都已被观测,但现实中往往会遇到不完整的训练样本,这与缺失值是类似的。那么在该章节如何处理这样的数据呢?或者说,是否仍然能对模型进行参数估计呢?(前面分析过,由于生成模型要依据样本对类条件概率计算,我们假定其满足某一种分布,采用极大似然法估计参数)。
数学解释
未观测变量,我们称之为“隐变量”。
设
X
X
X表示已观测变量集,
Z
Z
Z表示隐变量集,
Θ
\Theta
Θ表示模型参。
我们想要估计出
Θ
\Theta
Θ,于是最大化对数似然:
L
L
(
Θ
∣
X
,
Z
)
=
l
n
P
(
X
,
Z
∣
Θ
)
LL(\Theta|X,Z)=lnP(X,Z|\Theta)
LL(Θ∣X,Z)=lnP(X,Z∣Θ)
由于Z是隐变量,我们无法直接求解,于是通过对Z计算期望,来最大化以观测数据的对数“边际似然”。
L
L
(
Θ
∣
X
,
Z
)
=
l
n
P
(
X
,
Z
∣
Θ
)
=
ln
∑
Z
P
(
X
,
Z
∣
T
h
e
t
a
)
LL(\Theta|X,Z)=lnP(X,Z|\Theta)=\ln\sum_ZP(X,Z|Theta)
LL(Θ∣X,Z)=lnP(X,Z∣Θ)=lnZ∑P(X,Z∣Theta)
不同取值下的Z的似然求和。
Expectation-Maximization
估计参数隐变量的利器。
思想
若参数
Θ
\Theta
Θ已知,则可根据训练数据推断出最优隐变量Z的值(E步);
若Z的值已知,则可方便地对参数
Θ
\Theta
Θ做极大似然估计(M步)。
算法
以初始值
Θ
0
\Theta^0
Θ0为起点,对
L
L
(
Θ
∣
X
,
Z
)
=
l
n
P
(
X
,
Z
∣
Θ
)
=
ln
∑
Z
P
(
X
,
Z
∣
T
h
e
t
a
)
LL(\Theta|X,Z)=lnP(X,Z|\Theta)=\ln\sum_ZP(X,Z|Theta)
LL(Θ∣X,Z)=lnP(X,Z∣Θ)=lnZ∑P(X,Z∣Theta)进行迭代操作直至收敛:
1.基于
Θ
t
\Theta^t
Θt推断隐变量
Z
Z
Z的期望,记为
Z
t
Z^t
Zt;
2.基于已观测变量
X
X
X和
Z
t
Z^t
Zt对参数
Θ
\Theta
Θ做极大似然估计,记为
Θ
t
+
1
\Theta^{t+1}
Θt+1。