究竟什么是“稀疏表示”?

信息处理 图像处理 matlab C C++ 稀疏性
2022-02-27 03:18:56

我在大学的期末项目中看到了一个推荐的主题,名为“使用稀疏表示技术(MATLAB、C、C++)的 dsp 和 dip 应用程序”。

我考虑将这个主题作为我的最终项目,但在互联网上并没有太多关于它的东西来理解它到底是什么。

所以,考虑到我想了解更多关于 dsp 和 dip 的知识,我想听听一些关于它的明确答案以及一些关于这对我的生产力有多大的看法。

1个回答

获取类似正弦的信号s. 在适当的傅立叶域中,它由两个“峰值”表示,其他系数为零。傅里叶是正弦或接近正弦信号的稀疏表示。相反,除少数值外,零信号在其原始域中是稀疏的。F

从狭义上讲,数据的稀疏表示是一种表示,其中少数参数或系数不为零,而许多(严格)为零这可以通过计数指数来衡量,该指数产生非零分量的数量。这里,00(F(s))=2

然而,在实践中,很少有完全非零的分量,而很多正好为零。这种情况尤其发生在浮点计算很少完全为零的情况下,尽管它们非常小。例如,您可以看到为什么在浮点运算exp(ln(x))x0

因此,在实践中接受更广泛的意义,即高成分少,小成分多。因此,我将扩展关于“稀疏”和“表示”的术语的讨论。关于稀疏或简约,应该提到经济原理、简约法则或 奥卡姆剃刀

以尽可能少的假设对事物或事件进行解释

最初,这一前科学原则已被用于神学辩论。在科学中,它被用作选择或开发理论模型的启发式指南。一个早期的例子是地心模型。从地球是宇宙中心的信念出发,进一步的观察揭示了复杂的恒星运动模式,建立了一个具有复杂(外摆线)曲线的模型,需要许多参数来解释。直到一些人明白地球中心的假设是不合适的,并且其他模型可以提供更简单的解释和公式,具有相同或更好的预测或描述能力。开普勒或牛顿定律更有效。

另一个例子是多项式表示:假设您有 15 对值要用于预测。当然,14 次拉格朗日多项式将完美拟合。它应该用于预测吗?可能不会,因为数据不精确,多项式外推会不稳定;也许,根据某些成本函数,一到两个度数的拟合可能更合适。这个想法是两个或三个参数(斜率/截距/二次项)对于给定的任务可能更有效。xi,yi

我们现在有了主要成分。获取一组数据,具有有意义的内容。数据通常有很多维度,(想想图像中的像素数)。有一些期望存在一小部分特征(稀疏性)的组合,可以忠实地描述数据集,或预测,从该数据集中推断。换句话说,用,用基数使得,有一个变换使得量足够小。diiIckkK|K||I|TdiT(ck)

在正弦的情况下,在傅里叶基础上就足够了。在实践中,人们试图拥有的序列,使得它们中的大多数都非常小(如果不是零的话),而且很少有人能正确恢复数据有一些措施可以量化序列的稀疏性,并量化稀疏表示与实际目标的接近程度。|K|=2ck

表示数据的转换是来自谐波分析(傅立叶、小波、滤波器组、氡、基或冗余帧)、统计分析(最小二乘回归、PCA、PLS、套索、岭回归)、聚类和分割工具等的标准工具. 距离往往是一些范数或准范数。甚至神经网络也努力从训练集中提供学习的稀疏表示。

稀疏指数是 0 齐次的(基尼指数,范数比)或类似于范数或准范数以达到最小化目的。有些人使用更温和的描述,即可压缩性,重新排序系数以递减幅度并研究指数使得:T(ck)|(cσ(k)|α0

diT(cσ(k))K|k|α

或“可压缩表示可以多快逼近数据或数据集”。

我认为稀疏表示的想法是机器学习、分类、压缩的关键驱动力,并且您可以找到大量可重用的资源。