《Computer Vision - Model Learning and Inference》笔记
第六章
计算机视觉的问题是根据视觉数据 x \bold{x} x 推测现实状态 w \bold{w} w 的过程
模型分为两种
-
根据视觉数据求现实状态概率分布 P r ( w ∣ x ) Pr(\bold{w}|\bold{x}) Pr(w∣x) 的判别模型。
-
根据现实状态求视觉数据概率分布 P r ( x ∣ w ) Pr(\bold{x}|\bold{w}) Pr(x∣w) 的生成模型。
示例1:假设 w w w和 x x x是连续的标量
判别模型:
我们设正态分布函数 P r ( w ∣ x , θ ) = N o r m w [ μ , σ 2 ] Pr(w|x,\bm{\theta})=Norm_w[\mu,\sigma^2] Pr(w∣x,θ)=Normw[μ,σ2]。其中,参数 μ \mu μ 为均值, σ 2 \sigma^2 σ2 为方差。它们决定了函数的形状,代入自变量 w w w即可求得 w w w处的概率密度。
若假定均值 μ \mu μ和 x x x成线性关系 μ = ϕ 0 + ϕ 1 x \mu=\phi_0+\phi_1x μ=ϕ0+ϕ1x,则 P r ( w ∣ x , θ ) = N o r m w [ ϕ 0 + ϕ 1 x , σ 2 ] Pr(w|x,\bm{\theta})=Norm_w[\phi_0+\phi_1x,\sigma^2] Pr(w∣x,θ)=Normw[ϕ0+ϕ1x,σ2],这种方法称为线性回归。那么模型的参数集 θ = { ϕ 0 , ϕ 1 , σ 2 } \bm{\theta}=\{\phi_0,\phi_1,\sigma^2\} θ={ϕ0,ϕ1,σ2},学习算法的任务就是利用数据集 { x i , w i } i = 1 I \{x_i,w_i\}^I_{i=1} {xi,wi}i=1I进行拟合,求 θ \bm{\theta} θ 。求好之后推理算法的任务很简单,就是把新数据 x x x 代入,求得 w w w 的概率分布。
判别模型的图像,颜色深度代表 P r ( w ∣ x ) Pr(w|x) Pr(w∣x)的大小
生成模型:
生成模型正好相反,若仍采用正态分布+线性回归,则设 P r ( x ∣ w , θ ) = N o r m x [ ϕ 0 + ϕ 1 w , σ 2 ] Pr(x|w,\bm{\theta})=Norm_x[\phi_0+\phi_1w,\sigma^2] Pr(x∣w,θ)=Normx[ϕ0+ϕ1w,σ2] 。同理用数据拟合求得 θ = { ϕ 0 , ϕ 1 , σ 2 } \bm{\theta}=\{\phi_0,\phi_1,\sigma^2\} θ={ϕ0,ϕ1,σ2}。
假设 w w w 也满足正态分布, P r ( w ) = N o r m w [ μ p , σ p 2 ] Pr(w)=Norm_w[\mu_p,\sigma_p^2] Pr(w)=Normw[μp,σp2],用数据 { w i } i = 1 I \{w_i\}^I_{i=1} {wi}i=1I求出 θ p = { μ p , σ p 2 } \bm{\theta_p}=\{\mu_p,\sigma_p^2\} θp={μp,σp2}。
求好后,推理算法用贝叶斯定理求新数据
x
x
x 对应
w
w
w 的概率分布:
P
r
(
w
∣
x
)
=
P
r
(
x
∣
w
)
P
r
(
w
)
P
r
(
x
)
Pr(w|x)=\frac{Pr(x|w)Pr(w)}{Pr(x)}
Pr(w∣x)=Pr(x)Pr(x∣w)Pr(w)
示例2:假设 x x x是连续标量, w w w是离散标量
判别模型:
因为 w w w 只能取0或1,我们可以使用伯努利分布。它的唯一参数 λ \lambda λ表示 w w w取1的概率。 P r ( w = 1 ) = λ Pr(w=1)=\lambda Pr(w=1)=λ。
同示例1,我们设
λ
=
f
(
x
)
\lambda=f(x)
λ=f(x)。由于概率
λ
∈
[
0
,
1
]
\lambda\in[0,1]
λ∈[0,1],我们先把x输入线性函数(结果属于R),再把结果给到sigmoid函数(结果在0和1之间):
λ
=
B
e
r
n
w
[
s
i
g
[
ϕ
0
+
ϕ
1
x
]
]
=
B
e
r
n
w
[
1
1
+
e
x
p
[
−
ϕ
0
−
ϕ
1
x
]
]
]
\lambda=Bern_w[sig[\phi_0+\phi_1x]]=Bern_w[\frac{1}{1+exp[-\phi_0-\phi_1x]} ]]
λ=Bernw[sig[ϕ0+ϕ1x]]=Bernw[1+exp[−ϕ0−ϕ1x]1]]
这个操作称为逻辑回归。
这个模型的参数集合 θ = { ϕ 0 , ϕ 1 } \bm{\theta}=\{\phi_0,\phi_1\} θ={ϕ0,ϕ1}
生成模型:
不多解释。
P
r
(
w
∣
,
θ
)
=
N
o
r
m
x
[
μ
w
,
σ
w
2
]
Pr(w|,\bm{\theta})=Norm_x[\mu_w,\sigma_w^2]
Pr(w∣,θ)=Normx[μw,σw2]
由于
w
w
w只有2个值,可以直接写成:
P
r
(
w
=
0
∣
,
θ
)
=
N
o
r
m
x
[
μ
0
,
σ
0
2
]
Pr(w=0|,\bm{\theta})=Norm_x[\mu_0,\sigma_0^2]
Pr(w=0∣,θ)=Normx[μ0,σ02]
P
r
(
w
=
1
∣
,
θ
)
=
N
o
r
m
x
[
μ
1
,
σ
1
2
]
Pr(w=1|,\bm{\theta})=Norm_x[\mu_1,\sigma_1^2]
Pr(w=1∣,θ)=Normx[μ1,σ12]
先验概率:
P
r
(
w
)
=
B
e
r
n
w
[
λ
p
]
Pr(w)=Bern_w[\lambda_p]
Pr(w)=Bernw[λp]
学习算法计算参数集合:
θ
=
{
μ
0
,
σ
0
,
μ
1
,
σ
1
,
λ
p
}
\bm{\theta}=\{\mu_0,\sigma_0,\mu_1,\sigma_1,\lambda_p\}
θ={μ0,σ0,μ1,σ1,λp}
推理算法用贝叶斯:
P
r
(
w
∣
x
)
=
P
r
(
x
∣
w
)
P
r
(
w
)
Σ
w
=
0
1
P
r
(
x
∣
w
)
P
r
(
w
)
Pr(w|x)=\frac{Pr(x|w)Pr(w)}{\Sigma_{w=0}^1Pr(x|w)Pr(w)}
Pr(w∣x)=Σw=01Pr(x∣w)Pr(w)Pr(x∣w)Pr(w)