目录
贝叶斯决策论 (Bayesian decision theory)
- 贝叶斯决策论 是概率框架下实施决策的基本方法. 对分类任务来说,在所有相关概率都已知的理想情形下,贝叶斯决策论考虑如何基于这些概率和误判损失来选择最优的类别标记
期望风险最小化
- 下面我们以多分类任务为例来解释其基本原理。假设有
N
N
N 种可能的类别标记,即
Y
=
{
c
1
,
c
2
,
.
.
.
,
c
N
}
\mathcal Y= \{c_1,c_2, ... ,c_N\}
Y={c1,c2,...,cN},
λ
i
j
\lambda_{ij}
λij 是将一个真实标记为
c
j
c_j
cj 的样本误分类为
c
i
c_i
ci 所产生的损失 (
λ
\lambda
λ 可看作损失函数).基于后验概率
P
(
c
i
∣
x
)
P(c_i|\boldsymbol x)
P(ci∣x) 可获得将样本
x
\boldsymbol x
x 分类为
c
i
c_i
ci 所产生的期望损失 (expected loss), 即在样本
x
\boldsymbol x
x 上的 “条件风险” (conditional risk)
我们的任务是寻找一个判定准则 h h h 以最小化总体风险
- 显然,对每个样本
x
\boldsymbol x
x, 若
h
h
h 能最小化条件风险
R
(
h
(
x
)
∣
x
)
R(h(\boldsymbol x) | \boldsymbol x)
R(h(x)∣x), 则总体风险
R
(
h
)
R(h)
R(h) 也将被最小化. 这就产生了贝叶斯判定准则 (Bayes decision rule): 为最小化总体风险,只需在每个样本上选择那个能使条件风险
R
(
c
∣
x
)
R(c|\boldsymbol x)
R(c∣x) 最小的类别标记,即
此时, h ∗ h^* h∗ 称为贝叶斯最优分类器 (Bayes optimal classifier),与之对应的总体风险 R ( h ∗ ) R(h^*) R(h∗) 称为贝叶斯风险 (Bayes risk). 1 − R ( h ∗ ) 1 -R(h^*) 1−R(h∗) 反映了分类器所能达到的最好性能,即通过机器学习所能产生的模型精度的理论上限
分类问题 – 后验概率最大化使得期望风险最小
- 若目标是最小化分类错误率,则误判损失
λ
i
j
\lambda_{ij}
λij 可写为
此时条件风险
于是,最小化分类错误率的贝叶斯最优分类器即对每个样本 x \boldsymbol x x, 选择能使后验概率 P ( c ∣ x ) P(c | \boldsymbol x) P(c∣x) 最大的类别标记
回归问题 – 选择条件期望使得期望风险最小
平方损失对应的最优 y ( x ) y(x) y(x) 为条件分布 p ( t ∣ x ) p(t|x) p(t∣x) 的期望
- 下面考虑回归问题,期望损失如下:
常见的损失函数为 L ( t , y ( x ) ) = { y ( x ) − t } 2 L(t,y(x))=\{y(x)-t\}^2 L(t,y(x))={y(x)−t}2,代入可得
上述期望损失可以看作 y ( x ) y(x) y(x) 的一个泛函,即 F [ y ( x ) ] = ∫ G ( y ( x ) , x ) d x F[y(x)]=\int G(y(x),x)dx F[y(x)]=∫G(y(x),x)dx,其中 G ( y ( x ) , x ) = ∫ { y ( x ) − t } 2 p ( x , t ) d t G(y(x),x)=\int\{y(x)-t\}^2p(x,t)dt G(y(x),x)=∫{y(x)−t}2p(x,t)dt,由欧拉-拉格朗日方程可知,
因此,平方损失对应的最优 y ( x ) y(x) y(x) 为条件分布 p ( t ∣ x ) p(t|x) p(t∣x) 的期望:
上述结论可以被扩展到多维变量 y ( x ) = E t [ t ∣ x ] y(\boldsymbol x)=\mathbb E_t[\boldsymbol t|\boldsymbol x] y(x)=Et[t∣x]
- 我们也可以通过如下方法推出同样的结论。首先对平方损失进行展开:
然后将其代入期望损失可以得到
E [ L ] = ∬ { y ( x ) − E [ t ∣ x ] } 2 p ( x , t ) d x d t + ∬ { E [ t ∣ x ] − t } 2 p ( x , t ) d x d t + ∬ 2 { y ( x ) − E [ t ∣ x ] } { E [ t ∣ x ] − t } p ( x , t ) d x d t = ∫ { y ( x ) − E [ t ∣ x ] } 2 { ∫ p ( x , t ) d t } d x + ∫ { ∫ { E [ t ∣ x ] − t } 2 p ( t ∣ x ) d t } p ( x ) d x + ∫ 2 { y ( x ) − E [ t ∣ x ] } { ∫ { E [ t ∣ x ] − t } p ( x , t ) d t } d x = ∫ { y ( x ) − E [ t ∣ x ] } 2 p ( x ) d x + ∫ E [ ( t − E [ t ∣ x ] ) 2 ∣ x ] p ( x ) d x + ∫ 2 { y ( x ) − E [ t ∣ x ] } { ∫ { E [ t ∣ x ] p ( x , t ) − t p ( x , t ) } d t } d x = ∫ { y ( x ) − E [ t ∣ x ] } 2 p ( x ) d x + ∫ var [ t ∣ x ] p ( x ) d x + ∫ 2 { y ( x ) − E [ t ∣ x ] } { E [ t ∣ x ] p ( x ) − { ∫ t p ( t ∣ x ) d t } p ( x ) } d x = ∫ { y ( x ) − E [ t ∣ x ] } 2 p ( x ) d x + ∫ var [ t ∣ x ] p ( x ) d x \begin{aligned} \mathbb{E}[L] &=\iint\{y(\mathrm{x})-\mathbb{E}[t \mid \mathrm{x}]\}^{2} p(\mathrm{x}, t) \mathrm{d} \mathrm{x} \mathrm{d} t +\iint\{\mathbb{E}[t \mid \mathrm{x}]-t\}^{2}p(\mathrm{x}, t) \mathrm{d} \mathrm{x} \mathrm{d} t +\iint2\{y(\mathrm{x})-\mathbb{E}[t \mid \mathrm{x}]\}\{\mathbb{E}[t \mid \mathrm{x}]-t\}p(\mathrm{x}, t) \mathrm{d} \mathrm{x} \mathrm{d} t \\&=\int\{y(\mathrm{x})-\mathbb{E}[t \mid \mathrm{x}]\}^{2}\left\{\int p(\mathrm{x}, t) \mathrm{d} t\right\} \mathrm{d} \mathrm{x} +\int\left\{\int\{\mathbb{E}[t \mid \mathrm{x}]-t\}^{2}p(t\mid\mathrm{x})\mathrm{d} t\right\}p(\mathrm{x}) \mathrm{d} \mathrm{x} +\int2\{y(\mathrm{x})-\mathbb{E}[t \mid \mathrm{x}]\}\left\{\int\{\mathbb{E}[t \mid \mathrm{x}]-t\}p(\mathrm{x}, t)\mathrm{d} t\right\} \mathrm{d} \mathrm{x} \\&=\int\{y(\mathrm{x})-\mathbb{E}[t \mid \mathrm{x}]\}^{2} p(\mathrm{x}) \mathrm{d} \mathrm{x} +\int \mathbb{E}\left[(t-\mathbb{E}[t \mid \mathrm{x}])^{2} \mid \mathrm{x}\right] p(\mathrm{x}) \mathrm{d} \mathrm{x} +\int2\{y(\mathrm{x})-\mathbb{E}[t \mid \mathrm{x}]\}\left\{\int\{\mathbb{E}[t \mid \mathrm{x}]p(\mathrm{x}, t)-tp(\mathrm{x}, t)\}\mathrm{d} t\right\} \mathrm{d} \mathrm{x} \\&=\int\{y(\mathrm{x})-\mathbb{E}[t \mid \mathrm{x}]\}^{2} p(\mathrm{x}) \mathrm{d} \mathrm{x} +\int\operatorname{var}[t \mid \mathrm{x}] p(\mathrm{x}) \mathrm{d} \mathrm{x} +\int2\{y(\mathrm{x})-\mathbb{E}[t \mid \mathrm{x}]\}\left\{\mathbb{E}[t \mid \mathrm{x}]p(\mathrm{x})-\left\{\int tp(t\mid\mathrm{x})\mathrm{d} t\right\}p(\mathrm{x})\right\} \mathrm{d} \mathrm{x} \\&=\int\{y(\mathrm{x})-\mathbb{E}[t \mid \mathrm{x}]\}^{2} p(\mathrm{x}) \mathrm{d} \mathrm{x} +\int\operatorname{var}[t \mid \mathrm{x}] p(\mathrm{x}) \mathrm{d} \mathrm{x} \end{aligned} E[L]=∬{y(x)−E[t∣x]}2p(x,t)dxdt+∬{E[t∣x]−t}2p(x,t)dxdt+∬2{y(x)−E[t∣x]}{E[t∣x]−t}p(x,t)dxdt=∫{y(x)−E[t∣x]}2{∫p(x,t)dt}dx+∫{∫{E[t∣x]−t}2p(t∣x)dt}p(x)dx+∫2{y(x)−E[t∣x]}{∫{E[t∣x]−t}p(x,t)dt}dx=∫{y(x)−E[t∣x]}2p(x)dx+∫E[(t−E[t∣x])2∣x]p(x)dx+∫2{y(x)−E[t∣x]}{∫{E[t∣x]p(x,t)−tp(x,t)}dt}dx=∫{y(x)−E[t∣x]}2p(x)dx+∫var[t∣x]p(x)dx+∫2{y(x)−E[t∣x]}{E[t∣x]p(x)−{∫tp(t∣x)dt}p(x)}dx=∫{y(x)−E[t∣x]}2p(x)dx+∫var[t∣x]p(x)dx可以看到,期望损失的第 1 项表明 y ( x ) = E [ t ∣ x ] y(\mathrm{x})=\mathbb{E}[t \mid \mathrm{x}] y(x)=E[t∣x] 时期望损失最小,第 2 项则代表数据集的内在噪音
其他损失函数对应的最优 y ( x ) y(x) y(x)
- 平方损失并不是回归任务的唯一损失函数,例如还可以采用 Minkowski 距离
当 q = 2 q=2 q=2 时, y ( x ) y(x) y(x) 为 conditional mean;当 q = 1 q=1 q=1 时, y ( x ) y(x) y(x) 为 conditional median;当 q = 0 q=0 q=0 时, y ( x ) y(x) y(x) 为 conditional mode
极大似然估计 (Maximum Likelihood Estimation, MLE)
参数估计 (parameter estimation)
- 估计类条件概率的一种常用策略是先假定其具有某种确定的概率分布形式,再基于训练样本对概率分布的参数进行估计. 具体地,记关于类别 c c c 的类条件概率为 P ( x ∣ c ) P(\boldsymbol x |c) P(x∣c), 假设 P ( x ∣ c ) P(\boldsymbol x | c) P(x∣c) 具有确定的形式并且被参数向量 θ c \boldsymbol \theta_c θc 唯一确定,则我们的任务就是利用训练集 D D D 估计参数 θ c \boldsymbol θ_c θc. 为明确起见, 我们将 P ( x ∣ c ) P(\boldsymbol x|c) P(x∣c) 记为 P ( x ∣ θ c ) P(\boldsymbol x|\boldsymbol θ_c) P(x∣θc)
极大似然估计 (Maximum Likelihood Estimation, MLE) (Frequentist)
- 令
D
c
D_c
Dc 表示训练集
D
D
D 中第
c
c
c 类样本组成的集合,假设这些样本是 独立同分布 (i.i.d.) 的,则参数
θ
c
\boldsymbol \theta_c
θc 对于数据集
D
c
D_c
Dc 的似然是
对 θ c \boldsymbol \theta_c θc 进行极大似然估计, 就是去寻找能最大化似然 P ( D c ∣ θ c P(D_c |\boldsymbol \theta_c P(Dc∣θc) 的参数值 θ ^ c \hat θ_c θ^c
- 式 (7.9) 中的连乘操作易造成下溢, 通常使用对数似然 (log-likelihood)
需注意的是,这种参数化的方法虽能使类条件概率估计变得相对简单,但估计结果的准确性严重依赖于所假设的概率分布形式是否符合潜在的真实数据分布. 在现实应用中,欲做出能较好地接近潜在真实分布的假设往往需在一定程度上利用关于应用任务本身的经验知识,否则若仅凭 “猜测” 来假设概率分布形式,很可能产生误导性的结果
例:伯努利分布的参数估计
L
L
(
X
∣
p
)
=
log
(
∏
i
=
1
N
p
x
i
(
1
−
p
)
(
1
−
x
i
)
)
=
∑
i
=
1
N
(
x
i
log
p
+
(
1
−
x
i
)
log
(
1
−
p
)
)
\begin{aligned} LL(X|p)&=\log\left(\prod_{i=1}^Np^{x_i}(1-p)^{(1-x_i)}\right) \\&=\sum_{i=1}^N(x_i\log p +(1-x_i)\log (1-p)) \end{aligned}
LL(X∣p)=log(i=1∏Npxi(1−p)(1−xi))=i=1∑N(xilogp+(1−xi)log(1−p))其中,
0
<
p
<
1
0<p<1
0<p<1,
x
i
=
{
0
,
1
}
x_i=\{0,1\}
xi={0,1} 用于指示第
i
i
i 次实验的值是 0 还是 1. 将上面的对数似然函数对参数
p
p
p 求导并令导数为 0 可得:
∂
L
L
(
X
∣
p
)
∂
p
=
∑
i
=
1
N
(
x
i
p
+
x
i
−
1
1
−
p
)
=
0
∴
p
=
∑
i
=
1
N
x
i
N
\begin{aligned} \frac{\partial LL(X|p)}{\partial p}&=\sum_{i=1}^N(\frac{x_i}{p} +\frac{x_i-1}{1-p})=0 \\\therefore p&=\frac{\sum_{i=1}^Nx_i}{N} \end{aligned}
∂p∂LL(X∣p)∴p=i=1∑N(pxi+1−pxi−1)=0=N∑i=1Nxi
例:多值分布的参数估计
- 多指分布为伯努利分布的扩展,即每次实验可能出现 M M M 种情况,设出现第 j j j 种情况的概率为 p j p_j pj,则有 ∑ i = j M p j = 1 \sum_{i=j}^Mp_j=1 ∑i=jMpj=1。每次实验有 M M M 个指示变量 x 1 , . . . , x M x_1,...,x_M x1,...,xM,其中若某次实验结果为 j j j,则 x j = 1 x_j=1 xj=1,其余指示变量均为 0
- 对数似然函数为:
L L ( X ∣ p ) = log ( ∏ i = 1 N ∏ j = 1 M p j x j i ) = ∑ i = 1 N ∑ j = 1 M x j i log p j \begin{aligned} LL(X|p)&=\log\left(\prod_{i=1}^N\prod_{j=1}^Mp_j^{x_j^i}\right) \\&=\sum_{i=1}^N\sum_{j=1}^Mx_j^i\log p_j \end{aligned} LL(X∣p)=log(i=1∏Nj=1∏Mpjxji)=i=1∑Nj=1∑Mxjilogpj其中, 0 < p < 1 0<p<1 0<p<1, x j i x_j^i xji 用于指示第 i i i 次实验结果是否为 j j j. 上述对数似然函数的最大化可化为条件极值问题,使用拉格朗日乘子法求解:
min − ∑ i = 1 N ∑ j = 1 M x j i log p j s . t . ∑ j p j = 1 \begin{aligned} \min &-\sum_{i=1}^N\sum_{j=1}^Mx_j^i\log p_j\\ s.t. &\sum_j p_j=1 \end{aligned} mins.t.−i=1∑Nj=1∑Mxjilogpjj∑pj=1拉格朗日函数为:
L = − ∑ i = 1 N ∑ j = 1 M x j i log p j + λ ( ∑ j p j − 1 ) L=-\sum_{i=1}^N\sum_{j=1}^Mx_j^i\log p_j+\lambda\left(\sum_j p_j-1\right) L=−i=1∑Nj=1∑Mxjilogpj+λ(j∑pj−1)求拉格朗日函数偏导并令其为 0:
∂ L ∂ p j = − ∑ i = 1 N x j i p j + λ = 0 ∴ p j = ∑ i = 1 N x j i λ \begin{aligned} \frac{\partial L}{\partial p_j}&=-\sum_{i=1}^N\frac{x_j^i}{p_j}+\lambda =0 \\\therefore p_j&=\frac{\sum_{i=1}^Nx_j^i}{\lambda} \end{aligned} ∂pj∂L∴pj=−i=1∑Npjxji+λ=0=λ∑i=1Nxji又因为 ∑ j p j = 1 \sum_j p_j=1 ∑jpj=1,可知 λ = ∑ i = 1 N ∑ j = 1 M x j i = N \lambda=\sum_{i=1}^N\sum_{j=1}^Mx_j^i=N λ=∑i=1N∑j=1Mxji=N,因此
p j = ∑ i = 1 N x j i N p_j=\frac{\sum_{i=1}^Nx_j^i}{N} pj=N∑i=1Nxji
例:高斯分布的参数估计
- 假设
x
∼
N
(
μ
,
σ
2
)
x\sim N(\mu,\sigma^2)
x∼N(μ,σ2),则对数似然函数为
L L ( X ∣ p ) = log ( ∏ i = 1 N 1 2 π σ exp [ − ( x i − μ ) 2 2 σ 2 ] ) = ∑ i = 1 N ( − 1 2 log ( 2 π ) − log σ − ( x i − μ ) 2 2 σ 2 ) = − N 2 log ( 2 π ) − N log σ − ∑ i = 1 N ( x i − μ ) 2 2 σ 2 \begin{aligned} LL(X|p)&=\log\left(\prod_{i=1}^N\frac{1}{\sqrt{2 \pi} \sigma} \exp \left[-\frac{(x_i-\mu)^{2}}{2 \sigma^{2}}\right]\right) \\&=\sum_{i=1}^N\left(-\frac{1}{2}\log(2\pi)-\log\sigma-\frac{(x_i-\mu)^{2}}{2 \sigma^{2}}\right) \\&=-\frac{N}{2}\log(2\pi)-N\log\sigma-\sum_{i=1}^N\frac{(x_i-\mu)^{2}}{2 \sigma^{2}} \end{aligned} LL(X∣p)=log(i=1∏N2πσ1exp[−2σ2(xi−μ)2])=i=1∑N(−21log(2π)−logσ−2σ2(xi−μ)2)=−2Nlog(2π)−Nlogσ−i=1∑N2σ2(xi−μ)2计算参数的偏导并令其为 0,可得
μ M L = ∑ i = 1 N x i N σ M L 2 = ∑ i = 1 N ( x i − μ M L ) 2 N \mu_{ML}=\frac{\sum_{i=1}^Nx_i}{N} \\\sigma^2_{ML}=\frac{\sum_{i=1}^N(x_i-\mu_{ML})^2}{N} μML=N∑i=1NxiσML2=N∑i=1N(xi−μML)2正好是样本均值和样本方差,并且注意到样本方差其实是真实方差的有偏估计,该有偏估计的误差来源在于使用了样本均值而非真实均值,且样本量越大误差越小
E [ μ M L ] = μ E [ σ M L 2 ] = ( N − 1 N ) σ 2 \begin{aligned} \mathbb{E}\left[\mu_{\mathrm{ML}}\right] &=\mu \\ \mathbb{E}\left[\sigma_{\mathrm{ML}}^{2}\right] &=\left(\frac{N-1}{N}\right) \sigma^{2} \end{aligned} E[μML]E[σML2]=μ=(NN−1)σ2方差的无偏估计应为
σ ~ 2 = N N − 1 σ M L 2 = 1 N − 1 ∑ n = 1 N ( x n − μ M L ) 2 \tilde{\sigma}^{2}=\frac{N}{N-1} \sigma_{\mathrm{ML}}^{2}=\frac{1}{N-1} \sum_{n=1}^{N}\left(x_{n}-\mu_{\mathrm{ML}}\right)^{2} σ~2=N−1NσML2=N−11n=1∑N(xn−μML)2
例:不带偏置项的线性回归模型
- 假设线性回归模型为
h ( x ) = θ T x h(x)=\theta^Tx h(x)=θTx数据为
y = θ T x + ϵ y=\theta^Tx+\epsilon y=θTx+ϵ其中 ϵ ∼ N ( 0 , σ 2 ) \epsilon\sim N(0,\sigma^2) ϵ∼N(0,σ2),则 y i ∈ N ( θ T x i , σ 2 ) y_i\in N(\theta^Tx_i,\sigma^2) yi∈N(θTxi,σ2),对数似然函数为
L L ( θ ) = log ∏ i = 1 m 1 2 π σ exp ( − ( y i − θ T x i ) 2 2 σ 2 ) = ∑ i = 1 m − ( y i − θ T x i ) 2 2 σ 2 + m log 1 2 π σ \begin{aligned} LL(\theta)&=\log\prod_{i=1}^m\frac{1}{\sqrt{2\pi}\sigma}\exp\left(-\frac{(y_i-\theta^Tx_i)^2}{2\sigma^2}\right) \\&=\sum_{i=1}^m-\frac{(y_i-\theta^Tx_i)^2}{2\sigma^2}+m\log\frac{1}{\sqrt{2\pi}\sigma} \end{aligned} LL(θ)=logi=1∏m2πσ1exp(−2σ2(yi−θTxi)2)=i=1∑m−2σ2(yi−θTxi)2+mlog2πσ1因此
max L L ( θ ) = min ∑ i = 1 m ( y i − θ T x i ) 2 \max LL(\theta)=\min\sum_{i=1}^m(y_i-\theta^Tx_i)^2 maxLL(θ)=mini=1∑m(yi−θTxi)2
朴素贝叶斯分类器
P ( c ∣ x ) = P ( c ) P ( x ∣ c ) P ( x ) P(c|x)=\frac{P(c)P(x|c)}{P(x)} P(c∣x)=P(x)P(c)P(x∣c)
- 其中, P ( c ) P(c) P(c) 是类 “先验” (prior) 概率; P ( x ∣ c ) P(\boldsymbol x| c) P(x∣c) 是样本 x \boldsymbol x x 相对于类标记 c c c 的类条件概率 (class-conditional probability),或称为 “似然” (likelihood); P ( x ) P(\boldsymbol x) P(x) 是用于归一化的 “证据” (evidence) 因子
- 可以看出,估计
P
(
c
∣
x
)
P(c|\boldsymbol x)
P(c∣x) 的问题就转化为如何基于训练数据
D
D
D 来估计先验
P
(
c
)
P(c)
P(c) 和似然
P
(
x
∣
c
)
P(\boldsymbol x| c)
P(x∣c)
- 根据大数定律,当训练集包含充足的独立同分布样本时, P ( c ) P(c) P(c) 可通过各类样本出现的频率来进行估计
- 对类条件概率
P
(
x
∣
c
)
P(\boldsymbol x | c)
P(x∣c) 来说, 由于它涉及关于
x
\boldsymbol x
x 所有属性的联合概率,直接根据样本出现的频率来估计似然将会遇到严重的困难
- e.g. 假设样本的 d d d 个属性都是二值的, 则样本空间将有 2 d 2^d 2d 种可能的取值,在现实应用中,这个值往往远大于训练样本数, 也就是说,很多样本取值在训练集中根本没有出现,直接使用频率来估计 P ( x ∣ c ) P(\boldsymbol x | c) P(x∣c) 显然不可行,因为 “未被观测到” 与 “出现概率为零” 通常是不同的
“属性条件独立性假设” (attribute conditional independence assumption)
- 对已知类别,假设所有属性相互独立 (条件独立)
其中 d d d 为属性数目, x i x_i xi 为 x \boldsymbol x x 在第 i i i 个属性上的取值
- 该假设能避免之前提到的 “组合爆炸问题”,但当特征较多或特征相关性较大时,分类效果就不好了
朴素贝叶斯分类器直接估计 P ( x , c ) P(x,c) P(x,c),因此属于生成模型
朴素贝叶斯分类器
- 由于对所有类别来说
P
(
x
)
P(\boldsymbol x)
P(x) 相同,因此基于式 (7.6) 的贝叶斯判定准则有
其中
- 对连续属性可考虑概率密度函数 (正态分布),假定
P
(
x
i
∣
c
)
∼
N
(
μ
c
,
i
,
σ
c
,
i
2
)
P(x_i| c)\sim \mathcal N(\mu_{c,i},\sigma_{c,i}^2)
P(xi∣c)∼N(μc,i,σc,i2), 其中
μ
c
,
i
\mu_{c,i}
μc,i 和
σ
c
,
i
2
\sigma_{c,i}^2
σc,i2 分别是第
c
c
c 类样本在第
i
i
i 个属性上取值的均值和方差,则有
注意到,这里类似然概率 P ( x ∣ c ) P(x| c) P(x∣c) 的参数估算方式就是利用极大似然估计的思想,假设每一类的样本分布服从多值分布 / 高斯分布,则可以先估计出每一类对应的多值分布 / 高斯分布的参数,然后就可以利用 P ( x ∣ c ) = ∏ j = 1 M p j x j P(x|c)=\prod_{j=1}^Mp_j^{x_j} P(x∣c)=∏j=1Mpjxj / P ( x ∣ c ) = 1 2 π σ exp [ − ( x i − μ ) 2 2 σ 2 ] P(x|c)=\frac{1}{\sqrt{2 \pi} \sigma} \exp \left[-\frac{(x_i-\mu)^{2}}{2 \sigma^{2}}\right] P(x∣c)=2πσ1exp[−2σ2(xi−μ)2] 得到类似然概率
拉普拉斯修正 (Laplacian correction)
- 需注意,若某个属性值在训练集中没有与某个类 c i c_i ci 同时出现过,则连乘式中计算出的概率值为 0,因此,无论该样本的其他属性是什么,哪怕在其他属性上明显像类 c i c_i ci,分类的结果都将不为 c i c_i ci,这显然不合理
- 为了避免其他属性携带的信息被训练集中未出现的属性值 “抹去” ,在估计概率值时通常要进行 “平滑” (smoothing),常用 “拉普拉斯修正”. 具体来说,令
N
N
N 表示训练集
D
D
D 中可能的类别数,
N
i
N_i
Ni 表示第
i
i
i 个属性可能的取值数,则式 (7.16) 和 (7.17) 分别修正为
- 拉普拉斯修正实质上假设了属性值与类别均匀分布,这是在朴素贝叶斯学习过程中额外引入的关于数据的先验. 在训练集变大时,修正过程所引入的先验 (prior) 的影响也会逐渐变得可忽略,使得估值渐趋向于实际概率值
推断
- 若任务对预测速度要求较高,则对给定训练集,可将朴素贝叶斯分类器涉及的所有概率估值事先计算好存储起来,这样在进行预测时只需"查表"即可进行判别
- 若任务数据更替频繁,则可采用 “懒惰学习” (lazy learning) 方式,先不进行任何训练,待收到预测请求时再根据当前数据集进行概率估值
- 若数据不断增加,则可在现有估值基础上,仅对新增样本的属性值所涉及的概率估值进行计数修正即可实现增量学习
扩展:基于多元高斯分布的贝叶斯模型
- 假设样本数据
X
∼
N
d
(
μ
,
Σ
)
X\sim N_d(\mu,\Sigma)
X∼Nd(μ,Σ),有
p X ( x ) = 1 ( 2 π ) d ∣ Σ ∣ exp ( − 1 2 ( x − μ ) T Σ − 1 ( x − μ ) ) p_{X}\left(x\right)=\frac{1}{\sqrt{(2 \pi)^{d}|\Sigma|}} \exp \left(-\frac{1}{2}(x-\mu)^{T} \Sigma^{-1}(x-\mu)\right) pX(x)=(2π)d∣Σ∣1exp(−21(x−μ)TΣ−1(x−μ))由样本数据可以计算出样本协方差矩阵 S S S 以及样本均值 m m m,得到
p X ( x ) = 1 ( 2 π ) d ∣ S ∣ exp ( − 1 2 ( x − m ) T S − 1 ( x − m ) ) p_{X}\left(x\right)=\frac{1}{\sqrt{(2 \pi)^{d}|S|}} \exp \left(-\frac{1}{2}(x-m)^{T} S^{-1}(x-m)\right) pX(x)=(2π)d∣S∣1exp(−21(x−m)TS−1(x−m)) - 贝叶斯模型要求解
arg max
C
log
(
p
(
C
i
)
p
(
x
∣
C
i
)
)
=
arg max
C
g
i
(
x
)
\argmax_C\log\left(p(C_i)p(x|C_i)\right)=\argmax_Cg_i(x)
argmaxClog(p(Ci)p(x∣Ci))=argmaxCgi(x)。假设每个类别的数据都各自满足一个多元高斯分布,即
p
(
x
∣
C
i
)
∼
N
d
(
μ
i
,
Σ
i
)
p(x|C_i)\sim N_d(\mu_i,\Sigma_i)
p(x∣Ci)∼Nd(μi,Σi) (样本
x
x
x 有
d
d
d 个特征),则
g i ( x ) = log p ( x ∣ C i ) + log ( C i ) = − d 2 log 2 π − 1 2 log ∣ S i ∣ − 1 2 ( x − m i ) T S i − 1 ( x − m i ) + log p ^ ( C i ) \begin{aligned} g_i(x)&=\log p(x|C_i)+\log(C_i) \\&=-\frac{d}{2} \log 2 \pi-\frac{1}{2} \log \left|S_{i}\right|-\frac{1}{2}\left({x}-{m}_{i}\right)^{T} {S}_{i}^{-1}\left({x}-{m}_{i}\right)+\log \hat p\left(C_{i}\right) \end{aligned} gi(x)=logp(x∣Ci)+log(Ci)=−2dlog2π−21log∣Si∣−21(x−mi)TSi−1(x−mi)+logp^(Ci)去掉常数项,可以将 g i ( x ) g_i(x) gi(x) 化简为
g i ( x ) = − 1 2 log ∣ S i ∣ − 1 2 ( x − m i ) T S i − 1 ( x − m i ) + log p ^ ( C i ) \begin{aligned} g_i(x)&=-\frac{1}{2} \log \left|S_{i}\right|-\frac{1}{2}\left({x}-{m}_{i}\right)^{T} {S}_{i}^{-1}\left({x}-{m}_{i}\right)+\log \hat p\left(C_{i}\right) \end{aligned} gi(x)=−21log∣Si∣−21(x−mi)TSi−1(x−mi)+logp^(Ci) - 如果所有类别的协方差矩阵相同,或采用共享协方差矩阵
S = ∑ i p ^ ( C i ) S i S=\sum_{i}\hat p(C_i)S_i S=i∑p^(Ci)Si则可以将 g i ( x ) g_i(x) gi(x) 化简为
g i ( x ) = − 1 2 ( x − m i ) T S i − 1 ( x − m i ) + log p ^ ( C i ) \begin{aligned} g_i(x)&=-\frac{1}{2}\left({x}-{m}_{i}\right)^{T} {S}_{i}^{-1}\left({x}-{m}_{i}\right)+\log \hat p\left(C_{i}\right) \end{aligned} gi(x)=−21(x−mi)TSi−1(x−mi)+logp^(Ci)假设各个特征不相关,则协方差矩阵为对角矩阵,有
g i ( x ) = − 1 2 ∑ j = 1 d ( x j − m i j s j 2 ) 2 + log p ^ ( C i ) \begin{aligned} g_i(x)&=-\frac{1}{2}\sum_{j=1}^d\left(\frac{x_j-m_{ij}}{s_j^2}\right)^2+\log \hat p\left(C_{i}\right) \end{aligned} gi(x)=−21j=1∑d(sj2xj−mij)2+logp^(Ci)这就是著名的朴素贝叶斯模型的基于高斯分布的判别式,其中 s j s_j sj 为样本方差,即样本协方差矩阵对角线上的第 j j j 个元素。可以看到,括号中的求和部分为标准化的欧氏距离,它消除了不同量纲的影响。如果进一步假设所有类的先验概率相等,则
g i ( x ) = − 1 2 ∑ j = 1 d ( x j − m i j s j 2 ) 2 \begin{aligned} g_i(x)&=-\frac{1}{2}\sum_{j=1}^d\left(\frac{x_j-m_{ij}}{s_j^2}\right)^2 \end{aligned} gi(x)=−21j=1∑d(sj2xj−mij)2这就是著名的最小距离分类方法
半朴素贝叶斯分类器 (semi-naive Bayes classifiers)
- 在现实任务中,“属性条件独立性假设” 往往很难成立. 于是,人们尝试对属性条件独立性假设进行一定程度的放松,由此产生了一类称为 “半朴素贝叶斯分类器” 的学习方法
半朴素贝叶斯分类器 (独依赖估计)
- 半朴素贝叶斯分类器的基本想法是适当考虑一部分属性间的相互依赖信息,从而既不需进行完全联合概率计算,又不至于彻底忽略了比较强的属性依赖关系
- “独依赖估计” (One-Dependent Estimator,ODE) 是半朴素贝叶斯分类器最常用的一种策略. 顾名思议,所谓 “独依赖” 就是假设每个属性在类别之外最多仅依赖于一个其他属性,即
其中 p a i pa_i pai 为属性 x i x_i xi 所依赖的属性,称为 x i x_i xi 的父属性 ( ∝ \propto ∝ 表示正比于). 此时,对每个属性 x i x_i xi,若其父属性 p a i pa_i pai 已知,则可采用类似式 (7.20) 的办法来估计概率值 P ( x i ∣ c , p a i ) P(x_i|c,pa_i) P(xi∣c,pai). 于是, 问题的关键就转化为如何确定每个属性的父属性,不同的做法产生不同的独依赖分类器
- SPODE (Super-Parent ODE) 方法: 最直接的做法是假设所有属性都依赖于同一个属性,称为 “超父” (super-parent),然后通过交叉验证等模型选择方法来确定超父属性. 例如,在图 7.1 (b) 中, x 1 x_1 x1 是超父属性
- TAN (Tree Augmented naive Bayes) 则是在最大带权生成树 (maximum weighted spanning tree) 算法的基础上,通过以下步骤将属性间依赖关系约简为如图 7.1 (
c
c
c) 所示的树形结构:
- (1) 计算任意两个属性之间的条件互信息 (conditional mutual information)
- (2) 以属性为结点构建完全图,任意两个结点之间边的权重设为 I ( x i , x j ∣ y ) I(x_i,x_j|y) I(xi,xj∣y)
- (3) 构建此完全图的最大带权生成树,挑选根变量,将边置为有向. 条件互信息 I ( x i , x j ∣ y ) I(x_i,x_j|y) I(xi,xj∣y) 刻画了属性 x i x_i xi 和 x j x_j xj 在己知类别情况下的相关性,因此,通过最大生成树算法,TAN 实际上仅保留了强相关属性之间的依赖性
- (4) 加入类别结点
y
y
y, 增加从
y
y
y 到每个属性的有向边
- (1) 计算任意两个属性之间的条件互信息 (conditional mutual information)
- AODE (Averaged One-Dependent Estimator) 是一种基于集成学习机制、更为强大的独依赖分类器. 与 SPODE 通过模型选择确定超父属性不同, AODE 尝试将每个属性作为超父来构建 SPODE,然后将那些具有足够训练数据支撑的 SPODE 集成起来作为最终结果,即
其中 D x i D_{x_i} Dxi 是在第 i i i 个属性上取值为 x i x_i xi 的样本的集合, m ′ m' m′ 为阈值常数 (默认设为 30). 同样也需要在估计时进行拉普拉斯修正:
“高阶依赖” (对多个属性依赖)
- 既然将属性条件独立性假设放松为独依赖假设可能获得泛化性能的提升,那么,能否通过考虑属性间的高阶依赖来进一步提升泛化性能呢? 也就是说,将式 (7.23) 中的属性 p a i pa_i pai 替换为包含 k k k 个属性的集合 pa i \text{pa}_\text{i} pai,从而将 ODE 拓展为 kDE
- 需注意的是,随着 k k k 的增加,准确估计概率 P ( x i ∣ y , pa i ) P(x_i| y, \text{pa}_\text{i}) P(xi∣y,pai) 所需的训练样本数量将以指数级增加. 因此,若训练数据非常充分,泛化性能有可能提升; 但在有限样本条件下,则又陷入估计高阶联合概率的泥沼
参考文献
- 《机器学习》(周志华)、南瓜书
- 人人都懂 EM 算法
- P a t t e r n Pattern Pattern R e c o g n i t i o n Recognition Recognition a n d and and M a c h i n e Machine Machine L e a r n i n g Learning Learning