【机器学习】Bregman迭代算法以及证明

Bregman系列算法是近几年在图像处理和压缩感知领域异军突起的算法,能够更好地从现有数据中还原真实目标结果。我们可以构造优化模型 argminH(u)+J(u) 来还原真实目标数据,一般理解为 H(u) 是我们的目标最小化模型,常用的有 H(u)=1/2(AuY)2 ,其中u是目标,Y是观测结果,A是导致观测结果与真实结果不一致的原因;J(u)一般是一个约束项,自从压缩感知火了之后,一般J(u)是一个L1模型,即一个绝对值函数,等价于要找一组u,使得u的表示最简单,这里用Bregman距离来对L1进一步完善。
Bregman算法的核心之一是Bregman距离,给定泛函J,Bregman距离定义如下:

Dp(u,v)=J(u)J(v)<p,uv> 0

符合上述条件的p,称为次梯度subgradient:


{p|Dp(u,v)=J(u)J(v)<p,uv> 0} 其中<>表示内积。其中

D(u,u)=0

我们可以看出Bregman距离与泰勒展开式有密切的关系,反映了J(u)在v处的拟合误差。Bregman距离和KL距离是一类东西,不符合传统的距离定义,比如

D(u,v)D(v,u) ,不过

D(u,v) 显然的有

vu,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=pkH(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,有:

DpJ(u,uk)+H(u)=(J(u)J(uk)<p,uuk>+H(u))=J(u)p+H(u)0p=pH(u)J(u) (4) 即

p 是新的次梯度,可令

pk+1=p

收敛性

由于Bregman距离是非负的,且未收敛时 uk+1uk ,所以 H(uk+1)<H(uk+1)+DpJ(uk+1,uk)=F(uk+1) ,而根据(2) F(uk+1) 最小。因此

F(uk+1)<F(uk)=H(uk)+DpJ(uk,uk)=H(uk)H(uk+1)<H(uk) 即H在迭代算法中是单调下降的。

然后是证明J在迭代算法中单调下降。原始证明有个技巧:

Dpk(u,uk)+Dpk1(uk,uk1)Dpk1(uk,uk1)=<pkpk1,uku> ,由(4)有

<pkpk1,uku>=H(uk)(uku) 这里变回了次梯度的定义,由Bregman距离非负性质得到

Dpk(u,uk)+Dpk1(uk,uk1)Dpk1(uk,uk1)=H(uk)(uku)H(u)H(uk)(5)

继续使用Bregman距离非负性质得到

Dpk(u,uk)Dpk1(uk,uk1)<Dpk(u,uk)+Dpk1(uk,uk1)Dpk1(uk,uk1)H(u)H(uk) 当还没有收敛时,由(5)知道

H(uk+1)<H(uk) ,所以优化时应该有

H(uk)>H(u),H(u)H(uk)<0 那么

Dpk(u,uk)Dpk1(uk,uk1)<0Dpk(u,uk)<Dpk1(uk,uk1)

综上,沿着

p 下降可以同时最小化H和D,即最小化目标模型可解。

为什么比L1模型好

J(u)=|u| ,即使用L1正则化。当迭代进行第一步时, p0,u0 为零向量,此时优化模型就是最初的L1优化模型: argmin[J(u)+H(u)]=argmin[|u|+H(u)] 。之后的迭代过程会在此基础上继续逼近真实答案,所以Bregman在考虑L1稀疏特征的基础上进行了进一步优化。

因此,通过Bregman距离的定义,可以找出一套次梯度,使得最小化模型可以更好地收敛到下确界。

点赞