求解用于高质量去噪的凸优化问题

信息处理 噪音 去噪 平滑 凸优化
2022-01-15 18:49:27

这个问题的最高投票答案表明,要在保持尖锐过渡的同时对信号进行去噪,应该

最小化目标函数:

|xy|2+b|f(y)|

其中是噪声信号,是去噪信号,是正则化参数,是一些 L1 范数惩罚。去噪是通过找到这个优化问题取决于噪声水平。xyb|f(y)|yb

然而,没有迹象表明如何在实践中实现这一点,因为这在非常高维空间中是一个问题,尤其是在信号为例如 1000 万个样本长的情况下。在实践中,如何通过计算解决大信号的此类问题?

4个回答

Boyd 有一个 Matlab Solver for Large-Scale ℓ1-Regularized Least Squares Problems那里的问题表述略有不同,但该方法可以应用于该问题。

经典的主要化-最小化方法也很有效。这对应于迭代地执行软阈值(对于电视,剪辑)。

可以从链接中看到解决方案。然而,有许多方法可以通过广泛使用优化文献来最小化这些函数。

PS:正如其他评论中提到的,FISTA 会很好用。另一个“非常快”的算法系列是原始对偶算法。例如,您可以查看Chambolle 的有趣论文,但是有大量关于线性逆问题公式的原始对偶方法的研究论文。

为了解决 TV 惩罚的优化问题,我们使用了一种最近提出的算法,称为基于快速梯度的约束总变分图像去噪和去模糊问题算法 (FISTA),它比传统的迭代方法(如 ASD-POCS)具有更好的收敛速度。

的特殊情况下,目标函数可以写成f(y)=y1

xy2+by1=i(xiyi)2+bi|yi|,

最小化它需要最小化总和的每个条目:

yi^=argmin{(xiyi)2+b|yi|}

使用次微分可以证明最小化器是具有阈值的软阈值算子。这就是 Donoho 和 Johnstone 提出的信号去噪方法。有关更多详细信息,请参阅他们的论文“小波收缩的理想空间适应”。b

所以在这种情况下,我认为您不需要更复杂的求解器来估计您的信号。

补充:如果,这些术语都是独立的——正如@Alejandro 指出的那样,您可以自己最小化每个术语。更有趣 其中而不是 旨在将许多推为 0。 以下说明适用于这种情况。(我称变量为,而不是。)f(x)=1(x)=|xi|
Axb22+λx1
x1x2xi
xy


(一年后)这种情况的另一个名称 norm 是 Elastic net regularization Hastie et al., Elements of Statistical Learning p。661 英尺。讨论这个进行分类。f(x)=1

的近似解的一种快速简单的方法是交替xi=0

  1. 最小化通过普通最小二乘法Axb
  2. 收缩又名软阈值:设置小xi=0

这是一种迭代重新加权最小二乘的形式,权重为 0 或 1。我希望先前答案中引用的论文中的方法会产生更好的结果;这很简单。

(当最小化总和绘制在 iter 1 2 3 的对数尺度上......否则,一个术语可能会淹没另一个,你甚至不会注意到—— 尤其是当它们的缩放比例不同时。)f()+λg()f()λg()