我们已经进入的大数据时代,正如
http://tech.sina.com.cn/it/2012-06-01/00067200478.shtml一文中所讲述的,大数据正在悄然改变我们的生活,随之而来的一个问题是我们将如何有效地处理这些大数据,稀疏表达是一种应对这个问题当前比较流行的方法。
稀疏表达将原始信号表达为字典元素的一个线性组合,如 x = D*a中,我们用x表示原始信号(列向量),D为我们得到的字典(dictionary),a即为在字典D上原始信号x的表达,通常我们希望a是稀疏的,即其中只有较少的非零项,这样的一个突出优点是计算速度更快,因为matlab只对非零元素进行操作。
那么我们如何得到字典D呢? 针对计算机视觉应用领域,之前比较流行的方法有DCT, wavelets, curvelets,contourlets,wedgelets,bandlets,steerable wavelets等,这些方法得到的字典都是预先设定好的,手动设定一个好的字典是非常困难的,并且其复杂度和几何特性在表征不同信号时变化很大,如何自适应地得到字典呢?PCA方法就是其中的一个代表。PCA方法通过学习的方式,计算正交的主方向,通过将原始信号表示在以主方向为基准的空间上,使问题得到简化。但是PCA对字典中”基“(basis)要求太苛刻,它们必须是正交的,虽然此限制可以简化问题,但同时限制了解决问题的灵活性——稀疏表达应运而生。
事情可以追溯到1993年,Stephane Mallat和Zhifeng Zhang提出了字典的概念,改进了