Bregman系列算法是近几年在图像处理和压缩感知领域异军突起的算法,能够更好地从现有数据中还原真实目标结果。我们可以构造优化模型
argminH(u)+J(u)
来还原真实目标数据,一般理解为
H(u)
是我们的目标最小化模型,常用的有
H(u)=1/2(Au−Y)2
,其中u是目标,Y是观测结果,A是导致观测结果与真实结果不一致的原因;J(u)一般是一个约束项,自从压缩感知火了之后,一般J(u)是一个L1模型,即一个绝对值函数,等价于要找一组u,使得u的表示最简单,这里用Bregman距离来对L1进一步完善。
Bregman算法的核心之一是Bregman距离,给定泛函J,Bregman距离定义如下:
符合上述条件的p,称为次梯度subgradient:
我们可以看出Bregman距离与泰勒展开式有密切的关系,反映了J(u)在v处的拟合误差。Bregman距离和KL距离是一类东西,不符合传统的距离定义,比如 D(u,v)≠D(v,u) ,不过 D(u,v) 显然的有 v→u,Dp(u,v)↓ ,因此Bregman距离可以反映一种远近关系。
先给出迭代算法,H(u)是优化模型:
Initialize:
k=0,u0=0,p0=0
(1)
While
uk
not converge:
uk+1=argminuDpJ(u,uk)+H(u)
(2)
pk+1=pk−∇H(uk+1)∈∂J(uk+1)
(3)
k=k+1
end while
下面来证明这个算法是可行的:
下界
H(u)优化模型的定义是一个有下界、可微分的凸模型;Bregman距离有定义 Dp(u,v)≥0 。综上有 sup[J(u)+H(u)]=C,C>−inf ,因此Bregman优化模型可以达到一个明确的最小化值,即有下确界。
为什么迭代过程中 pk+1 是次梯度
然后是证明沿着 pk+1 也是最小化模型的次梯度。函数最小化时,梯度应当为0,有:
收敛性
由于Bregman距离是非负的,且未收敛时 uk+1≠uk ,所以 H(uk+1)<H(uk+1)+DpJ(uk+1,uk)=F(uk+1) ,而根据(2) F(uk+1) 最小。因此
然后是证明J在迭代算法中单调下降。原始证明有个技巧: Dpk(u,uk)+Dpk−1(uk,uk−1)−Dpk−1(uk,uk−1)=<pk−pk−1,uk−u> ,由(4)有
继续使用Bregman距离非负性质得到
综上,沿着 p 下降可以同时最小化H和D,即最小化目标模型可解。
为什么比L1模型好
设
因此,通过Bregman距离的定义,可以找出一套次梯度,使得最小化模型可以更好地收敛到下确界。