稀疏编码被描述为“给定一个输入,找到一个潜在的表示这样 h 是稀疏的,并且可以尽可能好地重建输入。”(来源:https ://www.youtube.com/watch?v=7a0_iEruGoM )
我的问题是为什么我们要找到一个潜在的表示?我的意思是,稀疏编码有什么好处?如果我们一开始就有输入,为什么要重建输入?对于哪种类型的问题,我们会说:“好吧!我将为此使用稀疏编码!”
稀疏编码被描述为“给定一个输入,找到一个潜在的表示这样 h 是稀疏的,并且可以尽可能好地重建输入。”(来源:https ://www.youtube.com/watch?v=7a0_iEruGoM )
我的问题是为什么我们要找到一个潜在的表示?我的意思是,稀疏编码有什么好处?如果我们一开始就有输入,为什么要重建输入?对于哪种类型的问题,我们会说:“好吧!我将为此使用稀疏编码!”
简约。信号的稀疏表示更容易描述,因为它们很短并且突出了基本特征。如果人们想了解信号、生成信号的过程或与之交互的其他系统,这将很有帮助。
去噪。在这种情况下,测量信号是一些潜在/真实信号和噪声的混合。目标是消除噪音。如果基础信号在某些基础上是稀疏的(感兴趣的信号通常是这种情况)而噪声不是(例如白噪声),则可以通过构建测量信号的稀疏近似来进行去噪。
数据压缩这里的目标是存储信号,通过通信通道传输信号,或对其进行进一步处理。这些操作需要随信号大小扩展的内存、通信和计算资源。稀疏编码可用于压缩一组信号,从而减少所需资源。
压缩感知这里的目标是通过利用关于信号结构的知识来有效地测量信号。这允许更有效的存储和传输,并且还可以允许更快地进行测量。通常,涉及专用硬件。如果已知信号在某些基础上是稀疏的,则可以使用比其他方法更少的测量来获取它。然后可以从减少的测量集重建原始信号。有时,一类信号在特定的基础上先验地已知是稀疏的。例如,自然图像在小波中是稀疏的基础。在这种情况下,可以使用已知的基础来设计测量和重建过程。但是,如果基础未知,则可以使用稀疏编码(也称为字典学习)从一组示例信号中学习。
“在数值分析和计算机科学中,稀疏矩阵或稀疏数组是大多数元素为零的矩阵。” 维基百科
有些数据集的实例具有大量属性。如果大多数记录的属性为零,则可以将此数据集视为稀疏矩阵。在这种情况下,我们可能有一个非常大的文件,其中包含没有等量“信息”的数据集。
在不丢失任何信息的情况下减小数据集文件大小的一种方法是使用稀疏文件格式。例如,ARFF 文件可以以密集或稀疏格式存储。
从 Weka 的文档来看,两种格式的头信息是一样的。不同之处在于实例的表示方式。密集表示中的实例如下所示:
0, X, 0, Y, "class A"
0, 0, W, 0, "class B"
虽然相同实例的稀疏表示如下所示:
{1 X, 3 Y, 4 "class A"}
{2 W, 4 "class B"}
可以看出,大多数属性为非零的第一个实例在稀疏表示中变得更长。然而,第二个实例大多具有零作为属性,并且更有效地表示。如果您的大部分数据集都像第二个实例 - 如果数据集是稀疏矩阵- 那么稀疏文件格式可能有助于减少存储数据集的大小而不会丢失信息。