自编码器是一种无监督学习方法。如何?
我搜索/阅读了很多文档,他们提到它(自动编码器)作为无监督学习,但没有答案是怎么回事?
自编码器是一种无监督学习方法。如何?
我搜索/阅读了很多文档,他们提到它(自动编码器)作为无监督学习,但没有答案是怎么回事?
自动编码器是无监督的,因为它不使用标记数据。目标是基于损失函数最小化重建误差,例如均方误差:
所有不使用标记数据(目标)的算法都是无监督的。聚类算法是无监督的。它们生成自然的数据分组。自动编码器通常用于降维。您可以将它们视为非线性PCA。
自编码器由编码器和解码器组成。从数据集中学习,它们有点适合用于压缩的 zip 和 unzip 函数。
在下图中,只有一个隐藏层。输出是 x 的损坏版本添加了一些噪声——这使得压缩更加健壮)。
在进行了训练并学习了低维表示之后,您就可以摆脱解码器了。现在,使用您的编码功能,您可以将数据集转换为低维数据集。
现在使用新数据集,您可以以更低的维度重复该过程。这是堆叠式自动编码器的基本思想。
这是相当启发式的解释:(
具有稀疏执行的自动编码器寻求更有效地表示数据。因为我们有效地限制了我们允许在给定层“触发”的神经元数量,所以我们实际上对数据的维度施加了某种限制,从而使其进入下一层。这迫使算法压缩信息。像往常一样,这种压缩是通过对类似情况的类似处理来实现的。
例如,如果我们要训练一个具有 n 维输入和输出的自动编码器,一个具有严格稀疏参数的隐藏层以及所有神经元的线性激活函数,并且我们将成功地“近乎完美”地训练它,我们将得到一个结果与 PCA 非常相似。也就是说,隐藏层将尝试捕获解释大多数方差的信息。
从这个意义上说,将具有相似输出的隐藏层的观察分组允许我们在保留大量信息的同时获得降维效果。这种分组或降维是无监督学习的本质。
在回答问题之前,我引用(人工智能:现代方法):
在无监督学习中,即使没有提供明确的反馈,代理也会学习输入中的模式。最常见的无监督学习任务是聚类。
...
在监督学习中,代理观察一些示例输入输出对并学习从输入映射到输出的函数。
在无监督学习中,您提供一个函数,并且您的目标是最小化或最大化该函数。但是,在监督学习中,您不知道函数,您希望通过提供一些示例,学习算法将找出将输入映射到所需输出且误差最小的函数。
如果没有来自示例的反馈,您将无法优化自动编码器。一旦您提供相同的输入以纠正性能,您就可以监督它。这就是为什么。
如果您仍然不相信,请尝试在不向损失函数提供输入的情况下对其进行训练。你将如何更正参数?
有时,自动编码器不用于重建确切的输入,而是使用修改后的版本。例如,您可以提供一组大脑图像作为输入,并为输出提供相同的图像,其中肿瘤突出显示为。在这种情况下,您训练自动编码器不仅要重建输入,还要找到这些异常。