稀疏贝叶斯学习 1
稀疏贝叶斯学习 (SBL)是贝叶斯统计优化算法中十分重要的一类,它是在贝叶斯理论的基础上发展而来的。现在贝叶斯学习技术已应用到信息的智能检索,数据挖掘等领域。SBL 算法首先将未知的待估计参数向量看作符合某种先验分布的随机向量 ,并根据以往对所求参数的知识,确定先验分布;然后根据样本信息,运用贝叶斯规则,计算后验概率分布 ;最后综合先验信息和后验概率,做出对未知参数的推断。研究人员通过对先验认知与试验样本的深入分析和建模,提出了不同模型的学习算法。其中基于相关向量机 (RVM)的监督学习是最热门的方向之一。
贝叶斯公式到贝叶斯参数学习
下面给出公式:
p
(
θ
∣
x
)
=
p
(
x
∣
θ
)
p
(
θ
)
p
(
x
)
=
p
(
x
∣
θ
)
p
(
θ
)
∫
p
(
x
∣
θ
)
p
(
θ
)
d
θ
p(\theta \vert x) = \frac{p(x\vert \theta) p(\theta)}{p(x)} =\frac{p(x\vert \theta) p(\theta)}{\int p(x\vert \theta) p(\theta) \text{d}\theta}
p ( θ ∣ x ) = p ( x ) p ( x ∣ θ ) p ( θ ) = ∫ p ( x ∣ θ ) p ( θ ) d θ p ( x ∣ θ ) p ( θ ) 所表达的思想是通过观察样本信息,将先验概率密度通过贝叶斯规则 转化为后验概率密度。用
x
x
x 表示随机观测向量,
θ
\theta
θ 表示未知参数,
p
(
θ
,
x
)
=
p
(
x
∣
θ
)
p
(
θ
)
p(\theta,x)=p(x\vert \theta) p(\theta)
p ( θ , x ) = p ( x ∣ θ ) p ( θ ) 表示
x
,
θ
x, \theta
x , θ 的联合分布密度函数,
p
(
x
)
p(x)
p ( x ) 和
p
(
θ
)
p(\theta)
p ( θ ) 分别表示它们的边缘概率 密度。这些概率是未知的,通常是根据试验数据,背景知识,对基准分布做合理假设后估计得到的。
对连续随机变量
X
X
X ,根据贝叶斯公式,参数
θ
\theta
θ 的后验 概率密度为:
p
(
θ
∣
x
1
,
x
2
,
⋯
 
,
x
n
)
=
p
(
x
1
,
x
2
,
⋯
 
,
x
n
∣
θ
)
p
(
θ
)
∫
p
(
x
1
,
x
2
,
⋯
 
,
x
n
∣
θ
)
p
(
θ
)
d
θ
p(\theta \vert x_1,x_2,\cdots, x_n) =\frac{p(x_1,x_2,\cdots, x_n\vert \theta) p(\theta)}{\int p(x_1,x_2,\cdots, x_n\vert \theta) p(\theta) \text{d}\theta}
p ( θ ∣ x 1 , x 2 , ⋯ , x n ) = ∫ p ( x 1 , x 2 , ⋯ , x n ∣ θ ) p ( θ ) d θ p ( x 1 , x 2 , ⋯ , x n ∣ θ ) p ( θ ) 这里
p
(
x
1
,
x
2
,
⋯
 
,
x
n
∣
θ
)
p(x_1,x_2,\cdots, x_n\vert \theta)
p ( x 1 , x 2 , ⋯ , x n ∣ θ ) 是样本
(
X
1
,
X
2
,
⋯
 
,
X
n
)
(X_1,X_2,\cdots, X_n )
( X 1 , X 2 , ⋯ , X n ) 的条件概率密度,
p
(
θ
)
p(\theta)
p ( θ ) 为参数
θ
\theta
θ 的先验 概率密度,贝叶斯公式综合了先验知识与观测样本,体现了先验分布向后验分布的转化。
贝叶斯估计准则函数的一般形式为
R
(
θ
,
θ
^
)
=
E
[
L
(
θ
,
θ
^
)
]
R(\theta,\hat{\theta}) =\mathbb E[\mathcal L(\theta,\hat{\theta})]
R ( θ , θ ^ ) = E [ L ( θ , θ ^ ) ]
其中,
R
(
θ
,
θ
^
)
R(\theta,\hat{\theta})
R ( θ , θ ^ ) 用于度量随机变量
θ
\theta
θ 和
θ
^
\hat{\theta}
θ ^ 之间的近似程度,
L
(
θ
,
θ
^
)
\mathcal L(\theta,\hat{\theta})
L ( θ , θ ^ ) 称为损失函数。综合考虑先验概率密度函数和样本 条件密度函数,进一步得到如下的近似式:
R
(
θ
,
θ
^
)
=
∫
{
∫
L
(
θ
,
θ
^
)
p
(
x
∣
θ
)
d
x
}
p
(
θ
)
d
θ
R(\theta,\hat{\theta}) = \int \bigg\{ \int \mathcal L(\theta,\hat{\theta}) p(x\vert \theta) \text{d}x \bigg\} p(\theta)\text{d}\theta
R ( θ , θ ^ ) = ∫ { ∫ L ( θ , θ ^ ) p ( x ∣ θ ) d x } p ( θ ) d θ
贝叶斯参数估计将参数
θ
\theta
θ 视为随机变量,并具有先验分布
p
(
θ
)
p(\theta)
p ( θ ) 。贝叶斯参数估计分三步进行:
首先,确定样本数据和未知参数先验分布,先验分布可以基于主观依据或者完全是主观推测;
其次,根据样本信息、先验分布以及概率论公式,计算出在已知样本条件下,未知参数的条件分布。该分布称为后验分布。
最后根据后验分布并依据给定的准则函数获得参数的估计。
在稀疏表示问题中,可将冗余字典或超完备基等效理解为网络拓扑结构 ,而获取的观测数据则可等效理解为训练样本集。
如图所示是贝叶斯参数学习的分类,参数化方法要求已知总体分布的形式,可以用较少的数据样本得到较精确的估计。但是在许多应用中事先并不知总体分布形式,或不满足标准分布,因此得到更广泛的应用的是核函数 估计法。在稀疏表示问题中,对不同的应用场景和数据模型,应具体分析各变量之间的依赖关系,选用合适的先验假设和参数估计方法。
压缩感知(稀疏重构)基础
压缩感知(CS)优化的基础是信号的稀疏性 ,其表现为信号的能量只集中在某个基内的少部分维度上,其余维度能量为零或者总能量较小。在信号处理中,很多自然和人工的信号都可以在某个空间上进行稀疏表示。
稀疏信号定义如下:
若一个信号
x
∈
R
N
\mathbf x \in \mathbb R^{N}
x ∈ R N ,其中不为零的元素个数为
k
(
k
≪
N
)
k \ (k\ll N)
k ( k ≪ N ) ,定义
∥
x
∥
0
=
k
\Vert \mathbf x \Vert_0 =k
∥ x ∥ 0 = k ,则称
x
\mathbf x
x 为
k
k
k -稀疏的向量。
该定义表明
k
k
k -稀疏的向量可以由一个各列线性独立的基矩阵线性表示,即
x
=
Φ
s
\mathbf x =\mathbf \Phi \mathbf s
x = Φ s ,其中
∥
s
∥
0
≤
k
\Vert \mathbf s \Vert_0 \leq k
∥ s ∥ 0 ≤ k ,
s
∈
R
N
\mathbf s \in \mathbb R^{N}
s ∈ R N 是稀疏系数向量。
定义
x
\mathbf x
x 的支撑集为
s
\mathbf s
s 中非零值的位置索引 组成的集合,用
supp
(
s
)
\text{supp}(\mathbf s)
supp ( s ) 标记。
由于实际测量过程中噪声存在,所以信号不满足严格稀疏特性 ,如工程中的原信号
x
\mathbf x
x 不是稀疏的,都是近似稀疏 的,这些信号需要找到某种稀疏基 并成为可压缩信号进行稀疏表示即令
x
=
Ψ
s
\mathbf x =\mathbf \Psi \mathbf s
x = Ψ s ,
Ψ
\mathbf \Psi
Ψ 为稀疏基矩阵。
信号
x
x
x 经过采样得到测量矢量
y
∈
R
M
\mathbf y \in \mathbb R^{M}
y ∈ R M :
y
=
Ψ
x
=
Ψ
Φ
s
\mathbf y = \mathbf \Psi \mathbf x =\mathbf \Psi \mathbf \Phi \mathbf s
y = Ψ x = Ψ Φ s 其中
Ψ
∈
R
M
×
N
\mathbf \Psi \in \mathbb R^{M \times N}
Ψ ∈ R M × N 且
M
<
N
M<N
M < N 。 注意
x
\mathbf x
x 是一维的原信号,稀疏度为
k
k
k ,它是未知的。
Ψ
\mathbf \Psi
Ψ 为观测矩阵,对应着随机亚采样 这一过程,它将高维信号
x
\mathbf x
x 投影到低维空间,也就是亚采样后的结果,显然
Ψ
\mathbf \Psi
Ψ 和
y
\mathbf y
y 是已知的。 该公式表明如果信号是稀疏的,可以用远低于奈奎斯特采样率的采样点对信号
x
\mathbf x
x 进行有用信息的重建恢复 ,因为
s
\mathbf s
s 中包含了
x
\mathbf x
x 的所有有用信息。接下来可以定义感知矩阵为:
A
=
Ψ
Φ
\mathbf A = \mathbf \Psi \mathbf \Phi
A = Ψ Φ
因此,压缩感知问题就是在已知测量值
y
\mathbf y
y 和观测矩阵
Ψ
\mathbf \Psi
Ψ 的基础上,求解欠定方程组
y
=
Ψ
x
\mathbf y = \mathbf \Psi \mathbf x
y = Ψ x 得到原信号
x
\mathbf x
x 。压缩感知理论表明,能否通过少量数据构成的釆样数据向量
y
\mathbf y
y 来精确重构稀疏系数向量
s
\mathbf s
s ,完全由压缩感知矩阵
A
\mathbf A
A 所决定。 为了更真实的模拟实际情况,考虑有噪声的信号模型:
y
=
A
s
+
n
\mathbf y = \mathbf A \mathbf s +\mathbf n
y = A s + n
问题即为,已知
y
\mathbf y
y 和
A
\mathbf A
A ,求解
s
\mathbf s
s 。求解出
s
\mathbf s
s 后,由
x
=
Φ
s
\mathbf x =\mathbf \Phi \mathbf s
x = Φ s 即可得到恢复出的原信号
x
\mathbf x
x 。如果
M
<
N
M <N
M < N ,则问题是一个线性欠定方程 ,存在无穷多个解。而理想的
s
\mathbf s
s 是一个稀疏向量,要寻求的 s 其非零元素的个数要尽量小 ,那么问题可描述为:
arg
min
∥
s
∥
0
s
.
t
.
y
=
A
s
+
n
\begin{aligned} \arg\min \Vert \mathbf s \Vert_0 \\ s.t. \quad \mathbf y = \mathbf A \mathbf s +\mathbf n \end{aligned}
arg min ∥ s ∥ 0 s . t . y = A s + n
这是一个
L
0
\mathcal L_0
L 0 范数优化问题。研究证明了在测量矩阵
A
\mathbf A
A 与稀疏向量
s
\mathbf s
s 满足严格等距特性 (RIP)条件下,
L
1
\mathcal L_1
L 1 范数优化问题与
L
0
\mathcal L_0
L 0 范数优化问题具有相同的解。
传统的
L
1
\mathcal L_1
L 1 范数稀疏正则化的优化问题为:
s
^
=
arg
min
s
1
2
∥
y
−
A
s
∥
2
2
+
λ
∥
s
∥
0
\begin{aligned} \hat{\mathbf s} =\underset{\mathbf s}{\arg\min} \frac{1}{2} \Vert \mathbf y - \mathbf A \mathbf s \Vert_2^2 +\lambda \Vert \mathbf s\Vert_0 \end{aligned}
s ^ = s arg min 2 1 ∥ y − A s ∥ 2 2 + λ ∥ s ∥ 0 等价于
arg
min
∥
s
∥
1
s
.
t
.
∥
y
−
A
s
∥
2
2
≤
ε
\begin{aligned} \arg\min \Vert \mathbf s \Vert_1 \\ s.t. \quad \Vert \mathbf y - \mathbf A \mathbf s \Vert_2^2 \leq \varepsilon \end{aligned}
arg min ∥ s ∥ 1 s . t . ∥ y − A s ∥ 2 2 ≤ ε
其中,
λ
\lambda
λ 称为正则化参数,
ε
\varepsilon
ε 是与噪声方差相关的容噪参数 。
但是,要确认一个矩阵是否满足 RIP 非常复杂。于是有证明:RIP 的等价条件是观测矩阵
Ψ
\mathbf \Psi
Ψ 和稀疏基
Φ
\mathbf \Phi
Φ 不相关(incoherent) 。
总结:如果信号满足
在范数下的最优就是应有的最优。
独立同分布的高斯随机测量矩阵可以成为普适的压缩感知测量矩阵。于是满足高斯分布的随机测量矩阵就成了 CS 最常用的观测矩阵。
稀疏重构算法
稀疏问题的求解算法,大概可归纳为以下三类:
直接优化
L
0
\mathcal L_0
L 0 范数的贪婪算法
通过
L
1
\mathcal L_1
L 1 范数近似计算
L
0
\mathcal L_0
L 0 范数的凸优化方法
贝叶斯统计优化算法
1. 贪婪追踪算法
贪婪算法解决的是 0 范数优化问题,即求解:
x
^
=
min
∥
x
∥
0
s
.
t
.
∥
Φ
x
−
y
∥
2
2
≤
η
\hat{\mathbf x} = \min \Vert \mathbf x\Vert_0 \quad s.t. \Vert \mathbf \Phi \mathbf x - \mathbf y\Vert_2^2 \leq \eta
x ^ = min ∥ x ∥ 0 s . t . ∥ Φ x − y ∥ 2 2 ≤ η 该方法的优点是计算复杂度一般相对较小,容易理解与实现,同时贪婪算法在多测量矢量问题中对于联合稀疏性的利用更加简单与直观。目前贪婪算法有匹配追踪(MP),最广泛研究的是正交匹配追踪(OMP)。
稀疏分解 思想是:要解决的问题是在冗余字典
Φ
\mathbf \Phi
Φ 中选出
k
k
k 列,用这
k
k
k 列的线性组合近似表达待稀疏分解信号
y
\mathbf y
y ,问题可以表示为有关系
y
=
Φ
x
\mathbf y=\mathbf \Phi \mathbf x
y = Φ x ,求
x
\mathbf x
x 。
压缩感知重构 要解决的问题是事先存在一个
x
\mathbf x
x 和矩阵
Φ
\mathbf \Phi
Φ ,然后得到
y
=
Φ
x
\mathbf y=\mathbf \Phi \mathbf x
y = Φ x (压缩观测),现在是在已知
A
\mathbf A
A 和
Φ
\mathbf \Phi
Φ 的情况下要重构
x
\mathbf x
x 。
实际上它们要解决的问题都是对已知
A
\mathbf A
A 和
Φ
\mathbf \Phi
Φ 的情况下求
y
=
Φ
x
\mathbf y=\mathbf \Phi \mathbf x
y = Φ x 中的
x
\mathbf x
x 。
参考链接:https://zhuanlan.zhihu.com/p/52276805 MP 算法的基本思想:从字典矩阵中,选择一个与信号
y
\mathbf y
y 最匹配的基向量(也就是某列),构建一个稀疏逼近,并求出信号残差,然后继续选择与信号残差最匹配的向量,反复迭代,信号
y
=
∑
j
ϕ
j
x
j
\mathbf y =\sum_j \boldsymbol{\phi}_j x_j
y = ∑ j ϕ j x j ,再加上最后的残差值来表示。 MP 算法在每一次迭代过程中,总是从过完备字典 中选出与输入信号的结果最匹配的基向量,来达到稀疏逼近。相对于 MP 算法,OMP 算法最主要的改进在于,在每次迭代中采用正交化 处理,重新确定当前选择的基向量集合所对应的非零元素,残差是总与已经选择过的基向量正交的,这意味着一个基不会被选择两次。现将 OMP 算法流程归纳如下:
1、初始化:令索引集
A
\mathcal A
A 非空,
t
=
1
t=1
t = 1 ,残差
r
0
=
y
\mathbf r_0 = \mathbf y
r 0 = y 2、识别:选择的列所在冗余字典的列数
λ
t
=
arg
max
∣
⟨
r
i
−
1
,
ϕ
j
⟩
∣
\lambda_t = \arg\max \vert \left \langle \mathbf r_{i-1}, \boldsymbol{\phi}_j \right \rangle \vert
λ t = arg max ∣ ⟨ r i − 1 , ϕ j ⟩ ∣ ,以及
ϕ
j
∈
Φ
\boldsymbol{\phi}_j \in \mathbf \Phi
ϕ j ∈ Φ 3、更新:索引集
A
t
=
A
t
−
1
∪
λ
t
\mathcal A_t = \mathcal A_{t-1} \cup{\lambda_t }
A t = A t − 1 ∪ λ t ,记重建所选择的基集合
Φ
t
=
[
Φ
t
−
1
,
ϕ
λ
t
]
\mathbf \Phi_t =\left[\mathbf \Phi_{t-1}, \boldsymbol{\phi}_{\lambda_t}\right]
Φ t = [ Φ t − 1 , ϕ λ t ] ,由最小二乘法得到第
t
t
t 次迭代信号估计:
x
^
t
=
Φ
t
†
y
\hat{\mathbf x}_t =\mathbf \Phi_t^{\dagger} \mathbf y
x ^ t = Φ t † y ,残差更新
r
t
=
y
−
Φ
t
x
^
t
\mathbf r_t = \mathbf y - \mathbf \Phi_t \hat{\mathbf x}_t
r t = y − Φ t x ^ t 4、令
t
=
t
+
1
t=t+1
t = t + 1 ,判断迭代次数是否达到稀疏度
k
k
k ,是则停止迭代,否则更新。
虽然 OMP 是非常快速的算法,但是对于某些信号并不适用,因为它要求感知矩阵在设计方面满足 RIP 准则。之后,研究工作者受到无线通信的启发,将 OMP 进行推广引出了分段正交匹配追踪(StOMP)算法,以及提出了正则化匹配追踪(ROMP)算法。总的来说,StOMP 和 ROMP 算法的运行速度、估计性能与 OMP 相比,有进一步的提高。
2. 凸松弛类算法
凸松弛类算法 / 凸优化 /
L
1
\mathcal L_1
L 1 范数优化类算法都是一种基于全局优化原理——基追踪(Basic Pursuit,BP)的方法,其核心思想是将原来的
L
0
\mathcal L_0
L 0 范数优化问题退化为
L
1
\mathcal L_1
L 1 范数问题,通过二阶锥规划方法寻找过完备字典下的稀疏解。最小
L
0
\mathcal L_0
L 0 范数规划是个 NP-hard 问题,而
L
1
\mathcal L_1
L 1 范数是不可微的,所以它也可以非常的稀疏,并且它得到的解是全局最优解,这是 MP 算法做不到的。目前凸优化问题的解法已经很成熟,该类算法的特点是所需采样数少,计算结果稳定,但运算速度较慢。
3. 贝叶斯学习/推断算法
使用上面两类方法均需事先己知信号的稀疏度,增加了应用的复杂性。如何建立一种可以省去估计稀疏度的重构算法是当前面临的一个重要难题,而贝叶斯参数学习方法无疑是解决这一问题的有效思路。
目前,基于贝叶斯学习的稀疏重构已受到许多学者的关注,特别是提出的基于双层先验概率思想的相关向量机(RVM:relevance vector machine),受到极大的重视与发展。由此发展出一些贝叶斯学习算法,如
快速序列稀疏贝叶斯学习算法(FSBL)
快速贝叶斯匹配追踪(FBMP)
多测量矢量稀疏贝叶斯学习(MSBL)算法
多任务贝叶斯压缩感知重构(MTBCS)算法