可以看出:
· 第一次迭代,
u1=argmin(u) { D(u, 0) + H(u) }, 其中D(u, 0)=J(u) - J(0) - <0, u>=J(u)
· 再经过多次的迭代,
就能够收敛到真实的最优解。
对于具体的问题:
定义的具体形式是不同的。例如对于压缩感知使用的基追踪算法,J是L1范数;
而对于图像去噪问题,可能就是u的梯度L1范数,同时A也变成了恒等算子了。
Bregman算法对于基追踪问题来说是一种很好的工具。split-bregman但是,算法中的每一步都要求解公式的最小值,从而使得计算复杂度非常高。
因此提出了——
首先,利用矩阵的泰勒公式,将公式
中的 H(u) 线性展开,得到:
但是这种近似展开只有在u和uk十分接近的时候上式才准确。因此,把泰勒公式中的二次项加上,则原来的问题就变成了:
可以看到,二次项可以使 u 和 uk 很靠近。
为什么这里的二次项是L2范数的平方?
答:因为向量的平方就是L2范数的平方。。
???二阶导数不见了????
又因为:
注意和是关于 u 的常数。
所以,
考虑基追踪算法,令 H(u) =
得到:


考虑该式的一个特殊情况,。并将pk回代,得到:

C是一个常量,与uk有关的常量。split-bregmanuk也是一个常量。
分3种情况来考虑 u,则

进一步整理,得到:

定义shrink算子,当a>0时,有:


参考书:《Bregman算法》
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-38498-2.html
为每日做事
哈哈
好呀