绪论
计算机视觉旨在从图像中提取有用的信息。受可视数据复杂性的影响,这是一个极具挑战性的任务。广义理解的计算机视觉领域已经取得显著进步,随着人们日益增长的认识,计算机视觉的未来是令人激动的。
一、概率论
几乎所有的计算机视觉模型可以在概率范围内解释,其形式上较为复杂,但可以阐明复杂模型之间的关系。
1.1 概率论基础
随机变量
x
x
x表示一个不确定的值,其可以是离散的或者连续的。离散变量的概率分布可以可视化为一个直方图,而连续变量的概率分布可以通过概率密度函数【Probability Density Function,PDF】来可视化。
设两个随机变量
x
x
x和
y
y
y,若观察
x
x
x和
y
y
y的多个成对实例,结果中某些组合出现的较为频繁,可以用
x
x
x和
y
y
y的联合概率分布表示,记为
P
(
x
,
y
)
P(x, y)
P(x,y)。一般来说,多元变量的联合概率分布更加令人感兴趣,可以使用
P
r
(
x
)
Pr(\bm x)
Pr(x)表示多维元素
x
=
(
x
1
,
x
2
,
.
.
.
,
x
k
)
T
\bm x = (x_1, x_2, ... ,x_k)^T
x=(x1,x2,...,xk)T的联合概率。
任意单变量的概率分布都可以在联合概率分布上求其他变量的和或积分得到,典型的,对于连续的二维随机变量
x
x
x与
y
y
y,有
P
(
x
)
=
∫
P
(
x
,
y
)
d
y
P(x) = \int P(x, y)dy
P(x)=∫P(x,y)dy得到
x
x
x的边缘分布,其可以简单的解释为忽略其他变量的值。如果从变量
x
x
x不能获得
y
y
y的任何信息,则称两个变量独立。
变量
x
x
x在
y
y
y取固定值
y
∗
y^*
y∗是
x
x
x的相对概率的取值,是
y
y
y取
y
∗
y^*
y∗时
x
x
x的条件概率,记为
P
(
x
∣
y
=
y
∗
)
P(x|y = y^*)
P(x∣y=y∗),其计算数值为
P
(
x
∣
y
=
y
∗
)
=
P
(
x
,
y
=
y
∗
)
P
(
y
=
y
∗
)
P(x|y = y^*) = \frac{P(x, y=y^*)}{P(y = y^*)}
P(x∣y=y∗)=P(y=y∗)P(x,y=y∗)通常情况下不会显示的定义
y
y
y,可以简写为
P
(
x
∣
y
)
=
P
(
x
,
y
)
/
P
(
y
)
P(x|y) = P(x, y)/P(y)
P(x∣y)=P(x,y)/P(y)当有两个以上的变量时,可以不断用条件概率分布将联合概率分布分解:
P
(
w
,
x
,
y
,
z
)
=
P
(
w
∣
x
,
y
,
z
)
P
(
x
∣
y
,
z
)
P
(
y
∣
z
)
P
(
z
)
P(w, x, y, z) = P(w|x, y, z)P(x|y, z)P(y|z)P(z)
P(w,x,y,z)=P(w∣x,y,z)P(x∣y,z)P(y∣z)P(z)结合条件概率的公式,可以得到
P
(
x
∣
y
)
P(x|y)
P(x∣y)与
P
(
y
∣
x
)
P(y|x)
P(y∣x)的关系,有
P
(
y
∣
x
)
P
(
x
)
=
P
(
x
∣
y
)
P
(
y
)
=
P
(
x
,
y
)
P(y|x)P(x) = P(x|y)P(y) = P(x, y)
P(y∣x)P(x)=P(x∣y)P(y)=P(x,y)整理可以得到
P
(
y
∣
x
)
=
P
(
x
∣
y
)
P
(
y
)
P
(
x
)
P(y|x) = \frac{P(x|y)P(y)}{P(x)}
P(y∣x)=P(x)P(x∣y)P(y)称为贝叶斯公式。其中,
P
(
y
∣
x
)
P(y|x)
P(y∣x)称为后验概率,以代表给定
x
x
x下
y
y
y的概率;而
P
(
y
)
P(y)
P(y)称为先验概率,表示不考虑
x
x
x下
y
y
y的概率。
P
(
x
∣
y
)
P(x|y)
P(x∣y)称为似然性,而
P
(
x
)
P(x)
P(x)是证据。
其他相关概率论术语参见概率论与数理统计。
1.2 伯努利分布
伯努利【Bernoulli】分布是二项实验的离散分布模型,其描述的情况只可能有两种结果
x
∈
{
0
,
1
}
x \in \{0, 1\}
x∈{0,1}。计算机视觉中,伯努利分布可以模拟数据,如描述一个像素所取灰度值大于或小于128的概率,这被称为二值化。其有一个参数
p
∈
[
0
,
1
]
p \in [0, 1]
p∈[0,1],定义成功,即
x
=
1
x = 1
x=1的概率,有
P
(
x
=
0
)
=
1
−
p
P
(
x
=
1
)
=
p
\begin{aligned}&P(x = 0) = 1 - p \\ & P(x = 1) = p\end{aligned}
P(x=0)=1−pP(x=1)=p或
P
(
x
;
p
)
=
p
x
(
1
−
p
)
1
−
x
P(x;p) = p^x(1-p)^{1-x}
P(x;p)=px(1−p)1−x以及
P
(
x
;
p
)
=
B
(
x
;
p
)
P(x;p)= B(x; p)
P(x;p)=B(x;p)
贝塔分布是由单变量
x
x
x定义的连续分布,
x
∈
[
0
,
1
]
x \in [0, 1]
x∈[0,1],其适合表示伯努利分布中参数
p
p
p的不确定性。贝塔分布有两个参数
α
,
β
∈
[
0
,
+
∞
)
\alpha, \beta \in [0, +\infty)
α,β∈[0,+∞),其概率分布形式为
P
(
x
;
α
,
β
)
=
Γ
(
α
+
β
)
Γ
(
α
)
Γ
(
β
)
x
α
−
1
(
1
−
x
)
β
−
1
P(x;\alpha, \beta) = \frac{\Gamma(\alpha + \beta)}{\Gamma(\alpha)\Gamma(\beta)}x^{\alpha-1}(1-x)^{\beta -1}
P(x;α,β)=Γ(α)Γ(β)Γ(α+β)xα−1(1−x)β−1其中,
Γ
(
⋅
)
\Gamma(·)
Γ(⋅)是伽马函数,定义为
Γ
(
z
)
=
∫
0
+
∞
t
z
−
1
e
−
t
d
t
\Gamma(z) = \int_0^{+\infty}t^{z-1}e^{-t}dt
Γ(z)=∫0+∞tz−1e−tdt且有性质
Γ
(
z
)
=
(
z
−
1
)
!
\Gamma(z) = (z-1)!
Γ(z)=(z−1)!。贝塔分布可以简写为
P
(
x
;
α
,
β
)
=
B
e
t
a
(
x
;
α
,
β
)
P(x;\alpha, \beta) = Beta(x;\alpha, \beta)
P(x;α,β)=Beta(x;α,β)
1.3 分类分布
分类分布是一个离散分布,观察多个可能结果的概率。在计算机视觉中,一个像素的亮度数值通常被量化为离散数值,可以用分类分布对其建模。观察
K
K
K种可能结果的概率可以写为参数向量
p
=
[
p
1
,
p
2
,
.
.
.
,
p
k
]
\bm p = [p_1, p_2, ..., p_k]
p=[p1,p2,...,pk],且
p
i
∈
[
0
,
1
]
p_i \in [0, 1]
pi∈[0,1],
∑
k
=
1
K
p
k
=
1
\sum_{k=1}^K p_k = 1
∑k=1Kpk=1,其有形式
P
(
x
=
k
)
=
p
k
P(x = k) = p_k
P(x=k)=pk可以简记为
P
(
x
;
p
)
=
C
a
t
(
x
;
p
)
P(x;\bm p) = Cat(x;\bm p)
P(x;p)=Cat(x;p)
迪利克雷【Dirichlet】分布定义在
K
K
K个连续值
x
1
,
.
.
.
,
x
k
x_1, ..., x_k
x1,...,xk上,其中
x
k
∈
[
0
,
1
]
x_k \in [0, 1]
xk∈[0,1]且
∑
x
k
=
1
\sum x_k = 1
∑xk=1。其适合定义分类分布中参数
p
p
p的分布。
在
K
K
K维空间中,迪利克雷分布有
K
K
K个参数
a
1
,
.
.
.
,
a
k
a_1, ..., a_k
a1,...,ak,每个参数取正值,参数的相对值决定了参数的期望
E
x
Ex
Ex,参数的绝对值决定了期望两侧的集中程度,其有形式
P
(
x
;
a
)
=
Γ
(
∑
a
k
)
∏
Γ
(
a
k
)
∏
x
k
a
k
−
1
P(\bm x;\bm a) = \frac{\Gamma(\sum a_k)}{\prod \Gamma(a_k)}\prod x_k^{a_k-1}
P(x;a)=∏Γ(ak)Γ(∑ak)∏xkak−1可以简记为
P
(
x
;
a
)
=
D
i
r
(
x
;
a
)
P(\bm x;\bm a) = Dir(\bm x;\bm a)
P(x;a)=Dir(x;a)贝塔分布是一个二维的特殊迪利克雷分布,因为伯努利分布是二维的分类分布。
1.4 高斯分布
高斯【Gauss】分布或称为正态分布由一个连续值
x
∈
R
x \in R
x∈R定义。在视觉领域中,通常可以忽略像素的灰度值是量化的这个事实,并使用高斯分布对其建模。高斯分布有两个参数:均值
μ
\mu
μ与方差
σ
2
\sigma^2
σ2,
μ
\mu
μ决定了峰值的位置,而
σ
2
\sigma^2
σ2决定了分布的宽度,其定义为
P
(
x
;
μ
,
σ
2
)
=
1
2
π
σ
2
e
x
p
[
−
(
x
−
μ
)
2
2
σ
2
]
P(x;\mu, \sigma^2) = \frac{1}{\sqrt{2\pi\sigma^2}}exp[-\frac{(x-\mu)^2}{2\sigma^2}]
P(x;μ,σ2)=2πσ21exp[−2σ2(x−μ)2]或简写为
P
(
x
;
μ
,
σ
2
)
=
N
(
x
;
μ
,
σ
2
)
P(x;\mu, \sigma^2) = N(x;\mu, \sigma^2)
P(x;μ,σ2)=N(x;μ,σ2)当高斯分布由
D
D
D维变量
x
\bm x
x决定时,就形成了多元高斯分布,其参数为均值
μ
\bm \mu
μ与协方差
Σ
\bm\Sigma
Σ,其中
μ
D
×
1
\bm\mu_{D\times1}
μD×1描述了分布的均值,而
Σ
D
×
D
\bm\Sigma_{D\times D}
ΣD×D是正定矩阵,其形式为
P
(
x
;
μ
,
Σ
)
=
1
(
2
π
)
D
/
2
∣
Σ
∣
1
/
2
e
x
p
[
−
(
x
−
μ
)
T
Σ
−
1
(
x
−
μ
)
/
2
]
P(\bm x;\bm \mu, \bm\Sigma) = \frac{1}{(2\pi)^{D/2}|\bm\Sigma|^{1/2}}exp[-(\bm x-\bm\mu)^T\bm\Sigma^{-1}(\bm x - \bm\mu)/2]
P(x;μ,Σ)=(2π)D/2∣Σ∣1/21exp[−(x−μ)TΣ−1(x−μ)/2]或简写为
P
(
x
;
μ
,
Σ
)
=
N
(
x
;
μ
,
Σ
)
P(\bm x;\bm \mu, \bm\Sigma) = N(\bm x;\bm\mu, \bm\Sigma)
P(x;μ,Σ)=N(x;μ,Σ)
正态逆伽马分布由均值
μ
\mu
μ与方差
σ
\sigma
σ定义,用于定义高斯分布的参数的分布,具有四个参数
α
,
β
,
γ
,
δ
\alpha, \beta, \gamma, \delta
α,β,γ,δ,其表达式为
P
(
μ
,
σ
2
;
α
,
β
,
γ
,
δ
)
=
γ
σ
2
π
β
α
Γ
(
α
)
(
1
σ
2
)
α
+
1
e
x
p
[
−
2
β
+
γ
(
δ
−
μ
)
2
2
σ
2
]
P(\mu, \sigma^2; \alpha, \beta, \gamma, \delta) = \frac{\sqrt\gamma}{\sigma\sqrt{2\pi}}\frac{\beta^\alpha}{\Gamma(\alpha)}(\frac{1}{\sigma^2})^{\alpha+1}exp[-\frac{2\beta + \gamma(\delta-\mu)^2}{2\sigma^2}]
P(μ,σ2;α,β,γ,δ)=σ2πγΓ(α)βα(σ21)α+1exp[−2σ22β+γ(δ−μ)2]或简写为
P
(
μ
,
σ
2
;
α
,
β
,
γ
,
δ
)
=
N
I
G
(
μ
,
σ
;
α
,
β
,
γ
,
δ
)
P(\mu, \sigma^2; \alpha, \beta, \gamma, \delta) = NIG(\mu, \sigma; \alpha, \beta, \gamma, \delta)
P(μ,σ2;α,β,γ,δ)=NIG(μ,σ;α,β,γ,δ)相似的,正态逆维希特分布用于描述多元高斯分布的参数分布。
1.5 共轭性
贝塔分布可以表征伯努利分布中参数的概率,相似的,迪利克雷分布表征分类分布中参数的概率,同样的类比关系还有正太逆伽马分布与高斯分布、正态逆维希特分布与多元高斯分布之间。这种关系称前一个分布是后一个的共轭,当一个分布与其共轭分布取积时,会正比于一个新的分布,且与该分布的共轭分布形式相同,例如
B
(
x
;
p
)
B
e
t
a
(
p
;
α
,
β
)
=
k
(
x
,
α
,
β
)
B
e
t
a
(
p
;
α
∗
,
β
∗
)
B(x;p)Beta(p;\alpha, \beta) = k(x, \alpha, \beta)Beta(p;\alpha^*, \beta^*)
B(x;p)Beta(p;α,β)=k(x,α,β)Beta(p;α∗,β∗)这是易于证明的:
B
(
x
;
p
)
B
e
t
a
(
p
;
α
,
β
)
=
p
x
(
1
−
p
)
1
−
x
Γ
(
α
+
β
)
Γ
(
α
)
Γ
(
β
)
p
α
−
1
(
1
−
p
)
β
−
1
=
Γ
(
α
+
β
)
Γ
(
α
)
Γ
(
β
)
p
x
+
α
−
1
(
1
−
p
)
1
−
x
+
β
−
1
=
Γ
(
α
+
β
)
Γ
(
α
)
Γ
(
β
)
Γ
(
x
+
α
)
Γ
(
1
−
x
+
β
)
Γ
(
x
+
α
+
1
−
x
+
β
)
B
e
t
a
(
x
+
α
,
1
−
x
+
β
)
=
k
(
x
,
α
,
β
)
B
e
t
a
(
α
∗
,
β
∗
)
\begin{aligned}B(x;p)Beta(p;\alpha, \beta)& = p^x(1-p)^{1-x}\frac{\Gamma(\alpha + \beta)}{\Gamma(\alpha)\Gamma(\beta)}p^{\alpha-1}(1-p)^{\beta -1} \\ &= \frac{\Gamma(\alpha + \beta)}{\Gamma(\alpha)\Gamma(\beta)}p^{x+\alpha-1}(1-p)^{1-x+\beta-1}\\ &=\frac{\Gamma(\alpha + \beta)}{\Gamma(\alpha)\Gamma(\beta)}\frac{\Gamma(x + \alpha)\Gamma(1-x+\beta)}{\Gamma(x+\alpha+1-x+\beta)}Beta(x + \alpha, 1-x+\beta) \\ &=k(x, \alpha, \beta)Beta(\alpha^*, \beta^*) \end{aligned}
B(x;p)Beta(p;α,β)=px(1−p)1−xΓ(α)Γ(β)Γ(α+β)pα−1(1−p)β−1=Γ(α)Γ(β)Γ(α+β)px+α−1(1−p)1−x+β−1=Γ(α)Γ(β)Γ(α+β)Γ(x+α+1−x+β)Γ(x+α)Γ(1−x+β)Beta(x+α,1−x+β)=k(x,α,β)Beta(α∗,β∗)其中
k
=
Γ
(
α
+
β
)
Γ
(
α
)
Γ
(
β
)
Γ
(
x
+
α
)
Γ
(
1
−
x
+
β
)
Γ
(
x
+
α
+
1
−
x
+
β
)
k = \frac{\Gamma(\alpha + \beta)}{\Gamma(\alpha)\Gamma(\beta)}\frac{\Gamma(x + \alpha)\Gamma(1-x+\beta)}{\Gamma(x+\alpha+1-x+\beta)}
k=Γ(α)Γ(β)Γ(α+β)Γ(x+α+1−x+β)Γ(x+α)Γ(1−x+β)在拟合分布和评估模型时常用到分布的积,而共轭关系提供了积的封闭性。
二、拟合概率模型
对于数据的拟合概率模型,由于拟合时需要学习模型的参数,因此这一过程称为学习,而讨论新数据在模型下的概率分布,称为评估预测分布。
2.1 最大似然法
最大似然法用来求数据
{
x
}
=
{
x
1
,
.
.
.
,
x
I
}
\{\bm x\} = \{\bm x_1, ..., \bm x_I\}
{x}={x1,...,xI}最有可能的参数集合
θ
^
\hat\bm\theta
θ^。对于数据点
x
i
\bm x_i
xi,其似然函数
P
(
x
i
∣
θ
)
P(\bm x_i|\bm\theta)
P(xi∣θ)只需要估算
x
i
\bm x_i
xi的概率密度函数;而对于数据的似然函数
P
(
x
∣
θ
)
P(\bm x|\bm\theta)
P(x∣θ),通常假设数据点是从分布中独立抽样,那么数据的似然函数是数据点的独立似然的积。那么参数的最大似然估计是
θ
^
=
a
r
g
m
a
x
θ
P
(
x
∣
θ
)
=
a
r
g
m
a
x
θ
∏
P
(
x
i
∣
θ
)
\begin{aligned} \hat\bm\theta & = argmax_{\bm\theta}\ P(\bm x|\bm \theta) \\ &= argmax_{\bm\theta}\ \prod P(\bm x_i|\theta) \end{aligned}
θ^=argmaxθ P(x∣θ)=argmaxθ ∏P(xi∣θ)为了估算新数据点
x
∗
\bm x^*
x∗的概率分布,简单估算
P
(
x
∗
∣
θ
^
)
P(\bm x^*|\hat\bm\theta)
P(x∗∣θ^)即可。
考虑一个高斯分布 N ( 1 , 1 ) N(1, 1) N(1,1)产生的 I I I个拟合标量数据 { x } = { x 1 , . . . , x I } \{x\} = \{x_1, ..., x_I\} {x}={x1,...,xI}重新拟合参数的例子,其似然函数通过高斯概率密度函数的积得到: P ( x ∣ μ , σ 2 ) = ∏ P ( x i ∣ μ , σ 2 ) = ∏ N ( x i ; μ , σ 2 ) = 1 ( 2 π σ 2 ) I e x p [ − ∑ ( x i − μ ) 2 2 σ 2 ] \begin{aligned}P(x|\mu, \sigma^2) & = \prod P(x_i|\mu, \sigma^2) \\&= \prod N(x_i; \mu, \sigma^2) \\&= \frac{1}{(\sqrt{2\pi\sigma^2})^I}exp[-\sum \frac{(x_i-\mu)^2}{2\sigma^2}]\end{aligned} P(x∣μ,σ2)=∏P(xi∣μ,σ2)=∏N(xi;μ,σ2)=(2πσ2)I1exp[−∑2σ2(xi−μ)2]原则上可以对上式求导赋零使其最大化,但实际上作为结果的等式会很杂乱,但引入单调的似然对数 L L L可以使得函数最值位置不变的情况下解耦各数据点的贡献。那么有 μ ^ = a r g m a x μ ∑ l o g N ( x i ; μ , σ 2 ) = a r g m a x μ − 1 2 [ l o g ( 2 π ) + I l o g ( σ 2 ) + ∑ ( x i − μ ) 2 σ 2 ] \begin{aligned}\hat\mu & = argmax_{\mu}\ \sum log N(x_i;\mu, \sigma^2) \\&= argmax_\mu\ -\frac{1}{2}[log(2\pi)+Ilog(\sigma^2)+\sum \frac{(x_i - \mu)^2}{\sigma^2}] \end{aligned} μ^=argmaxμ ∑logN(xi;μ,σ2)=argmaxμ −21[log(2π)+Ilog(σ2)+∑σ2(xi−μ)2]取最值只需令 ∂ L / ∂ μ = ∑ x i − μ σ 2 = 0 ∂L/∂\mu = \sum \frac{x_i - \mu}{\sigma^2} = 0 ∂L/∂μ=∑σ2xi−μ=0整理可以得到均值的表达式 μ ^ = ∑ x i / I \hat\mu = \sum x_i/I μ^=∑xi/I类似的,方差可以表示为 σ ^ 2 = ∑ ( x i − μ ^ ) 2 / I \hat\sigma^2 = \sum (x_i - \hat\mu)^2/I σ^2=∑(xi−μ^)2/I此外,很多文献通过最小二乘法讨论拟合高斯分布的均值,事实上,高斯分布的均值的最大似然估计可以写成 μ ^ = a r g m a x μ − 1 2 [ l o g ( 2 π ) + I l o g ( σ 2 ) + ∑ ( x i − μ ) 2 σ 2 ] = a r g m a x μ − 1 2 ∑ ( x i − μ ) 2 = a r g m i n μ ∑ ( x i − μ ) 2 \begin{aligned}\hat\mu &= argmax_\mu\ -\frac{1}{2}[log(2\pi)+Ilog(\sigma^2)+\sum \frac{(x_i - \mu)^2}{\sigma^2}] \\&= argmax_\mu\ -\frac{1}{2}\sum(x_i - \mu)^2 \\&= argmin_\mu \sum(x_i - \mu)^2 \end{aligned} μ^=argmaxμ −21[log(2π)+Ilog(σ2)+∑σ2(xi−μ)2]=argmaxμ −21∑(xi−μ)2=argminμ∑(xi−μ)2即最小二乘拟合和最大似然拟合一个高斯分布是等价的。
2.2 最大后验法
最大后验法引入参数
θ
\bm\theta
θ的先验信息,即先验也许会对可能的参数值提供一些信息,例如在时间序列中,前一时刻的参数值可能会提供后一时刻的参数可能值的信息,而这个信息可以从先验分布中得到。
最大后验估计是最大化参数的后验概率
P
(
θ
∣
x
)
P(\bm\theta|\bm x)
P(θ∣x):
θ
^
=
a
r
g
m
a
x
θ
P
(
θ
∣
x
)
=
a
r
g
m
a
x
θ
P
(
x
∣
θ
)
P
(
θ
)
P
(
x
)
=
a
r
g
m
a
x
θ
[
∏
P
(
x
i
∣
θ
)
]
P
(
θ
)
P
(
x
)
\begin{aligned}\hat\bm\theta & = argmax_{\bm\theta}\ P(\bm\theta|\bm x) \\ &= argmax_{\bm\theta}\ \frac{P(\bm x|\bm\theta)P(\bm\theta)}{P(\bm x)} \\ &= argmax_{\bm\theta}\ \frac{[\prod P(\bm x_i|\bm\theta)]P(\bm\theta)}{P(\bm x)} \end{aligned}
θ^=argmaxθ P(θ∣x)=argmaxθ P(x)P(x∣θ)P(θ)=argmaxθ P(x)[∏P(xi∣θ)]P(θ)实际上,可以忽略对于参数而言是常数的
P
(
x
)
P(\bm x)
P(x),因为其不会影响最大值的位置,得到
θ
^
=
a
r
g
m
a
x
θ
[
∏
P
(
x
i
∣
θ
)
]
P
(
θ
)
\hat\bm\theta = argmax_{\bm\theta}\ [\prod P(\bm x_i|\bm\theta)]P(\bm\theta)
θ^=argmaxθ [∏P(xi∣θ)]P(θ)其与最大似然估计相比,会发现除了先验部分外都相同,这是因为最大似然估计是最大后验估计在先验信息位置情况下的一个特例。
为了估算新数据点
x
∗
\bm x^*
x∗的概率分布,简单估算
P
(
x
∗
∣
θ
^
)
P(\bm x^*|\hat\bm\theta)
P(x∗∣θ^)即可。
依然考虑高斯分布 N ( 1 , 1 ) N(1, 1) N(1,1)产生的 I I I个拟合标量数据 { x } = { x 1 , . . . , x I } \{x\} = \{x_1, ..., x_I\} {x}={x1,...,xI}重新拟合参数的例子,代价函数为 μ ^ , σ ^ 2 = a r g m a x μ , σ 2 [ ∏ P ( x i ∣ μ , σ 2 ) ] P ( μ , σ 2 ) = a r g m a x μ , σ 2 [ ∏ N ( x i ; μ , σ ) ] N I G ( μ , σ 2 ; α , β , γ , δ ) \begin{aligned}\hat\mu, \hat\sigma^2 &= argmax_{\mu, \sigma^2}\ [\prod P(x_i|\mu, \sigma^2)]P(\mu, \sigma^2) \\&= argmax_{\mu, \sigma^2}\ [\prod N(x_i;\mu, \sigma)]NIG(\mu, \sigma^2; \alpha, \beta, \gamma, \delta) \end{aligned} μ^,σ^2=argmaxμ,σ2 [∏P(xi∣μ,σ2)]P(μ,σ2)=argmaxμ,σ2 [∏N(xi;μ,σ)]NIG(μ,σ2;α,β,γ,δ)其与高斯分布共轭,且与最大似然估计一样,很容易最大化上述式的对数: μ ^ , σ ^ 2 = a r g m a x μ , σ 2 [ ∑ l o g N ( x i ; μ , σ 2 ) + l o g N I G ( μ , σ 2 ; α , β , γ , δ ) ] \hat\mu, \hat\sigma^2 = argmax_{\mu, \sigma^2}[\sum logN(x_i;\mu, \sigma^2)+logNIG(\mu, \sigma^2; \alpha, \beta, \gamma, \delta)] μ^,σ^2=argmaxμ,σ2[∑logN(xi;μ,σ2)+logNIG(μ,σ2;α,β,γ,δ)]偏微分赋零,可以得到 ∂ L / ∂ μ = ∑ ( x i − μ ) + γ ( δ − μ ) σ 2 ∂L/∂\mu = \frac{\sum (x_i - \mu) + \gamma(\delta - \mu)}{\sigma^2} ∂L/∂μ=σ2∑(xi−μ)+γ(δ−μ)可得 μ ^ = ∑ x i + γ δ I + γ \hat\mu = \frac{\sum x_i + \gamma\delta}{I + \gamma} μ^=I+γ∑xi+γδ类似的,方差可以表示为 σ ^ 2 = ∑ ( x i − μ ^ ) 2 + 2 β + γ ( δ − μ ^ ) 2 I + 3 + 2 α \hat\sigma^2 = \frac{\sum(x_i - \hat\mu)^2 + 2\beta + \gamma(\delta - \hat\mu)^2}{I + 3 + 2\alpha} σ^2=I+3+2α∑(xi−μ^)2+2β+γ(δ−μ^)2上述式给出了一些关于最大后验估计结果的思考,对于均值的估计,如果有大量的数据,那么 ∑ x i \sum x_i ∑xi起主要作用, μ ^ \hat\mu μ^与数据的均值更加接近;而相反的,如果根本没有数据,那么就完全根据先验值决定;而数据适中时, μ ^ \hat\mu μ^由数据预测与先验预测加权决定。
2.3 贝叶斯方法
贝叶斯方法不试图估计参数
θ
\bm\theta
θ的确定值,而是在数据上估计参数
θ
\bm\theta
θ的概率分布
P
(
θ
)
=
[
∏
P
(
x
i
∣
θ
)
]
P
(
θ
)
P
(
x
)
P(\bm\theta) = \frac{[\prod P(\bm x_i|\bm\theta)]P(\bm\theta)}{P(\bm x)}
P(θ)=P(x)[∏P(xi∣θ)]P(θ)因为没有估算出参数的确定值,因此对于新数据点
x
∗
\bm x^*
x∗的概率分布估算更加困难,需要计算
P
(
x
∗
∣
x
)
=
∫
P
(
x
∗
∣
θ
)
P
(
θ
∣
x
)
d
θ
P(\bm x^*|\bm x) = \int P(\bm x^*|\bm\theta)P(\bm\theta|\bm x)d\bm\theta
P(x∗∣x)=∫P(x∗∣θ)P(θ∣x)dθ其中
P
(
x
∗
∣
θ
)
P(\bm x^*|\bm\theta)
P(x∗∣θ)是给定值
θ
\bm\theta
θ的预测,而积分是
θ
\bm\theta
θ的不同参数值在其概率下的加权和。
如果某个分布的最大似然估计和最大后验估计的参数均为
θ
^
\hat\bm\theta
θ^,那么可以将贝叶斯方法与其统一起来,形成中心在
θ
^
\hat\bm\theta
θ^的贝塔函数,令
δ
(
z
)
\delta(z)
δ(z)是冲激函数,那么有
P
(
x
∗
∣
x
)
=
∫
P
(
x
∗
∣
θ
)
δ
(
θ
^
)
d
θ
=
P
(
x
∗
∣
θ
^
)
\begin{aligned}P(\bm x^*|\bm x) &= \int P(\bm x^*|\bm\theta)\delta(\hat\bm\theta)d\bm\theta \\&= P(\bm x^*|\hat\bm\theta)\end{aligned}
P(x∗∣x)=∫P(x∗∣θ)δ(θ^)dθ=P(x∗∣θ^)这使得估算数据在估计参数模型下的概率有了统一的形式。
依然考虑高斯分布
N
(
1
,
1
)
N(1, 1)
N(1,1)产生的
I
I
I个拟合标量数据
{
x
}
=
{
x
1
,
.
.
.
,
x
I
}
\{x\} = \{x_1, ..., x_I\}
{x}={x1,...,xI}重新拟合参数的例子,根据贝叶斯公式,有
P
(
μ
,
σ
2
∣
x
)
=
[
∏
P
(
x
i
∣
μ
,
σ
2
)
]
P
(
μ
,
σ
2
)
P
(
x
)
=
[
∏
N
(
x
i
;
μ
,
σ
2
)
N
I
G
(
μ
,
σ
2
;
α
,
β
,
γ
,
δ
)
]
P
(
x
)
=
k
N
I
V
(
μ
,
σ
2
;
α
∗
,
β
∗
,
γ
∗
,
δ
∗
)
P
(
x
)
\begin{aligned}P(\mu, \sigma^2|x)& = \frac{[\prod P(x_i|\mu, \sigma^2)]P(\mu, \sigma^2)}{P(x)} \\&= \frac{[\prod N(x_i;\mu, \sigma^2)NIG(\mu, \sigma^2;\alpha, \beta, \gamma, \delta)]}{P(x)} \\&= \frac{kNIV(\mu, \sigma^2;\alpha^*, \beta^*, \gamma^*, \delta^*)}{P(x)}\end{aligned}
P(μ,σ2∣x)=P(x)[∏P(xi∣μ,σ2)]P(μ,σ2)=P(x)[∏N(xi;μ,σ2)NIG(μ,σ2;α,β,γ,δ)]=P(x)kNIV(μ,σ2;α∗,β∗,γ∗,δ∗)其与高斯分布共轭,
k
k
k是一个相关的常数,要注意到的是,
P
(
μ
,
σ
2
∣
x
)
P(\mu, \sigma^2|x)
P(μ,σ2∣x)是关于
μ
,
σ
2
\mu, \sigma^2
μ,σ2的函数且积分为1,而
N
I
V
(
μ
,
σ
2
;
α
∗
,
β
∗
,
γ
∗
,
δ
∗
)
NIV(\mu, \sigma^2;\alpha^*, \beta^*, \gamma^*, \delta^*)
NIV(μ,σ2;α∗,β∗,γ∗,δ∗)也是关于
μ
,
σ
2
\mu, \sigma^2
μ,σ2的函数且积分也为1,那么常量
k
k
k与
P
(
x
)
P(x)
P(x)必然有
k
/
P
(
x
)
=
1
k/P(x) = 1
k/P(x)=1,即
P
(
μ
,
σ
2
∣
x
)
=
N
I
V
(
μ
,
σ
2
;
α
∗
,
β
∗
,
γ
∗
,
δ
∗
)
P(\mu, \sigma^2|x) = NIV(\mu, \sigma^2;\alpha^*, \beta^*, \gamma^*, \delta^*)
P(μ,σ2∣x)=NIV(μ,σ2;α∗,β∗,γ∗,δ∗)这也是共轭先验的优势:保证关于参数的后验分布是一个封闭的表达式。
再来看对于新数据
x
∗
x^*
x∗的密度估计,有
P
(
x
∗
∣
x
)
=
∬
P
(
x
∗
∣
μ
,
σ
2
)
P
(
μ
,
σ
2
∣
x
)
d
μ
d
σ
=
∬
N
(
x
∗
;
μ
,
σ
2
)
N
I
V
(
μ
,
σ
2
;
α
∗
,
β
∗
,
γ
∗
,
δ
∗
)
d
μ
d
σ
=
∬
k
(
x
∗
,
α
∗
,
β
∗
,
γ
∗
,
δ
∗
)
N
I
V
(
μ
,
σ
2
;
α
∗
,
β
∗
,
γ
∗
,
δ
∗
)
d
μ
d
σ
=
k
(
x
∗
,
α
∗
,
β
∗
,
γ
∗
,
δ
∗
)
∬
N
I
V
(
μ
,
σ
2
;
α
∗
,
β
∗
,
γ
∗
,
δ
∗
)
d
μ
d
σ
=
k
(
x
∗
,
α
∗
,
β
∗
,
γ
∗
,
δ
∗
)
\begin{aligned}P(x^*|x)& = \iint P(x^*|\mu, \sigma^2)P(\mu, \sigma^2|x)d\mu d\sigma \\&= \iint N(x^*;\mu, \sigma^2)NIV(\mu, \sigma^2;\alpha^*, \beta^*, \gamma^*, \delta^*)d\mu d\sigma \\&= \iint k(x^*, \alpha^*, \beta^*, \gamma^*, \delta^*)NIV(\mu, \sigma^2;\alpha^*, \beta^*, \gamma^*, \delta^*)d\mu d\sigma \\&= k(x^*, \alpha^*, \beta^*, \gamma^*, \delta^*)\iint NIV(\mu, \sigma^2;\alpha^*, \beta^*, \gamma^*, \delta^*)d\mu d\sigma \\&= k(x^*, \alpha^*, \beta^*, \gamma^*, \delta^*) \end{aligned}
P(x∗∣x)=∬P(x∗∣μ,σ2)P(μ,σ2∣x)dμdσ=∬N(x∗;μ,σ2)NIV(μ,σ2;α∗,β∗,γ∗,δ∗)dμdσ=∬k(x∗,α∗,β∗,γ∗,δ∗)NIV(μ,σ2;α∗,β∗,γ∗,δ∗)dμdσ=k(x∗,α∗,β∗,γ∗,δ∗)∬NIV(μ,σ2;α∗,β∗,γ∗,δ∗)dμdσ=k(x∗,α∗,β∗,γ∗,δ∗)这又体现了共轭的优势:积分可计算,且保持密度预测的封闭表达式。
三、视觉学习
在视觉问题中,视觉数据
x
\bm x
x用于推测全局状态
y
\bm y
y,而
y
\bm y
y可能是连续的,例如身体模型的三维姿态,其推理过程称为回归;或者离散的,例如物体的存在与否,其推理过程称为分类。
遗憾的是,
x
\bm x
x可能兼容多个全局状态
y
\bm y
y,一方面,视觉的测量过程受噪声影响;另一方面,视觉数据本身具有多义性:例如一块煤在强光下和一张白纸在弱光下产生的亮度可能是一样的。
为了解决视觉问题,需要三个要素:
-模型,指定
x
\bm x
x与
y
\bm y
y之间可能的关系,并通过模型的参数
θ
\bm\theta
θ来确定这一关系;
-学习,利用成对的训练样本
(
x
,
y
)
(\bm x, \bm y)
(x,y)来拟合参数
θ
\bm\theta
θ,在这些样本中,需要同时知道测量值与基本状态;
-推理,根据新的观测值
x
\bm x
x,可以利用模型返回全局状态的后验概率
P
(
y
∣
x
,
θ
)
P(\bm y|\bm x, \bm\theta)
P(y∣x,θ)。
3.1 模型
视觉问题的首要要素是模型。对于涉及数据
x
\bm x
x和全局状态
y
\bm y
y的模型都属于以下两种之一:
-建立在数据上的全局状态可能性模型
P
(
y
∣
x
)
P(\bm y|\bm x)
P(y∣x),称为判别模型;
-建立在全局状态上的数据可能性模型
P
(
x
∣
y
)
P(\bm x|\bm y)
P(x∣y),称为生成模型。
3.1.1 判别模型
在判别模型中,为了建立模型
P
(
y
∣
x
)
P(\bm y|\bm x)
P(y∣x),需要选择在
y
\bm y
y上分布的合适形式
P
(
y
)
P(\bm y)
P(y),并将分布的参数
θ
\bm\theta
θ作为数据
x
\bm x
x的参数。例如在连续的全局状态中,可以建立服从于高斯分布
N
N
N的全局状态
P
(
y
)
P(\bm y)
P(y),并将均值
μ
\bm\mu
μ作为数据
x
\bm x
x的函数。
学习的目标是利用成对的训练数据
(
x
,
y
)
(\bm x, \bm y)
(x,y)拟合参数
θ
\bm\theta
θ,这可以通过最大似然估计、最大后验估计或贝叶斯估计得到。
推理的目标是对新的观测量
x
\bm x
x求出可能的全局状态
y
\bm y
y的一个分布,一个简单的方法就是使用已经为
P
(
y
∣
x
)
P(\bm y|\bm x)
P(y∣x)构造的表达式进行估算。
3.1.2 生成模型
在生成模型中,需要选择数据分布
P
(
x
)
P(\bm x)
P(x)的形式,并将分布参数设为全局状态
y
\bm y
y的一个函数,例如在离散的多值数据中,利用分类分布可以将参数向量
p
\bm p
p设为全局状态
y
\bm y
y的一个函数。
学习的目标是利用成对的训练数据
(
x
,
y
)
(\bm x, \bm y)
(x,y)拟合参数
θ
\bm\theta
θ。
推理的目标是计算后验分布
P
(
y
∣
x
)
P(\bm y|\bm x)
P(y∣x),为此,指定一个关于全局状态的先验
P
(
y
)
P(\bm y)
P(y)并利用贝叶斯公式来获得
P
(
y
∣
x
)
P(\bm y|\bm x)
P(y∣x):
P
(
y
∣
x
)
=
P
(
x
∣
y
)
P
(
y
)
∫
P
(
x
∣
y
)
P
(
y
)
d
y
P(\bm y|\bm x) = \frac{P(\bm x|\bm y)P(\bm y)}{\int P(\bm x|\bm y)P(\bm y)d\bm y}
P(y∣x)=∫P(x∣y)P(y)dyP(x∣y)P(y)
3.2 回归问题
考虑一个简单的情形:构造一个一元连续测量值
x
x
x并利用它来预测一元连续状态
y
y
y,例如根据路上汽车的轨迹所包含像素的数目预测汽车的尺寸。
3.3.1 回归问题的判别模型
在判别模型中,定义全局状态
y
y
y的概率分布,并且设其参数与数据
x
x
x有关,可以选择高斯分布,设置方差
σ
2
\sigma^2
σ2并设均值
μ
=
w
0
+
w
1
x
\mu = w_0 + w_1x
μ=w0+w1x,其中
θ
=
(
w
0
,
w
1
,
σ
2
)
\bm\theta = (w_0, w_1, \sigma^2)
θ=(w0,w1,σ2),那么有
P
(
y
∣
x
,
θ
)
=
N
(
y
;
w
0
+
w
1
x
,
σ
2
)
P(y|x, \bm\theta) = N(y;w_0 + w_1x, \sigma^2)
P(y∣x,θ)=N(y;w0+w1x,σ2)由于均值与数据呈线性关系,该模型也称为线性回归。
学习算法从成对的训练数据
(
x
,
y
)
(x, y)
(x,y)中估计模型参数
θ
\bm\theta
θ,例如在最大后验估计中,有
θ
^
=
a
r
g
m
a
x
θ
[
∏
P
(
y
∣
x
,
θ
)
]
P
(
θ
)
\hat\bm\theta = argmax_{\bm\theta}\ [\prod P(y|x, \bm\theta)]P(\bm\theta)
θ^=argmaxθ [∏P(y∣x,θ)]P(θ)其中,假设
I
I
I个训练数据互相独立,且有合适的先验
P
(
θ
)
P(\bm\theta)
P(θ)。
推理算法根据视觉数据
x
x
x返回后验分布
P
(
y
∣
x
,
θ
)
P(y|x, \bm\theta)
P(y∣x,θ),只需要将数据
x
x
x带入到学习到参数
θ
^
=
(
w
^
0
,
w
^
1
,
σ
^
2
)
\hat\bm\theta = (\hat w_0, \hat w_1, \hat \sigma^2)
θ^=(w^0,w^1,σ^2)计算式中,即可得到后验分布
P
(
y
∣
x
,
θ
)
=
N
(
y
;
w
^
0
+
w
^
1
x
,
σ
^
2
)
P(y|x, \bm\theta)=N(y;\hat w_0+\hat w_1x, \hat \sigma^2)
P(y∣x,θ)=N(y;w^0+w^1x,σ^2)
3.2.2 回归问题的生成模型
在生成模型中,需要选择关于数据
x
x
x的概率分布并使其参数视全局状态
y
y
y而定。将数据建模为方差为
σ
2
\sigma^2
σ2,均值为
μ
=
w
0
+
w
1
y
\mu = w_0 + w_1y
μ=w0+w1y的高斯分布,那么有
P
(
x
∣
y
,
θ
)
=
N
(
x
;
w
0
+
w
1
y
,
σ
2
)
P(x|y, \bm\theta) = N(x; w_0 + w_1y, \sigma^2)
P(x∣y,θ)=N(x;w0+w1y,σ2)以及关于全局状态的先验
P
(
y
)
P(y)
P(y),其也可能是高斯分布,即
P
(
y
)
=
N
(
y
;
μ
y
,
σ
y
2
)
P(y) = N(y; \mu_y, \sigma^2_y)
P(y)=N(y;μy,σy2) 学习算法利用成对的训练数据
(
x
,
y
)
(x, y)
(x,y)拟合参数
θ
\bm\theta
θ,并用全局状态
y
y
y拟合参数
θ
y
=
(
μ
y
,
σ
y
2
)
\bm\theta_y = (\mu_y, \sigma^2_y)
θy=(μy,σy2)。
推理算法根据视觉数据
x
x
x利用贝叶斯公式返回后验分布
P
(
y
∣
x
)
=
P
(
x
∣
y
)
P
(
y
)
P
(
x
)
=
P
(
x
,
y
)
P
(
x
)
P(y|x) = \frac{P(x|y)P(y)}{P(x)} = \frac{P(x, y)}{P(x)}
P(y∣x)=P(x)P(x∣y)P(y)=P(x)P(x,y)
3.3 分类问题
考虑一个简单的分类问题:考虑观测值
x
x
x是一元连续的,但全局状态
y
y
y是二值离散的,例如根据观测图像的红色通道来判定一个像素是属于皮肤区域还是非皮肤区域。
3.3.1 分类问题的判别模型
在判别模型中。需要定义全局状态
y
∈
{
0
,
1
}
y \in \{0, 1\}
y∈{0,1}的一个概率分布,可以使用伯努利分布,并且参数
p
p
p依数据
x
x
x而定。由于要保证约束
p
∈
[
0
,
1
]
p \in [0, 1]
p∈[0,1],如果建立线性函数
p
=
w
0
+
w
1
x
p = w_0 + w_1x
p=w0+w1x,该函数的返回值值域为
(
−
∞
,
+
∞
)
(-\infty, +\infty)
(−∞,+∞),需要定义一个函数将返回值的值域映射到
(
0
,
1
)
(0, 1)
(0,1),定义
P
(
y
∣
x
)
=
B
(
y
;
s
i
g
m
o
i
d
(
p
)
)
=
B
(
y
;
1
1
+
e
x
p
[
−
w
0
−
w
1
x
]
)
P(y|x) = B(y;sigmoid(p)) = B(y;\frac{1}{1+exp[-w_0-w_1x]})
P(y∣x)=B(y;sigmoid(p))=B(y;1+exp[−w0−w1x]1)其中,
s
i
g
m
o
i
d
(
⋅
)
sigmoid(·)
sigmoid(⋅)函数称为逻辑S型函数【Sigmoid】,该模型也称为逻辑回归。
在学习中,使用成对训练数据
(
x
,
y
)
(x, y)
(x,y)拟合参数
θ
=
(
w
0
,
w
1
)
\bm\theta = (w_0, w_1)
θ=(w0,w1),而在推理中,只需将观测数据值
x
x
x代入
s
i
g
m
o
i
d
(
p
^
(
x
)
)
sigmoid(\hat p(x))
sigmoid(p^(x))来获取状态的后验分布
P
(
y
∣
x
)
P(y|x)
P(y∣x)。
3.3.2 分类问题的生成模型
在生成模型中,选择数据
x
x
x的一个概率分布,使其参数依全局状态
y
y
y而定。可以选择高斯分布,使得
P
(
x
∣
y
,
θ
)
=
N
(
x
;
μ
(
y
)
,
σ
(
y
)
)
P(x|y, \bm\theta) = N(x;\mu(y), \sigma(y))
P(x∣y,θ)=N(x;μ(y),σ(y))在实际情况下,
y
∈
{
0
,
1
}
y \in \{0, 1\}
y∈{0,1},因此
P
(
x
∣
y
=
0
)
=
N
(
x
;
μ
0
,
σ
0
2
)
P
(
x
∣
y
=
1
)
=
N
(
x
;
μ
1
,
σ
1
2
)
P(x|y = 0) = N(x;\mu_0, \sigma^2_0) \\ P(x|y = 1) = N(x;\mu_1, \sigma^2_1)
P(x∣y=0)=N(x;μ0,σ02)P(x∣y=1)=N(x;μ1,σ12)为每种类别数据的密度进行了建模,也称为类条件密度函数。同时,也需要定义全局状态的先验分布
P
(
y
)
=
B
(
y
;
p
)
P(y) = B(y;p)
P(y)=B(y;p)其中
p
p
p是全局状态
y
=
1
y = 1
y=1时的先验概率。
在学习时,使用训练数据对
(
x
,
y
)
(x, y)
(x,y)拟合参数
θ
=
(
μ
0
,
μ
1
,
σ
0
2
,
σ
1
2
)
\bm\theta = (\mu_0, \mu_1, \sigma^2_0, \sigma^2_1)
θ=(μ0,μ1,σ02,σ12),通过训练全局状态
y
y
y学习先验参数
p
p
p;而推理算法利用数据
x
x
x在贝叶斯公式下返回全局状态
y
y
y的后验分布
P
(
y
∣
x
)
=
P
(
x
∣
y
)
P
(
y
)
P
(
x
∣
y
=
0
)
P
(
y
=
0
)
+
P
(
x
∣
y
=
1
)
P
(
y
=
1
)
P(y|x) = \frac{P(x|y)P(y)}{P(x|y=0)P(y=0)+P(x|y=1)P(y=1)}
P(y∣x)=P(x∣y=0)P(y=0)+P(x∣y=1)P(y=1)P(x∣y)P(y)
3.4 应用:背景差分
背景差分技术是很多视觉系统中常见的第一步,因为它可以快速的确定图像中感兴趣的区域。
背景差分的目标是推理图像中某个元素是否是背景
y
=
0
y=0
y=0或者前景目标有遮挡
y
=
1
y=1
y=1,其依据是像素数据
x
\bm x
x的RGB值。考虑使用生成分类模型解决该问题。
训练数据
x
\bm x
x通常包含大量的所有像素都属于背景的空场景,然而前景目标外观多变的训练样本并不典型。一般将背景的类条件分布建模为高斯分布
P
(
x
∣
w
=
0
)
=
N
(
x
;
μ
0
,
Σ
0
)
P(\bm x|w = 0) = N(\bm x;\bm\mu_0, \bm\Sigma_0)
P(x∣w=0)=N(x;μ0,Σ0)而将前景类别建模为均匀分布
P
(
x
∣
w
=
1
)
=
{
1
/
25
5
3
,
0
<
x
R
,
x
G
,
x
B
<
255
0
,
o
t
h
e
r
s
P(\bm x|w=1) = \left\{\begin{aligned}&1/255^3 &&, 0<x_R, x_G, x_B < 255\\&0 &&, others \\\end{aligned}\right.
P(x∣w=1)={1/25530,0<xR,xG,xB<255,others并将先验建模为伯努利变量
P
(
y
)
=
B
(
y
;
p
)
P(y) = B(y;p)
P(y)=B(y;p)并进行学习与推理。
典型的,该方法经常存在一个问题:阴影经常误分类为前景,一个简单的补救方法是仅依靠色相和饱和度而忽略亮度来分类像素。
在一些情况下,可能需要更复杂的分布来描述背景。例如对于室外场景,树随风摇摆,一部分叶子间歇地在其他叶子前面飘动,可能造成像素的双峰分布,而单峰的高斯分布无法很好的描述该数据,造成背景差分的效果很差。
四、复杂数据密度建模
实际上,假设所有复杂的视觉数据都可以用高斯分布来表示是不太现实的,需要根据基础概率密度函数利用隐变量来构造复杂函数。
4.1 高斯分布模型
考虑分类问题的生成模型,对数据
x
\bm x
x的概率进行建模,并利用全局状态
y
y
y进行参数化,利用多元高斯分布描述数据
P
(
x
∣
y
)
=
N
(
x
;
μ
y
,
Σ
y
)
P(\bm x|y) = N(\bm x;\bm\mu_y, \bm\Sigma_y)
P(x∣y)=N(x;μy,Σy)其描述了以全局状态
y
y
y为条件的数据
x
\bm x
x的密度。
学习是从训练数据对
(
x
,
y
)
(\bm x, y)
(x,y)中估计参数
θ
\bm\theta
θ,例如利用最大似然方法
θ
^
=
a
r
g
m
a
x
θ
∏
P
(
x
∣
θ
)
\hat\bm\theta = argmax_{\bm\theta}\ \prod P(x|\bm\theta)
θ^=argmaxθ ∏P(x∣θ) 推理是利用新的数据
x
\bm x
x为之分配一个类
y
y
y,为了实现这个目的,定义一个全局状态
P
(
y
)
=
B
(
y
;
p
)
P(y) = B(y;p)
P(y)=B(y;p)的一个先验并应用贝叶斯公式
P
(
y
∣
x
)
=
P
(
x
∣
y
)
P
(
y
)
P
(
x
)
P(y|\bm x) = \frac{P(\bm x|y)P(y)}{P(\bm x)}
P(y∣x)=P(x)P(x∣y)P(y) 然而,这种分类器的成功取决于利用高斯分布拟合数据,但是由于以下诸多原因,拟合的效果可能是较差的:
-高斯分布是单峰的,而复杂的视觉数据无法利用单峰概率密度函数很好的表示;
-高斯分布不是健壮的,单个异常样本会显著影响均值和方差的估计;
-高斯分布的参数过多,对于高维的数据,整个协方差矩阵包含过多的参数,而训练数据过少的情况下,这些参数甚至无法唯一的确定。
为了解决上述问题,分别引入高斯混合模型、学生氏分布与子空间模型,并引入每个每个观测数据点
x
i
\bm x_i
xi所对应的隐变量
h
i
\bm h_i
hi,使最终的概率密度函数特性更加复杂。
4.2 隐变量
为了对关于变量
x
\bm x
x的复杂概率密度函数建模,将引入隐变量
h
\bm h
h,其可能是离散的或连续的。
为了充分利用隐变量,将最终密度
P
(
x
)
P(\bm x)
P(x)描述为
x
\bm x
x与
h
\bm h
h的联合概率密度
P
(
w
,
h
)
P(\bm w, \bm h)
P(w,h)的边缘分布
P
(
x
)
=
∫
P
(
x
,
h
)
d
h
P(\bm x) = \int P(\bm x, \bm h)d\bm h
P(x)=∫P(x,h)dh对于联合概率密度
P
(
x
,
h
)
P(\bm x, \bm h)
P(x,h),可以选择对
h
\bm h
h积分时相对简单,而且能够生成一系列表达性非独立的分布
P
(
x
)
P(\bm x)
P(x)的模型。
无论选取何种联合分布,都应该有一些参数
θ
\bm\theta
θ,故可以表达成
P
(
x
∣
θ
)
=
∫
P
(
x
,
h
∣
θ
)
d
h
P(\bm x|\bm\theta) = \int P(\bm x, \bm h|\bm\theta)d\bm h
P(x∣θ)=∫P(x,h∣θ)dh当使用最大似然估计拟合模型时,不会涉及隐变量,也可以使用暴力搜索非线性优化技术,在此不展开详述。还有一种方法:最大期望算法,其可以直接优化含隐变量的参数,形如
θ
^
=
a
r
g
m
a
x
θ
∑
l
o
g
[
∫
P
(
x
i
,
h
i
∣
θ
)
d
h
i
]
\hat\bm\theta = argmax_{\bm\theta}\ \sum log[\int P(\bm x_i, \bm h_i|\bm\theta)d\bm h_i]
θ^=argmaxθ ∑log[∫P(xi,hi∣θ)dhi]
4.3 期望最大化
期望最大化【Expectation Maximization,EM】算法也称为最大期望算法,其目标是提供足够的信息,来利用该技术拟合模型。
4.3.1 似然函数的下界
EM算法用来求模型参数
θ
\bm\theta
θ的最大似然或最大后验估计,其中数据
x
\bm x
x的似然可以表示成
P
(
x
∣
θ
)
=
∑
k
P
(
x
,
h
=
k
∣
θ
)
P(\bm x|\bm\theta) = \sum_{\bm k} P(\bm x,\bm h = \bm k|\bm\theta)
P(x∣θ)=k∑P(x,h=k∣θ)或
P
(
x
∣
θ
)
=
∫
P
(
x
,
h
∣
θ
)
d
h
P(\bm x|\bm\theta) = \int P(\bm x, \bm h|\bm\theta)d\bm h
P(x∣θ)=∫P(x,h∣θ)dh即似然函数是数据和隐变量的联合概率分布的边缘概率。以连续隐变量为例,取对数似然,形如
l
n
L
(
x
∣
θ
)
=
∑
i
=
1
I
l
o
g
∫
P
(
x
i
,
h
i
∣
θ
)
d
h
i
lnL(\bm x|\bm\theta) = \sum_{i = 1}^I log \int P(\bm x_i, \bm h_i|\bm\theta)d\bm h_i
lnL(x∣θ)=i=1∑Ilog∫P(xi,hi∣θ)dhiEM算法依赖于对数似然函数的下界函数
B
(
θ
)
=
i
n
f
l
n
L
(
x
∣
θ
)
B(\bm\theta) =inf\ lnL(\bm x|\bm \theta)
B(θ)=inf lnL(x∣θ),取
B
(
q
i
(
h
i
)
,
θ
)
=
∑
i
=
1
I
∫
q
i
(
h
i
)
l
o
g
P
(
x
i
,
h
i
∣
θ
)
q
i
(
h
i
)
d
h
i
B(q_i(\bm h_i), \bm\theta) = \sum_{i=1}^I \int q_i(\bm h_i)log\frac{P(\bm x_i, \bm h_i|\bm\theta)}{q_i(\bm h_i)}d\bm h_i
B(qi(hi),θ)=i=1∑I∫qi(hi)logqi(hi)P(xi,hi∣θ)dhi根据琴生【Jensen】不等式,对于凹的对数函数,有
E
[
l
o
g
(
y
)
]
≤
l
o
g
(
E
[
y
]
)
E[log(y)] \le log(E[y])
E[log(y)]≤log(E[y])那么有
B
(
q
i
(
h
i
)
,
θ
)
=
∑
i
=
1
I
∫
q
i
(
h
i
)
l
o
g
P
(
x
i
,
h
i
∣
θ
)
q
i
(
h
i
)
d
h
i
≤
∑
i
=
1
I
l
o
g
∫
q
i
(
h
i
)
P
(
x
i
,
h
i
∣
θ
)
q
i
(
h
i
)
d
h
i
=
∑
i
=
1
I
l
o
g
∫
P
(
x
i
,
h
i
∣
θ
)
d
h
i
=
l
n
L
(
x
∣
θ
)
\begin{aligned}B(q_i(\bm h_i), \bm\theta)& = \sum_{i=1}^I \int q_i(\bm h_i)log\frac{P(\bm x_i, \bm h_i|\bm\theta)}{q_i(\bm h_i)}d\bm h_i \\ &\le \sum_{i=1}^I log \int q_i(\bm h_i)\frac{P(\bm x_i, \bm h_i|\bm\theta)}{q_i(\bm h_i)}d\bm h_i \\&= \sum_{i = 1}^I log \int P(\bm x_i, \bm h_i|\bm\theta)d\bm h_i \\&= lnL(\bm x|\bm\theta) \end{aligned}
B(qi(hi),θ)=i=1∑I∫qi(hi)logqi(hi)P(xi,hi∣θ)dhi≤i=1∑Ilog∫qi(hi)qi(hi)P(xi,hi∣θ)dhi=i=1∑Ilog∫P(xi,hi∣θ)dhi=lnL(x∣θ)可以看出,除了参数
θ
\bm\theta
θ以外,下界
B
(
q
i
(
h
i
)
,
θ
)
B(q_i(\bm h_i), \bm\theta)
B(qi(hi),θ)还与一组关于隐变量
h
\bm h
h的概率分布
q
(
h
)
q(\bm h)
q(h)有关。当改变这些概率分布时,
B
B
B的值也会改变,但始终不大于对数似然函数。
EM算法同时改变参数
θ
\bm\theta
θ与分布
q
(
h
)
q(\bm h)
q(h)来提高下界
B
B
B,其交替进行一下两种操作:
-更新隐变量的概率分布
q
(
h
)
q(\bm h)
q(h)来提高下界
B
B
B,称为期望步;
-更新参数
θ
\bm\theta
θ来提高下界
B
B
B,称为最大化步。
4.3.2 E步
在E步,更新关于分布
q
i
(
h
i
)
q_i(\bm h_i)
qi(hi)的界
B
(
q
i
(
h
i
)
,
θ
)
B(q_i(\bm h_i), \bm\theta)
B(qi(hi),θ),其表达式可以写成
B
(
q
i
(
h
i
)
,
θ
)
=
∑
i
=
1
I
∫
q
i
(
h
i
)
l
o
g
P
(
x
i
,
h
i
∣
θ
)
q
i
(
h
i
)
d
h
i
=
∑
i
=
1
I
∫
q
i
(
h
i
)
l
o
g
P
(
h
i
∣
x
i
,
θ
)
P
(
x
i
∣
θ
)
q
i
(
h
i
)
d
h
i
=
∑
i
=
1
I
∫
q
i
(
h
i
)
[
l
o
g
P
(
x
i
∣
θ
)
−
l
o
g
q
i
(
h
i
)
P
(
h
i
∣
x
i
,
θ
)
]
d
h
i
=
∑
i
=
1
I
∫
q
i
(
h
i
)
l
o
g
P
(
x
i
∣
θ
)
d
h
i
−
∑
i
=
1
I
∫
q
i
(
h
i
)
l
o
g
q
i
(
h
i
)
P
(
h
i
∣
x
i
,
θ
)
d
h
i
=
∑
i
=
1
I
l
o
g
P
(
x
i
∣
θ
)
∫
q
i
(
h
i
)
d
h
i
−
∑
i
=
1
I
∫
q
i
(
h
i
)
l
o
g
q
i
(
h
i
)
P
(
h
i
∣
x
i
,
θ
)
d
h
i
=
∑
i
=
1
I
l
o
g
P
(
x
i
∣
θ
)
−
∑
i
=
1
I
∫
q
i
(
h
i
)
l
o
g
q
i
(
h
i
)
P
(
h
i
∣
x
i
,
θ
)
d
h
i
\begin{aligned}B(q_i(\bm h_i), \bm\theta)& = \sum_{i=1}^I \int q_i(\bm h_i)log \frac{P(\bm x_i, \bm h_i|\bm\theta)}{q_i(\bm h_i)}d\bm h_i \\&= \sum_{i=1}^I \int q_i(\bm h_i)log \frac{P(\bm h_i|\bm x_i, \bm\theta)P(\bm x_i|\bm\theta)}{q_i(\bm h_i)}d\bm h_i \\&= \sum_{i=1}^I \int q_i(\bm h_i)[log P(\bm x_i|\bm\theta) - log\frac{q_i(\bm h_i)}{P(\bm h_i|\bm x_i, \bm\theta)}]d\bm h_i \\&= \sum_{i=1}^I \int q_i(\bm h_i)log P(\bm x_i|\bm\theta)d\bm h_i - \sum_{i=1}^I \int q_i(\bm h_i)log\frac{q_i(\bm h_i)}{P(\bm h_i|\bm x_i, \bm\theta)}d\bm h_i \\&= \sum_{i=1}^I log P(\bm x_i|\bm\theta)\int q_i(\bm h_i)d\bm h_i - \sum_{i=1}^I \int q_i(\bm h_i)log\frac{q_i(\bm h_i)}{P(\bm h_i|\bm x_i, \bm\theta)}d\bm h_i \\&= \sum_{i=1}^I log P(\bm x_i|\bm\theta)- \sum_{i=1}^I \int q_i(\bm h_i)log\frac{q_i(\bm h_i)}{P(\bm h_i|\bm x_i, \bm\theta)}d\bm h_i \end{aligned}
B(qi(hi),θ)=i=1∑I∫qi(hi)logqi(hi)P(xi,hi∣θ)dhi=i=1∑I∫qi(hi)logqi(hi)P(hi∣xi,θ)P(xi∣θ)dhi=i=1∑I∫qi(hi)[logP(xi∣θ)−logP(hi∣xi,θ)qi(hi)]dhi=i=1∑I∫qi(hi)logP(xi∣θ)dhi−i=1∑I∫qi(hi)logP(hi∣xi,θ)qi(hi)dhi=i=1∑IlogP(xi∣θ)∫qi(hi)dhi−i=1∑I∫qi(hi)logP(hi∣xi,θ)qi(hi)dhi=i=1∑IlogP(xi∣θ)−i=1∑I∫qi(hi)logP(hi∣xi,θ)qi(hi)dhi其表达式的第一项是关于分布
q
i
(
h
i
)
q_i(\bm h_i)
qi(hi)的定值,而为了对
q
i
(
h
i
)
q_i(\bm h_i)
qi(hi)优化界,只需求
q
^
(
h
i
)
=
a
r
g
m
a
x
q
i
(
h
i
)
[
−
∑
i
=
1
I
∫
q
i
(
h
i
)
l
o
g
q
i
(
h
i
)
P
(
h
i
∣
x
i
,
θ
)
d
h
i
]
=
a
r
g
m
i
n
q
i
(
h
i
)
[
−
∑
i
=
1
I
∫
q
i
(
h
i
)
l
o
g
P
(
h
i
∣
x
i
,
θ
)
q
i
(
h
i
)
d
h
i
]
\begin{aligned}\hat q(\bm h_i)& = argmax_{q_i(\bm h_i)}[- \sum_{i=1}^I \int q_i(\bm h_i)log\frac{q_i(\bm h_i)}{P(\bm h_i|\bm x_i, \bm\theta)}d\bm h_i] \\&= argmin_{q_i(\bm h_i)}[- \sum_{i=1}^I \int q_i(\bm h_i)log\frac{P(\bm h_i|\bm x_i, \bm\theta)}{q_i(\bm h_i)}d\bm h_i]\end{aligned}
q^(hi)=argmaxqi(hi)[−i=1∑I∫qi(hi)logP(hi∣xi,θ)qi(hi)dhi]=argminqi(hi)[−i=1∑I∫qi(hi)logqi(hi)P(hi∣xi,θ)dhi]该式称为分布
q
i
(
h
i
)
q_i(\bm h_i)
qi(hi)与
P
(
h
i
∣
x
i
,
θ
)
P(\bm h_i|\bm x_i, \bm\theta)
P(hi∣xi,θ)之间的KL【Kullback-Leibler】散度,是概率分布之间的距离的度量。根据
l
o
g
(
x
)
≤
x
−
1
log(x) \le x - 1
log(x)≤x−1可以证明,总是有
∫
q
i
(
h
i
)
l
o
g
P
(
h
i
∣
x
i
,
θ
)
q
i
(
h
i
)
d
h
i
≤
∫
q
i
(
h
i
)
(
P
(
h
i
∣
x
i
,
θ
)
q
i
(
h
i
)
−
1
)
d
h
i
=
∫
P
(
h
i
∣
x
i
,
θ
)
d
h
i
−
∫
q
i
(
h
i
)
d
h
i
=
0
\begin{aligned} \int q_i(\bm h_i)log\frac{P(\bm h_i|\bm x_i, \bm\theta)}{q_i(\bm h_i)}d\bm h_i &\le \int q_i(\bm h_i)(\frac{P(\bm h_i|\bm x_i, \bm\theta)}{q_i(\bm h_i)}-1)d\bm h_i \\&= \int P(\bm h_i|\bm x_i, \bm\theta)d\bm h_i - \int q_i(\bm h_i)d\bm h_i \\&= 0 \end{aligned}
∫qi(hi)logqi(hi)P(hi∣xi,θ)dhi≤∫qi(hi)(qi(hi)P(hi∣xi,θ)−1)dhi=∫P(hi∣xi,θ)dhi−∫qi(hi)dhi=0这表明当KL散度为0时,
B
B
B取得最大值,有
q
i
(
h
i
)
=
P
(
h
i
∣
x
i
,
θ
)
=
P
(
x
i
∣
h
i
,
θ
)
P
(
h
i
)
P
(
x
i
)
q_i(\bm h_i) = P(\bm h_i|\bm x_i, \bm\theta) = \frac{P(\bm x_i|\bm h_i, \bm\theta)P(\bm h_i)}{P(\bm x_i)}
qi(hi)=P(hi∣xi,θ)=P(xi)P(xi∣hi,θ)P(hi)即期望步是利用贝叶斯公式来计算每个隐变量的后验分布。
4.3.3 M步
在M步,对关于参数
θ
\bm\theta
θ的边界进行最大化,使得
θ
=
a
r
g
m
a
x
θ
B
(
q
i
(
h
i
)
,
θ
)
=
a
r
g
m
a
x
θ
∑
i
=
1
I
∫
q
i
(
h
i
)
l
o
g
P
(
x
i
,
h
i
∣
θ
)
q
i
(
h
i
)
d
h
i
=
a
r
g
m
a
x
θ
∑
i
=
1
I
∫
q
i
(
h
i
)
l
o
g
P
(
x
i
,
h
i
∣
θ
)
−
q
i
(
h
i
)
l
o
g
q
i
(
h
i
)
d
h
i
=
a
r
g
m
a
x
θ
∑
i
=
1
I
∫
q
i
(
h
i
)
l
o
g
P
(
x
i
,
h
i
∣
θ
)
d
h
i
\begin{aligned} \bm\theta &= argmax_{\bm\theta}\ B(q_i(\bm h_i), \bm\theta) \\&= argmax_{\bm\theta}\ \sum_{i=1}^I \int q_i(\bm h_i)log\frac{P(\bm x_i, \bm h_i|\bm\theta)}{q_i(\bm h_i)}d\bm h_i \\&= argmax_{\bm\theta}\ \sum_{i=1}^I \int q_i(\bm h_i)logP(\bm x_i, \bm h_i|\bm\theta)-q_i(\bm h_i)logq_i(\bm h_i)d\bm h_i \\&= argmax_{\bm\theta}\ \sum_{i=1}^I \int q_i(\bm h_i)logP(\bm x_i, \bm h_i|\bm\theta)d\bm h_i \end{aligned}
θ=argmaxθ B(qi(hi),θ)=argmaxθ i=1∑I∫qi(hi)logqi(hi)P(xi,hi∣θ)dhi=argmaxθ i=1∑I∫qi(hi)logP(xi,hi∣θ)−qi(hi)logqi(hi)dhi=argmaxθ i=1∑I∫qi(hi)logP(xi,hi∣θ)dhi其中,省略的第二项与参数无关,不影响最大化的结果。
4.4 高斯混合模型
高斯混合模型【Gaussian Mixture Model,GMM】是适合EM算法学习的一个原型。数据描述为
K
K
K个高斯分布的加权和
P
(
x
∣
θ
)
=
∑
k
=
1
K
λ
k
N
(
x
;
μ
k
,
Σ
k
)
P(\bm x|\bm\theta) = \sum_{k=1}^K \lambda_kN(\bm x;\bm\mu_k, \bm\Sigma_k)
P(x∣θ)=k=1∑KλkN(x;μk,Σk)其中
λ
\lambda
λ是正数权重,且
∑
k
=
1
K
λ
=
1
\sum_{k=1}^K \lambda = 1
∑k=1Kλ=1。高斯混合模型将简单成分分布联合起来描述多峰概率密度。
为了能从训练数据
x
\bm x
x中学习参数
θ
=
(
μ
,
Σ
,
λ
)
\bm\theta = (\bm\mu, \bm\Sigma, \lambda)
θ=(μ,Σ,λ),可以利用最简单的最大似然方法,但会无法得到简单闭式解;或非线性优化方法,但由于需要保证参数的约束,这也十分复杂。更简单的,可以将观测数据的密度函数作为边缘概率,并使用EM算法学习其参数。
GMM可以看作观测到的数据
x
\bm x
x和一个取值为
h
∈
{
1
,
.
.
.
,
K
}
h \in \{1, ..., K\}
h∈{1,...,K}的隐变量
h
\bm h
h之间的联合分布的边缘概率,定义
P
(
x
∣
h
,
θ
)
=
N
(
x
;
μ
h
,
Σ
h
)
P
(
h
∣
θ
)
=
C
a
t
(
h
;
λ
)
\begin{aligned} P(\bm x|h, \bm\theta) &= N(x;\bm\mu_h, \bm\Sigma_h) \\ P(h|\bm\theta) &= Cat(h;\bm\lambda)\end{aligned}
P(x∣h,θ)P(h∣θ)=N(x;μh,Σh)=Cat(h;λ)其中,
λ
\bm\lambda
λ是分类分布的参数,那么数据的原始密度为
P
(
x
∣
θ
)
=
∑
k
=
1
K
P
(
x
,
h
=
k
∣
θ
)
=
∑
k
=
1
K
P
(
x
∣
h
=
k
,
θ
)
P
(
h
=
k
∣
θ
)
=
∑
k
=
1
K
λ
k
N
(
x
;
μ
k
,
Σ
k
)
\begin{aligned} P(\bm x|\bm\theta)&= \sum_{k=1}^K P(\bm x, h = k|\bm\theta) \\&= \sum_{k=1}^K P(\bm x|h = k, \bm\theta)P(h = k|\bm\theta) \\&= \sum_{k=1}^K \lambda_kN(\bm x; \bm\mu_k, \bm\Sigma_k) \end{aligned}
P(x∣θ)=k=1∑KP(x,h=k∣θ)=k=1∑KP(x∣h=k,θ)P(h=k∣θ)=k=1∑KλkN(x;μk,Σk)其可以解释为从混合分布
P
(
x
,
h
)
P(\bm x, h)
P(x,h)中采样并丢弃了隐变量
h
h
h,只留下数据样本
x
\bm x
x。其中,隐变量
h
h
h有一个清晰的解释,其决定了哪个正态分布对应于观测数据点
x
\bm x
x。
为了从训练数据
{
x
i
}
i
=
1
I
\{\bm x_i\}_{i=1}^I
{xi}i=1I中学习GMM参数
θ
=
{
λ
k
,
μ
k
,
Σ
k
}
k
=
1
K
\bm\theta = \{\lambda_k, \bm\mu_k, \bm\Sigma_k\}_{k=1}^K
θ={λk,μk,Σk}k=1K,可以使用EM算法。
4.5 学生氏分布
使用高斯分布描述视觉数据有一个严重问题是不健壮:位于偏离期望的样本的概率密度下降的非常快,导致奇异点会严重影响估计的参数,因为由于奇异点的存在,要使得高斯分布的峰值向奇异点偏移,使得奇异点位置有恰当的概率密度。学生氏【Student’s t】分布,简称t分布提供了更加健壮的分布,其属于一种统计分布,数学定义是不太直观的:
P
(
x
)
=
S
t
u
d
(
x
;
μ
,
σ
2
,
ν
)
=
Γ
(
(
ν
+
1
)
/
2
)
ν
π
σ
2
Γ
(
ν
/
2
)
(
1
+
(
x
−
μ
)
2
ν
σ
2
)
−
ν
+
1
2
\begin{aligned} P(x) &= Stud(x;\mu, \sigma^2, \nu) \\&= \frac{\Gamma((\nu + 1)/2)}{\sqrt{\nu\pi\sigma^2}\Gamma(\nu / 2)}(1+\frac{(x-\mu)^2}{\nu\sigma^2})^{-\frac{\nu + 1}{2}} \end{aligned}
P(x)=Stud(x;μ,σ2,ν)=νπσ2Γ(ν/2)Γ((ν+1)/2)(1+νσ2(x−μ)2)−2ν+1其中,
μ
\mu
μ为均值,
σ
2
\sigma^2
σ2为缩放参数,
ν
\nu
ν为离散程度。当
ν
→
+
∞
\nu \rightarrow +\infty
ν→+∞时,该分布趋近于高斯分布;当
ν
→
0
\nu \rightarrow 0
ν→0时,偏离期望的样本的概率密度远远高于高斯分布。对于
D
D
D维空间的t分布,其概率密度函数更加复杂:
P
(
x
)
=
S
t
u
d
(
x
;
μ
,
Σ
,
ν
)
=
Γ
(
(
ν
+
D
)
/
2
)
(
ν
π
)
∣
D
/
2
∣
∣
Σ
∣
1
/
2
Γ
(
ν
/
2
)
(
1
+
(
x
−
μ
)
T
Σ
−
1
(
x
−
μ
)
ν
)
−
ν
+
D
2
\begin{aligned} P(\bm x) &= Stud(\bm x;\bm\mu, \bm\Sigma, \nu) \\&= \frac{\Gamma((\nu + D)/2)}{(\nu\pi)^{|D/2|}|\bm\Sigma|^{1/2}\Gamma(\nu / 2)}(1+\frac{(\bm x-\bm\mu)^T\bm\Sigma^{-1}(\bm x - \bm\mu)}{\nu})^{-\frac{\nu + D}{2}} \end{aligned}
P(x)=Stud(x;μ,Σ,ν)=(νπ)∣D/2∣∣Σ∣1/2Γ(ν/2)Γ((ν+D)/2)(1+ν(x−μ)TΣ−1(x−μ))−2ν+D 首先介绍伽马分布,其定义在正实轴上,有参数
α
,
β
\alpha, \beta
α,β,其概率密度函数为
G
a
m
(
x
;
α
,
β
)
=
β
α
γ
(
α
)
e
x
p
[
−
β
x
]
x
α
−
1
Gam(x; \alpha, \beta) = \frac{\beta^\alpha}{\gamma(\alpha)}exp[-\beta x]x^{\alpha - 1}
Gam(x;α,β)=γ(α)βαexp[−βx]xα−1再令
P
(
x
∣
h
)
=
N
(
x
;
μ
,
Σ
/
h
)
P
(
h
)
=
G
a
m
(
h
;
ν
/
2
,
ν
/
2
)
\begin{aligned}P(\bm x|h) &= N(\bm x;\bm\mu, \bm\Sigma/h) \\ P(h) &= Gam(h;\nu/2, \nu/2) \end{aligned}
P(x∣h)P(h)=N(x;μ,Σ/h)=Gam(h;ν/2,ν/2)那么有
P
(
x
)
=
∫
P
(
x
,
h
)
d
h
=
∫
P
(
x
∣
h
)
P
(
h
)
d
h
=
N
(
x
;
μ
,
Σ
/
h
)
G
a
m
(
h
;
ν
/
2
,
ν
/
2
)
d
h
=
S
t
u
d
(
x
;
μ
,
Σ
,
ν
)
\begin{aligned} P(\bm x) &= \int P(\bm x, h)dh \\&= \int P(\bm x|h)P(h)dh \\&= N(\bm x;\bm\mu, \bm\Sigma/h)Gam(h;\nu/2, \nu/2)dh \\&= Stud(\bm x; \bm\mu, \bm\Sigma, \nu) \end{aligned}
P(x)=∫P(x,h)dh=∫P(x∣h)P(h)dh=N(x;μ,Σ/h)Gam(h;ν/2,ν/2)dh=Stud(x;μ,Σ,ν)其提供了从t分布中生成数据的方法:从伽马分布中生成
h
h
h,并从相关联的高斯分布
P
(
x
∣
h
)
P(\bm x|h)
P(x∣h)中生成
x
\bm x
x,而隐变量
h
h
h给出了高斯分布族中与数据点有关的分布。
概率密度函数
P
(
x
)
P(\bm x)
P(x)是包含隐变量的联合分布的边缘化形式,可以使用EM算法从训练数据集
{
x
i
}
i
=
1
I
\{\bm x_i\}_{i=1}^I
{xi}i=1I中学习参数
θ
=
{
μ
,
Σ
,
ν
}
\bm\theta = \{\bm\mu, \bm\Sigma, \bm\nu\}
θ={μ,Σ,ν}。
4.6 因子分析
视觉数据的维度通常很高,例如对于60x60的RBG图像,需要10800维度的向量来表示,当使用多元正态分布进行建模时,需要维度为10800x10800的协方差矩阵。一方面,需要大量的数据很好的估计这些参数;另一方面,需要大量的内存空间,以及对大型矩阵求逆的问题。
当然,可以使用协方差矩阵的对角形式,但这假设了每个维度的数据是独立的,这显然是不正确的:非边缘区域的相邻像素的RGB值变化很小。一个好的模型应该捕获这些信息。
因子分析提供了一种折中的方式,其利用全协方差模型定义一个线性子空间。因子分析的概率密度函数为
P
(
x
)
=
N
(
x
;
μ
,
Φ
Φ
T
+
Σ
)
P(\bm x) = N(\bm x;\bm\mu, \bm\Phi\bm\Phi^T + \bm\Sigma)
P(x)=N(x;μ,ΦΦT+Σ)其中,
Φ
Φ
T
\bm\Phi\bm\Phi^T
ΦΦT描述了子空间上的全协方差模型,
Σ
\bm\Sigma
Σ解释剩下变化的对角矩阵。
Φ
\bm\Phi
Φ是
K
×
D
K \times D
K×D的矩阵,而
Σ
\bm\Sigma
Σ是
D
×
D
D \times D
D×D的对角矩阵。当
K
<
<
D
K << D
K<<D时,该模型具有较少的参数。
对于混合高斯分布与t分布,可以将因子分析模型视为观测数据
x
\bm x
x和
K
K
K维隐变量
h
\bm h
h之间的联合分布的边缘分布,形如
P
(
x
∣
h
)
=
N
(
x
;
μ
+
Φ
h
,
Σ
)
P
(
h
)
=
N
(
h
;
0
,
I
)
\begin{aligned} P(\bm x|\bm h) &= N(\bm x;\bm\mu + \bm\Phi\bm h, \bm\Sigma) \\ P(\bm h) &= N(\bm h;\bm 0, \bm I) \end{aligned}
P(x∣h)P(h)=N(x;μ+Φh,Σ)=N(h;0,I)那么有
P
(
x
)
=
∫
P
(
x
,
h
)
d
h
=
∫
P
(
x
∣
h
)
P
(
h
)
d
h
=
∫
N
(
x
;
μ
+
Φ
h
,
Σ
)
N
(
h
;
0
,
I
)
d
h
=
N
(
x
;
μ
,
Φ
Φ
T
+
Σ
)
\begin{aligned} P(\bm x)& = \int P(\bm x, \bm h)d\bm h \\&= \int P(\bm x|\bm h)P(\bm h)d\bm h \\&= \int N(\bm x;\bm\mu + \bm\Phi\bm h, \bm\Sigma)N(\bm h;\bm 0, \bm I)d\bm h \\&= N(\bm x;\bm\mu, \bm\Phi\bm\Phi^T + \bm\Sigma) \end{aligned}
P(x)=∫P(x,h)dh=∫P(x∣h)P(h)dh=∫N(x;μ+Φh,Σ)N(h;0,I)dh=N(x;μ,ΦΦT+Σ)这也是因子分析的原始定义。
因子分析可以表示为包含隐变量的联合分布的边缘化形式,可以使用EM算法从训练数据集
{
x
i
}
i
=
1
I
\{\bm x_i\}_{i=1}^I
{xi}i=1I中学习参数
θ
=
{
μ
,
Φ
,
Σ
}
\bm\theta = \{\bm\mu, \bm\Phi, \bm\Sigma\}
θ={μ,Φ,Σ}。
五、回归模型
回归问题的目的是根据观测值
x
\bm x
x来估计一元全局状态
y
y
y。比较典型的是身体姿势估计的相关问题:根据观测到人的处于未知姿态图像来估计身体角度,这种分析可以作为行为识别的第一步。
一般的,如果假设全局状态和数据的关系是线性的,并且该预测的不确定性为一个具有常数协方差的高斯分布,那么这是回归模型中典型的线性回归。
5.1 线性回归
线性回归的目标是根据观测的数据
x
\bm x
x预测关于全局状态
y
y
y的后验分布
P
(
y
∣
x
)
P(y|\bm x)
P(y∣x)。这是一个判别模型,可以通过选择一个关于全局状态
y
y
y的概率分布并且是的参数依赖于数据
x
\bm x
x。由于全局状态
y
y
y是一元连续的,因此一元高斯分布是一个适合的分布。在线性回归中,令该正态分布的均值为数据的线性函数
w
0
+
w
T
x
i
w_0 + \bm w^T\bm x_i
w0+wTxi,且将方差
σ
2
\sigma^2
σ2视为常量,使得
P
(
y
i
∣
x
i
,
θ
)
=
N
(
y
i
;
w
0
+
w
T
x
i
,
σ
2
)
P(y_i|\bm x_i, \bm\theta) = N(y_i;w_0 + \bm w^T\bm x_i, \sigma^2)
P(yi∣xi,θ)=N(yi;w0+wTxi,σ2)其中,
θ
=
{
w
0
,
w
,
σ
2
}
\bm\theta = \{w_0, \bm w, \sigma^2\}
θ={w0,w,σ2}。
这里可以令
x
i
=
(
1
,
x
i
T
)
T
\bm x_i = (1, \bm x_i^T)^T
xi=(1,xiT)T,使得
w
=
(
w
0
,
w
T
)
T
\bm w= (w_0, \bm w^T)^T
w=(w0,wT)T,那么有等价的:
P
(
y
i
∣
x
i
,
θ
)
=
N
(
y
i
;
w
T
x
i
,
σ
2
)
P(y_i|\bm x_i, \bm\theta) = N(y_i;\bm w^T\bm x_i, \sigma^2)
P(yi∣xi,θ)=N(yi;wTxi,σ2)事实上,由于每个训练样本被看成是独立的,可以将整个训练样本集的概率
P
(
y
∣
x
)
P(y|\bm x)
P(y∣x)写成单个对角协方差的正态分布,即
P
(
y
∣
x
)
=
N
(
y
;
x
T
w
,
σ
2
I
)
P(\bm y|\bm x) = N(\bm y;\bm x^T\bm w, \sigma^2\bm I)
P(y∣x)=N(y;xTw,σ2I)其中,
x
=
(
x
1
,
.
.
.
,
x
I
)
\bm x = (\bm x_1, ..., \bm x_I)
x=(x1,...,xI),
w
=
(
w
1
,
.
.
.
,
w
I
)
T
\bm w = (\bm w_1, ..., \bm w_I)^T
w=(w1,...,wI)T。
学习算法需要从训练样本
{
x
,
y
}
i
=
1
I
\{\bm x, y\}_{i=1}^I
{x,y}i=1I中估计模型参数
θ
=
{
w
,
σ
2
}
\bm\theta = \{\bm w, \sigma^2\}
θ={w,σ2}。根据最大似然估计方法,有
θ
^
=
a
r
g
m
a
x
θ
P
(
y
∣
x
,
θ
)
=
a
r
g
m
a
x
θ
l
o
g
P
(
y
∣
x
,
θ
)
=
a
r
g
m
a
x
w
,
σ
2
l
o
g
(
1
(
2
π
)
I
/
2
∣
σ
2
I
∣
1
/
2
e
x
p
[
−
(
y
−
x
T
w
)
T
(
σ
2
I
)
−
1
(
y
−
x
T
w
)
2
]
)
=
a
r
g
m
a
x
w
,
σ
2
−
I
[
l
o
g
(
2
π
)
+
l
o
g
(
σ
2
)
]
2
−
(
y
−
x
T
w
)
T
(
y
−
x
T
w
)
2
σ
2
\begin{aligned} \hat\bm\theta &= argmax_{\bm\theta}\ P(\bm y|\bm x, \bm\theta) \\&= argmax_{\bm\theta}\ logP(\bm y|\bm x, \bm\theta) \\&= argmax_{\bm w, \sigma^2}\ log( \frac{1}{(2\pi)^{I/2}|\sigma^2\bm I|^{1/2}}exp[-\frac{(\bm y-\bm x^T\bm w)^T(\sigma^2\bm I)^{-1}(\bm y-\bm x^T\bm w)}{2}]) \\&= argmax_{\bm w, \sigma^2}\ -\frac{I[log(2\pi) + log(\sigma^2)]}{2} - \frac{(\bm y-\bm x^T\bm w)^T(\bm y-\bm x^T\bm w)}{2\sigma^2} \end{aligned}
θ^=argmaxθ P(y∣x,θ)=argmaxθ logP(y∣x,θ)=argmaxw,σ2 log((2π)I/2∣σ2I∣1/21exp[−2(y−xTw)T(σ2I)−1(y−xTw)])=argmaxw,σ2 −2I[log(2π)+log(σ2)]−2σ2(y−xTw)T(y−xTw)对
w
,
σ
2
\bm w, \sigma^2
w,σ2偏导赋零,得
w
^
=
(
x
x
T
)
−
1
x
w
σ
^
2
=
(
y
−
x
T
w
)
T
(
y
−
x
T
w
)
/
I
\begin{aligned}\hat\bm w &= (\bm {xx}^T)^{-1}\bm{xw} \\ \hat\sigma^2 &= (\bm y-\bm x^T\bm w)^T(\bm y-\bm x^T\bm w)/I \end{aligned}
w^σ^2=(xxT)−1xw=(y−xTw)T(y−xTw)/I 线性回归模型中有三个主要限制:
-模型过于自信,当出现奇异点时,估计的参数的变化会使预测结果发生巨大变化;
-局限于线性,通常没有特殊原因使得视觉数据和全局状态时线性关系;
-当观测的数据维度过高时,许多元素会失去对预测全局状态的作用,使得得到的模型相对复杂。
5.2 贝叶斯线性回归
贝叶斯方法的主要思想是求关于参数
w
\bm w
w可能值的概率分布。当计算新数据的概率时,利用不同概率值进行加权平均。
斜率参数
w
\bm w
w是多元连续的,因此将先验
P
(
w
)
P(\bm w)
P(w)建模为具有均值0和单位矩阵协方差的高斯分布
P
(
w
)
=
N
(
0
,
σ
p
2
I
)
P(\bm w) = N(0, \sigma^2_p\bm I)
P(w)=N(0,σp2I)其中,
σ
p
2
\sigma^2_p
σp2是先验协方差。一般来说,
σ
p
2
\sigma^2_p
σp2设为较大的值来反映先验比较弱的事实。
给定训练样本对
{
(
x
i
,
y
i
)
}
i
=
1
I
\{(\bm x_i, y_i)\}_{i=1}^I
{(xi,yi)}i=1I,参数的后验分布可以利用贝叶斯法则计算
P
(
w
∣
x
,
y
)
=
P
(
y
∣
x
,
w
)
P
(
w
)
P
(
y
∣
x
)
P(\bm w|\bm x, \bm y) = \frac{P(\bm y|\bm x, \bm w)P(\bm w)}{P(\bm y|\bm x)}
P(w∣x,y)=P(y∣x)P(y∣x,w)P(w)其似然函数为
P
(
y
∣
x
,
θ
)
=
N
(
y
;
x
T
w
,
σ
2
I
)
P(\bm y|\bm x, \bm\theta) = N(\bm y;\bm x^T\bm w, \sigma^2\bm I)
P(y∣x,θ)=N(y;xTw,σ2I)后验分布可以以闭式计算,通过下面的表达式给出:
P
(
w
∣
x
,
y
)
=
N
(
w
;
A
−
1
x
w
σ
2
,
A
−
1
)
P(\bm w|\bm x, \bm y) = N(\bm w;\frac{\bm A^{-1}\bm{xw}}{\sigma^2}, \bm A^{-1})
P(w∣x,y)=N(w;σ2A−1xw,A−1)其中
A
=
x
x
T
σ
2
+
I
σ
p
2
\bm A = \frac{\bm {xx}^T}{\sigma^2} + \frac{\bm I}{\sigma^2_p}
A=σ2xxT+σp2I后验分布
P
(
w
∣
x
,
y
)
P(\bm w|\bm x, \bm y)
P(w∣x,y)总是比先验分布的分布情况更窄,因为数据提供了参数值的信息。
当对新观测数据
x
∗
\bm x^*
x∗预测
y
∗
y^*
y∗时,对每个可能的
w
\bm w
w对应的分布
P
(
y
∗
∣
x
∗
,
w
)
P(y^*|\bm x^*, \bm w)
P(y∗∣x∗,w)取加权和,可以得到
P
(
y
∗
∣
x
∗
,
w
,
x
)
=
∫
P
(
y
∗
∣
x
∗
,
w
)
P
(
w
∣
x
,
y
)
d
w
=
∫
N
(
y
∗
∣
w
T
x
∗
,
σ
2
)
N
(
w
;
A
−
1
x
w
σ
2
,
A
−
1
)
d
w
=
N
(
y
∗
;
x
∗
T
A
−
1
x
w
σ
2
,
x
∗
T
A
−
1
x
∗
+
σ
2
)
\begin{aligned}P(y^*|\bm x^*, \bm w, \bm x) &= \int P(y^*|\bm x^*, \bm w)P(\bm w|\bm x, y)d\bm w \\&= \int N(y^*|\bm w^T\bm x^*, \sigma^2)N(\bm w;\frac{\bm A^{-1}\bm{xw}}{\sigma^2}, \bm A^{-1})d\bm w \\&= N(y^*;\frac{\bm x^{*T}\bm A^{-1}\bm{xw}}{\sigma^2}, \bm x^{*T}\bm A^{-1}\bm x^* + \sigma^2) \end{aligned}
P(y∗∣x∗,w,x)=∫P(y∗∣x∗,w)P(w∣x,y)dw=∫N(y∗∣wTx∗,σ2)N(w;σ2A−1xw,A−1)dw=N(y∗;σ2x∗TA−1xw,x∗TA−1x∗+σ2)当出现观测数据
x
∗
\bm x^*
x∗远离观测数据的均值
x
ˉ
\bar\bm x
xˉ时,其置信度会通过
w
\bm w
w的分布情况而降低。
5.3 非线性回归
假设全局状态
y
y
y和输入数据
x
\bm x
x之间总存在线性关系是不切实际的。在处理非线性回归时,希望在扩展可描述的函数种类的同时保持线性模型中数学表述的方便性。
特别简单的方法:首先将每个数据样本通过一非线性变换
z
i
=
f
(
x
i
)
\bm z_i = f(\bm x_i)
zi=f(xi)来创建一个通常比原始数据更高维的新数据向量
z
i
\bm z_i
zi。然后使用线性回归的处理方法,使得
P
(
y
i
∣
x
i
)
=
N
(
y
i
;
w
T
z
i
,
σ
2
)
P(y_i|\bm x_i) = N(y_i;\bm w^T\bm z_i, \sigma^2)
P(yi∣xi)=N(yi;wTzi,σ2)例如一维多项式的回归:
P
(
y
i
∣
x
i
)
=
N
(
y
i
;
w
0
+
w
1
x
i
+
w
2
x
i
2
,
σ
2
)
P(y_i|x_i) = N(y_i;w_0 + w_1x_i + w_2x_i^2, \sigma^2)
P(yi∣xi)=N(yi;w0+w1xi+w2xi2,σ2)该模型可以看作计算以下非线性变换:
z
i
=
(
1
,
x
i
,
x
i
2
)
T
\bm z_i = (1, x_i, x_i^2)^T
zi=(1,xi,xi2)T为了求梯度向量的最大似然解,首先将所有变换后的训练样本关系组合为单个表达式:
P
(
y
∣
x
)
=
N
(
y
;
z
T
w
,
σ
2
I
)
P(\bm y|\bm x) = N(\bm y;\bm z^T\bm w, \sigma^2\bm I)
P(y∣x)=N(y;zTw,σ2I)最优参数可以用过下式计算:
w
^
=
(
z
z
T
)
−
1
z
y
σ
^
2
=
(
y
−
z
T
w
)
T
(
y
−
z
T
w
)
/
I
\begin{aligned}\hat\bm w &= (\bm {zz}^T)^{-1}\bm {zy} \\ \hat\sigma^2 &= (\bm y - \bm z^T\bm w)^T(\bm y - \bm z^T\bm w)/I \end{aligned}
w^σ^2=(zzT)−1zy=(y−zTw)T(y−zTw)/I 径向基函数是非线性回归中非线性变换的一种方法,其取
a
i
a_i
ai为中心,
λ
\lambda
λ为缩放因子的对称函数,典型的就是高斯函数,令
z
i
=
(
1
,
e
x
p
[
−
(
x
i
−
a
1
)
2
λ
]
,
.
.
.
,
e
x
p
[
−
(
x
i
−
a
Z
)
2
λ
]
)
T
\bm z_i = (1, exp[\frac{-(x_i - a_1)^2}{\lambda}], ..., exp[\frac{-(x_i - a_Z)^2}{\lambda}])^T
zi=(1,exp[λ−(xi−a1)2],...,exp[λ−(xi−aZ)2])T通过
w
T
z
\bm w^T\bm z
wTz的加权和就可以近似一个函数。
在贝叶斯解中,权重
w
\bm w
w被看成是不确定的:在学习时求这些权重的后验分布。对于新观测量
x
∗
\bm x^*
x∗,预测分布的表达式由于过于复杂而在这里直接给出:
P
(
y
∗
∣
z
∗
,
x
,
y
)
=
N
(
y
∗
;
σ
p
2
σ
2
z
∗
T
z
y
−
σ
p
2
σ
2
z
∗
T
z
(
z
T
z
+
σ
p
2
σ
2
I
)
−
1
z
T
z
y
,
σ
p
2
z
∗
T
z
∗
−
σ
p
2
z
∗
T
z
(
z
T
z
+
σ
p
2
σ
2
I
)
−
1
z
T
z
∗
+
σ
2
)
\begin{aligned}P(\bm y^*|\bm z^*, \bm x, \bm y) = N(&\bm y^*;\frac{\sigma^2_p}{\sigma^2}\bm z^{*T}\bm{zy} - \frac{\sigma^2_p}{\sigma^2}\bm z^{*T}\bm z(\bm z^T\bm z + \frac{\sigma^2_p}{\sigma^2}\bm I)^{-1}\bm z^T\bm {zy}, \\& \sigma_p^2\bm z^{*T}\bm z^* - \sigma_p^2\bm z^{*T}\bm z(\bm z^T\bm z + \frac{\sigma^2_p}{\sigma^2}\bm I)^{-1}\bm z^T\bm z^* + \sigma^2) \end{aligned}
P(y∗∣z∗,x,y)=N(y∗;σ2σp2z∗Tzy−σ2σp2z∗Tz(zTz+σ2σp2I)−1zTzy,σp2z∗Tz∗−σp2z∗Tz(zTz+σ2σp2I)−1zTz∗+σ2)
5.4 核函数
事实上,非线性回归的贝叶斯方法在实际中很少应用:预测分布
P
(
y
∗
∣
z
∗
,
x
,
y
)
P(\bm y^*|\bm z^*, \bm x, \bm y)
P(y∗∣z∗,x,y)的最终表达式与内积
z
i
T
z
j
\bm z_i^T\bm z_j
ziTzj有关,然而当变换后的空间是高维空间时,显式的计算
f
(
x
i
)
T
f
(
x
j
)
f(\bm x_i)^Tf(\bm x_j)
f(xi)Tf(xj)的复杂度过大。
一种方法是核技巧,直接定义核函数
k
(
x
i
,
x
j
)
k(\bm x_i, \bm x_j)
k(xi,xj)来替换计算
f
(
x
i
)
T
f
(
x
j
)
f(\bm x_i)^Tf(\bm x_j)
f(xi)Tf(xj)。对于很多变换
f
f
f,计算核函数比计算变换的内积要高效的多。使用核函数时,一个好处是可以定义核函数将数据投影到高维甚至无限维空间中。
Mercer定理指出当核的参数是可测空间时,核函数有效,且核函数是半正定的,使得
∑
i
,
j
k
(
x
i
,
x
j
)
≥
0
\sum_{i, j} k(\bm x_i, \bm x_j) \ge 0
i,j∑k(xi,xj)≥0对于空间中向量的任何有限子集
{
x
n
}
n
=
1
N
\{\bm x_n\}_{n=1}^N
{xn}n=1N,有效核函数的例子包括:
-线性核,
k
(
x
i
,
x
j
)
=
x
i
T
x
j
k(\bm x_i, \bm x_j) = \bm x_i^T\bm x_j
k(xi,xj)=xiTxj;
-多项式核,
k
(
x
i
,
x
j
)
=
(
x
i
T
x
j
+
1
)
p
k(\bm x_i, \bm x_j) = (\bm x_i^T\bm x_j + 1)^p
k(xi,xj)=(xiTxj+1)p;
-径向基【Radial Basis Function,RBF】,或称为高斯核,形如
k
(
x
i
,
x
j
)
=
e
x
p
[
−
(
x
i
−
x
j
)
T
(
x
i
−
x
j
)
2
λ
2
]
k(\bm x_i, \bm x_j) = exp[-\frac{(\bm x_i - \bm x_j)^T(\bm x_i - \bm x_j)}{2\lambda^2}]
k(xi,xj)=exp[−2λ2(xi−xj)T(xi−xj)]其中径向基特别有趣,其将
x
\bm x
x映射为无限长度的向量
z
\bm z
z并计算其内积。
如果将内积替换为核函数,得到的模型称为高斯过程回归,新数据的预测分布形如 P ( y ∗ ∣ z ∗ , x , y ) = N ( y ∗ ; σ p 2 σ 2 k ( x ∗ , x ) y − σ p 2 σ 2 k ( x ∗ , x ) ( k ( x ∗ , x ) + σ p 2 σ 2 I ) − 1 k ( x ∗ , x ) y , σ p 2 k ( x ∗ , x ) − σ p 2 k ( x ∗ , x ) ( k ( x ∗ , x ) + σ p 2 σ 2 I ) − 1 k ( x ∗ , x ) + σ 2 ) \begin{aligned}P(\bm y^*|\bm z^*, \bm x, \bm y) = N(&\bm y^*;\frac{\sigma^2_p}{\sigma^2}k(\bm x^*, \bm x)\bm y - \frac{\sigma^2_p}{\sigma^2}k(\bm x^*, \bm x)(k(\bm x^*, \bm x) + \frac{\sigma^2_p}{\sigma^2}\bm I)^{-1}k(\bm x^*, \bm x)\bm y, \\& \sigma_p^2k(\bm x^*, \bm x) - \sigma_p^2k(\bm x^*, \bm x)(k(\bm x^*, \bm x) + \frac{\sigma^2_p}{\sigma^2}\bm I)^{-1}k(\bm x^*, \bm x) + \sigma^2) \end{aligned} P(y∗∣z∗,x,y)=N(y∗;σ2σp2k(x∗,x)y−σ2σp2k(x∗,x)(k(x∗,x)+σ2σp2I)−1k(x∗,x)y,σp2k(x∗,x)−σp2k(x∗,x)(k(x∗,x)+σ2σp2I)−1k(x∗,x)+σ2)要注意的是,核函数也可能包含参数,例如RBF核的缩放因子 λ \lambda λ,其可以通过最大化边缘似然得到。
5.5 稀疏线性回归
实际中经常会出现这种情况,
x
\bm x
x维度中直有一小部分对预测
y
y
y有用。然而,不做修改的,回归算法将在这些方向的梯度赋非零值。稀疏线性回归的目标是改造算法以求一个稀疏的梯度向量,其使得得到的分类器运行更快,且对测试样本有更好的泛化。
为了得到稀疏解,对没一个非零的权对应的维度增加一个惩罚项。首先将梯度参数
w
=
(
w
0
,
w
1
,
.
.
.
,
w
D
)
T
\bm w = (w_0, w_1, ..., w_D)^T
w=(w0,w1,...,wD)T的高斯分布先验替换为t分布的乘积:
P
(
w
)
=
∏
d
=
1
D
s
t
d
u
(
w
d
;
0
,
1
,
ν
)
P(\bm w)= \prod_{d=1}^D stdu(w_d;0, 1, \nu)
P(w)=d=1∏Dstdu(wd;0,1,ν)其相比高斯分布有更窄的峰值分布,有利于稀疏:高维高斯分布呈超球体,而高维t分布呈星状,有更多值为零的元素。
利用贝叶斯公式,目标是利用先验求可能的梯度变量
w
\bm w
w的后验分布,使得
P
(
w
∣
x
,
y
,
σ
2
)
=
P
(
y
∣
x
,
w
,
σ
2
)
P
(
w
)
P
(
y
∣
x
,
σ
2
)
P(\bm w|\bm x, \bm y, \sigma^2) = \frac{P(\bm y|\bm x, \bm w, \sigma^2)P(\bm w)}{P(\bm y|\bm x, \sigma^2)}
P(w∣x,y,σ2)=P(y∣x,σ2)P(y∣x,w,σ2)P(w)为了利用共轭关系计算得到闭式表达式,将t分布表示为高斯分布的无限加权和,并令隐变量
h
d
h_d
hd决定方差,使得
P
(
w
)
=
∏
d
=
1
D
∫
N
(
w
d
;
0
,
1
/
h
d
)
G
a
m
(
h
d
;
v
/
2
,
v
/
2
)
d
h
d
=
∫
N
(
w
;
0
,
H
−
1
)
∏
d
=
1
D
G
a
m
(
h
d
;
v
/
2
,
v
/
2
)
d
H
\begin{aligned} P(\bm w) &= \prod_{d=1}^D \int N(w_d;0, 1/h_d)Gam(h_d;v/2, v/2)dh_d \\&= \int N(\bm w;0, \bm H^{-1})\prod_{d=1}^DGam(h_d;v/2, v/2)d\bm H \end{aligned}
P(w)=d=1∏D∫N(wd;0,1/hd)Gam(hd;v/2,v/2)dhd=∫N(w;0,H−1)d=1∏DGam(hd;v/2,v/2)dH其中,
H
=
d
i
a
g
(
h
1
,
.
.
.
,
h
D
)
\bm H = diag(h_1, ..., h_D)
H=diag(h1,...,hD)。那么边缘似然的表达式为
P
(
y
∣
x
,
σ
2
)
=
∫
P
(
y
,
w
∣
x
,
σ
2
)
d
w
=
∫
P
(
y
∣
x
,
w
,
σ
2
)
P
(
w
)
d
w
=
∫
N
(
y
;
x
T
w
,
σ
2
I
)
∫
N
(
w
;
0
,
H
−
1
)
∏
d
=
1
D
G
a
m
(
h
d
;
v
/
2
,
v
/
2
)
d
H
d
w
=
∬
N
(
y
;
x
T
w
,
σ
2
I
)
N
(
w
;
0
,
H
−
1
)
∏
d
=
1
D
G
a
m
(
h
d
;
v
/
2
,
v
/
2
)
d
H
d
w
=
∫
N
(
y
;
0
,
x
T
H
−
1
x
+
σ
2
I
)
∏
d
=
1
D
G
a
m
(
h
d
;
v
/
2
,
v
/
2
)
d
H
\begin{aligned} P(\bm y|\bm x, \sigma^2) &= \int P(\bm y, \bm w|\bm x, \sigma^2)d\bm w \\&= \int P(\bm y|\bm x, \bm w, \sigma^2)P(\bm w)d\bm w \\&= \int N(\bm y;\bm x^T\bm w, \sigma^2\bm I)\int N(\bm w;0, \bm H^{-1})\prod_{d=1}^DGam(h_d;v/2, v/2)d\bm Hd\bm w \\&= \iint N(\bm y;\bm x^T\bm w, \sigma^2\bm I)N(\bm w;0, \bm H^{-1})\prod_{d=1}^DGam(h_d;v/2, v/2)d\bm Hd\bm w \\&= \int N(\bm y;\bm 0, \bm x^T\bm H^{-1}\bm x + \sigma^2\bm I)\prod_{d=1}^DGam(h_d;v/2, v/2)d\bm H \end{aligned}
P(y∣x,σ2)=∫P(y,w∣x,σ2)dw=∫P(y∣x,w,σ2)P(w)dw=∫N(y;xTw,σ2I)∫N(w;0,H−1)d=1∏DGam(hd;v/2,v/2)dHdw=∬N(y;xTw,σ2I)N(w;0,H−1)d=1∏DGam(hd;v/2,v/2)dHdw=∫N(y;0,xTH−1x+σ2I)d=1∏DGam(hd;v/2,v/2)dH即使如此仍然不能闭式的求积分,但可以得到近似解
P
(
y
∣
x
,
σ
2
)
≈
m
a
x
H
{
N
(
y
;
0
,
x
T
H
−
1
x
+
σ
2
I
)
∏
d
=
1
D
G
a
m
(
h
d
;
v
/
2
,
v
/
2
)
}
P(\bm y|\bm x, \sigma^2) \approx max_{\bm H}\{N(\bm y;\bm 0, \bm x^T\bm H^{-1}\bm x + \sigma^2\bm I)\prod_{d=1}^DGam(h_d;v/2, v/2)\}
P(y∣x,σ2)≈maxH{N(y;0,xTH−1x+σ2I)d=1∏DGam(hd;v/2,v/2)}当
h
d
h_d
hd取较大值时,先验具有小的方差
1
/
h
d
1/h_d
1/hd,那么系数
w
d
w_d
wd就会接近于零。
对于隐变量
h
\bm h
h与方差
σ
2
\sigma^2
σ2,可以使用EM算法进行拟合;在实际中,自由等级选取的较小(
l
g
v
<
−
3
lgv < -3
lgv<−3)以利于稀疏,并在丢弃
h
d
h_d
hd很大的
w
\bm w
w的所有维度得到稀疏的梯度向量。
六、分类模型
分类模型与回归问题联系紧密,其具体目标是根据离散全局状态及给定向量的连续观测数据,对全局状态的后验概率分布直接建立模型。一个典型的应用就是基于人脸的性别分类:这是一个二值分类问题。
6.1 逻辑回归
逻辑回归(虽然从名称上看似乎并不能用于分类)是一个判别模型:基于全局状态
y
y
y,选择一种概率分布,并依据观测数据
x
\bm x
x来确定参数。对于二值分类的
y
∈
{
0
,
1
}
y \in \{0, 1\}
y∈{0,1},使用伯努利分布来描述
y
y
y,并将参数
p
p
p用观测数据
x
\bm x
x的函数表示。
与回归模型不同,不能简单的将变量
p
p
p用线性函数
w
0
+
w
T
x
w_0 + \bm w^T\bm x
w0+wTx表示,因为线性函数可以返回任意值,而
p
p
p只能介于
[
0
,
1
]
[0, 1]
[0,1]中。因此,首先计算线性函数后需要传入逻辑Sigmoid函数中,使
p
p
p从
R
R
R映射到
[
0
,
1
]
[0, 1]
[0,1]中,使得最终的模型为
P
(
y
∣
w
0
,
w
,
x
)
=
B
(
y
;
s
i
g
m
o
i
d
(
w
0
+
w
T
x
)
)
P(y|w_0, \bm w, \bm x) = B(y;sigmoid(w_0 + \bm w^T\bm x))
P(y∣w0,w,x)=B(y;sigmoid(w0+wTx))其中逻辑Sigmoid函数的形式如下:
s
i
g
m
o
i
d
(
x
)
=
1
1
+
e
x
p
(
−
x
)
sigmoid(x) = \frac{1}{1 + exp(-x)}
sigmoid(x)=1+exp(−x)1 在多维空间中,为了简化表示,可以令
w
=
(
w
0
,
w
T
)
T
\bm w = (w_0, \bm w^T)^T
w=(w0,wT)T,以及
x
=
(
1
,
x
T
)
T
\bm x = (1, \bm x^T)^T
x=(1,xT)T,使得模型为
P
(
y
∣
w
,
x
)
=
B
(
y
;
1
1
+
e
x
p
(
−
w
T
x
)
)
P(y|\bm w, \bm x) = B(y;\frac{1}{1 + exp(-\bm w^T\bm x)})
P(y∣w,x)=B(y;1+exp(−wTx)1) 为了通过最大似然估计学习参数,使用训练数据
{
x
i
,
y
i
}
i
=
1
I
\{\bm x_i, y_i\}_{i=1}^I
{xi,yi}i=1I拟合
w
\bm w
w,假设训练样本相互独立,有
P
(
y
∣
x
,
w
)
=
∏
i
=
1
I
p
y
i
(
1
−
p
)
1
−
y
i
=
∏
i
=
1
I
(
1
1
+
e
x
p
(
−
w
T
x
i
)
)
y
i
(
e
x
p
(
−
w
T
x
i
)
1
+
e
x
p
(
−
w
T
x
i
)
)
1
−
y
i
\begin{aligned} P(\bm y|\bm x, \bm w) &= \prod_{i=1}^I p^{y_i}(1-p)^{1-y_i} \\&= \prod_{i=1}^I (\frac{1}{1+exp(-\bm w^T\bm x_i)})^{y_i}(\frac{exp(-\bm w^T\bm x_i)}{1 +exp(-\bm w^T\bm x_i)})^{1-y_i}\end{aligned}
P(y∣x,w)=i=1∏Ipyi(1−p)1−yi=i=1∏I(1+exp(−wTxi)1)yi(1+exp(−wTxi)exp(−wTxi))1−yi对数似然函数为
l
n
L
=
∑
i
=
1
I
[
y
i
l
o
g
1
1
+
e
x
p
(
−
w
T
x
i
)
+
(
1
−
y
i
)
l
o
g
(
e
x
p
(
−
w
T
x
i
)
1
+
e
x
p
(
−
w
T
x
i
)
)
]
lnL = \sum_{i=1}^I[y_ilog\frac{1}{1+exp(-\bm w^T\bm x_i)} + (1-y_i)log(\frac{exp(-\bm w^T\bm x_i)}{1+exp(-\bm w^T\bm x_i)})]
lnL=i=1∑I[yilog1+exp(−wTxi)1+(1−yi)log(1+exp(−wTxi)exp(−wTxi))]其对
w
\bm w
w的偏微分为
∂
l
n
L
∂
w
=
−
∑
i
=
1
I
(
1
1
+
e
x
p
(
−
w
T
x
i
)
−
y
i
)
x
i
\frac{∂lnL}{∂\bm w} = -\sum_{i=1}^I(\frac{1}{1 + exp(-\bm w^T\bm x_i)} -y_i)\bm x_i
∂w∂lnL=−i=1∑I(1+exp(−wTxi)1−yi)xi然而,为上式赋零并不能得到
w
\bm w
w的闭式解。因此需要依赖非线性优化来求目标函数的最大值。这里使用牛顿法,使得
w
[
t
]
=
w
[
t
−
1
]
+
a
(
∂
2
l
n
L
∂
w
2
)
−
1
∂
l
n
L
∂
w
\bm w^{[t]} = \bm w^{[t-1]} + a(\frac{∂^2lnL}{∂\bm w^2})^{-1}\frac{∂lnL}{∂\bm w}
w[t]=w[t−1]+a(∂w2∂2lnL)−1∂w∂lnL其中
∂
l
n
L
∂
w
=
−
∑
i
=
1
I
(
1
1
+
e
x
p
(
−
w
T
x
i
)
−
y
i
)
x
i
∂
2
l
n
L
∂
w
2
=
−
∑
i
=
1
I
1
1
+
e
x
p
(
−
w
T
x
i
)
(
1
−
1
1
+
e
x
p
(
−
w
T
x
i
)
)
x
i
x
i
T
\begin{aligned}\frac{∂lnL}{∂\bm w}& = -\sum_{i=1}^I(\frac{1}{1 + exp(-\bm w^T\bm x_i)} -y_i)\bm x_i \\ \frac{∂^2lnL}{∂\bm w^2}&= -\sum_{i=1}^I \frac{1}{1 + exp(-\bm w^T\bm x_i)}(1 - \frac{1}{1 + exp(-\bm w^T\bm x_i)})\bm x_i\bm x_i^T \end{aligned}
∂w∂lnL∂w2∂2lnL=−i=1∑I(1+exp(−wTxi)1−yi)xi=−i=1∑I1+exp(−wTxi)1(1−1+exp(−wTxi)1)xixiT其分别被称为梯度向量与海森矩阵。梯度矩阵的表达式是直观的:每个数据点的贡献权重取决于实际类别与预测概率的差距。
逻辑回归对于简单的数据集较为实用,但是对复杂数据集不具有普适性,主要有以下几点原因:
-最大似然估计得到的模型过于自信;
-只能描述线性决策边界;
-且对高维数据容易过拟合。
6.2 贝叶斯回归
贝叶斯方法中,需要学习参数值
w
\bm w
w的分布,首先定义
w
\bm w
w的先验概率。由于逻辑回归模型不存在共轭的概率分布,这就是似然估计和预测分布没有闭合解的原因。对于一种由连续参数
w
\bm w
w得到的先验概率的合理选择是均值为零的、较大单位协方差的多元正态分布,即
P
(
w
)
=
N
(
w
;
0
,
σ
p
2
I
)
P(\bm w) = N(\bm w;\bm 0, \sigma_p^2\bm I)
P(w)=N(w;0,σp2I)为了计算关于参数
w
\bm w
w的后验概率分布
P
(
w
∣
x
,
y
)
P(\bm w|\bm x, \bm y)
P(w∣x,y),应用贝叶斯方法:
P
(
w
∣
x
,
y
)
=
P
(
y
∣
x
,
w
)
P
(
w
)
P
(
y
∣
x
)
P(\bm w|\bm x, \bm y) = \frac{P(\bm y|\bm x, \bm w)P(\bm w)}{P(\bm y|\bm x)}
P(w∣x,y)=P(y∣x)P(y∣x,w)P(w)由于不存在简单的闭式表达式,必须进行近似。
一个可行的办法是拉普拉斯近似,其通过一个多元高斯分布去近似后验概率分布,使得:
-高斯分布的均值是后验概率分布的峰值;
-高斯分布的方差使得峰值处的二阶导数的近似值与真实值相匹配。
为了实现拉普拉斯近似,首先求参数
w
\bm w
w的最大后验估计:
l
n
L
(
w
)
=
∑
i
=
1
I
[
l
o
g
(
P
(
y
i
∣
x
i
,
w
)
)
+
l
o
g
(
P
(
w
)
)
]
lnL(\bm w) = \sum_{i=1}^I [log(P(y_i|\bm x_i, \bm w)) + log(P(\bm w))]
lnL(w)=i=1∑I[log(P(yi∣xi,w))+log(P(w))]对后验概率对数偏导:
∂
l
n
L
∂
w
=
−
∑
i
=
1
I
(
1
1
+
e
x
p
(
−
w
T
x
i
)
−
y
i
)
x
i
−
w
σ
p
2
∂
2
l
n
L
∂
w
2
=
−
∑
i
=
1
I
1
1
+
e
x
p
(
−
w
T
x
i
)
(
1
−
1
1
+
e
x
p
(
−
w
T
x
i
)
)
x
i
x
i
T
−
1
σ
p
2
\begin{aligned}\frac{∂lnL}{∂\bm w}& = -\sum_{i=1}^I(\frac{1}{1 + exp(-\bm w^T\bm x_i)} -y_i)\bm x_i - \frac{\bm w}{\sigma_p^2}\\ \frac{∂^2lnL}{∂\bm w^2}&= -\sum_{i=1}^I \frac{1}{1 + exp(-\bm w^T\bm x_i)}(1 - \frac{1}{1 + exp(-\bm w^T\bm x_i)})\bm x_i\bm x_i^T- \frac{1}{\sigma_p^2} \end{aligned}
∂w∂lnL∂w2∂2lnL=−i=1∑I(1+exp(−wTxi)1−yi)xi−σp2w=−i=1∑I1+exp(−wTxi)1(1−1+exp(−wTxi)1)xixiT−σp21使用多元高斯分布来近似后验概率
P
(
w
∣
x
,
y
)
≈
q
(
w
)
=
N
(
w
;
μ
,
Σ
)
P(\bm w|\bm x, \bm y) \approx q(\bm w) = N(\bm w;\bm\mu, \bm\Sigma)
P(w∣x,y)≈q(w)=N(w;μ,Σ)其中
μ
=
w
^
Σ
=
−
(
∂
2
l
n
L
∂
w
2
)
−
1
∣
w
=
w
^
\begin{aligned}\bm\mu& = \hat\bm w \\ \bm\Sigma &= -(\frac{∂^2lnL}{∂\bm w^2})^{-1}|_{\bm w = \hat\bm w} \end{aligned}
μΣ=w^=−(∂w2∂2lnL)−1∣w=w^随后,对于新观测数据
x
∗
\bm x^*
x∗,有
P
(
y
∗
∣
x
∗
,
x
,
y
)
=
∫
P
(
y
∗
∣
x
∗
,
x
,
y
,
w
)
P
(
w
∣
x
∗
,
x
,
y
)
d
w
=
∫
P
(
y
∗
∣
x
∗
,
w
)
P
(
w
∣
x
,
y
)
d
w
≈
∫
P
(
y
∗
∣
x
∗
,
w
)
q
(
w
)
d
w
\begin{aligned}P(y^*|\bm x^*, \bm x, \bm y) & = \int P(y^*|\bm x^*, \bm x, \bm y, \bm w)P(\bm w|\bm x^*, \bm x, \bm y)d\bm w \\&= \int P(y^*|\bm x^*, \bm w)P(\bm w|\bm x, \bm y)d\bm w \\&\approx \int P(y^*|\bm x^*, \bm w)q(\bm w)d\bm w \end{aligned}
P(y∗∣x∗,x,y)=∫P(y∗∣x∗,x,y,w)P(w∣x∗,x,y)dw=∫P(y∗∣x∗,w)P(w∣x,y)dw≈∫P(y∗∣x∗,w)q(w)dw事实上,该式也不能闭式计算,这里直接给出一个近似的闭式解:
P
(
y
∗
∣
x
∗
,
x
,
y
,
w
)
=
1
1
+
e
x
p
(
−
μ
T
x
∗
/
1
+
π
x
∗
T
Σ
x
∗
/
8
)
P(y^*|\bm x^*, \bm x, \bm y, \bm w) = \frac{1}{1+exp(-\bm\mu^T\bm x^*/\sqrt{1+\pi\bm x^{*T}\bm{\Sigma x}^*/8})}
P(y∗∣x∗,x,y,w)=1+exp(−μTx∗/1+πx∗TΣx∗/8)1
6.3 非线性逻辑回归
上述逻辑回归模型创建了类间的线性决策边界。一个简单的创造非线性决策边界的方法同回归模型相同的方法:使用非线性变换
z
=
f
(
x
)
\bm z = f(\bm x)
z=f(x)建立逻辑回归模型
P
(
y
∣
x
,
w
)
=
B
(
y
∣
s
i
g
m
o
i
d
(
w
T
z
)
)
P(y|\bm x, \bm w) = B(y|sigmoid(\bm w^T\bm z))
P(y∣x,w)=B(y∣sigmoid(wTz))典型的非线性变换有:
-投影单位阶跃函数
z
=
h
(
w
T
x
)
z = h(\bm w^T\bm x)
z=h(wTx);
-投影反正切函数
z
=
a
r
c
t
a
n
(
w
T
x
)
z = arctan(\bm w^T\bm x)
z=arctan(wTx);
-径向基函数
z
=
e
x
p
[
−
(
x
−
a
)
T
(
x
−
a
)
/
λ
0
]
z = exp[-(\bm x - \bm a)^T(\bm x- \bm a)/\lambda_0]
z=exp[−(x−a)T(x−a)/λ0]。
需要指出的是,基函数同样有参数。