Machine learning 向输出添加噪声如何避免训练点上的过度拟合?

Machine learning 向输出添加噪声如何避免训练点上的过度拟合?,machine-learning,deep-learning,neural-network,artificial-intelligence,Machine Learning,Deep Learning,Neural Network,Artificial Intelligence,向输出数据添加噪声是否用作正则化技术,以避免对训练数据进行过度拟合 它如何减少泛化误差并帮助正则化,因为据我所知,正则化与我们模型的复杂性直接相关 它与经过训练的模型的复杂性有什么关系?为什么它可以防止过度拟合 噪音破坏信息。您的数据变得更难拟合,因此更难过度拟合。极端情况是纯噪声,您的分类器将学会忽略输入并预测每个类的固定概率。这与过度装配相反:在您的验证集上,您将达到与培训期间完全相同的性能 为什么这有助于推广 通过添加噪波,可以使用附加信息来增强训练集。你告诉你的神经网络,你添加的噪声类型

向输出数据添加噪声是否用作正则化技术,以避免对训练数据进行过度拟合

它如何减少泛化误差并帮助正则化,因为据我所知,正则化与我们模型的复杂性直接相关

它与经过训练的模型的复杂性有什么关系?

为什么它可以防止过度拟合

噪音破坏信息。您的数据变得更难拟合,因此更难过度拟合。极端情况是纯噪声,您的分类器将学会忽略输入并预测每个类的固定概率。这与过度装配相反:在您的验证集上,您将达到与培训期间完全相同的性能

为什么这有助于推广

通过添加噪波,可以使用附加信息来增强训练集。你告诉你的神经网络,你添加的噪声类型不应该改变它的预测。如果这是真的,那么它将得到更好的推广,因为它已经了解了输入空间的更大部分。如果它为false,实际上会使泛化变得更糟,例如,如果您正在从10位输入学习XOR函数

输出噪声

更新:哦,你特别问的是在输出中添加噪声。我不知道这是否常见,但我知道它有什么帮助:

典型的损失函数,例如交叉熵,如果在高置信度下做出错误预测,将给错误预测带来很大的损失。在过度拟合过程中,网络发现了许多完美的预测因子,一个复杂的模型将开始记忆每个训练输入。权重将被调整以无限制地增加置信度。向输出添加噪声可以防止这种情况,因为它告诉网络它永远无法做出高确定性的预测。这将降低对验证集错误的高惩罚。它还可以防止破坏性的重量更新,而这些更新只会增加错误的可信度。

为什么它可以防止过度装配

噪音破坏信息。您的数据变得更难拟合,因此更难过度拟合。极端情况是纯噪声,您的分类器将学会忽略输入并预测每个类的固定概率。这与过度装配相反:在您的验证集上,您将达到与培训期间完全相同的性能

为什么这有助于推广

通过添加噪波,可以使用附加信息来增强训练集。你告诉你的神经网络,你添加的噪声类型不应该改变它的预测。如果这是真的,那么它将得到更好的推广,因为它已经了解了输入空间的更大部分。如果它为false,实际上会使泛化变得更糟,例如,如果您正在从10位输入学习XOR函数

输出噪声

更新:哦,你特别问的是在输出中添加噪声。我不知道这是否常见,但我知道它有什么帮助:

典型的损失函数,例如交叉熵,如果在高置信度下做出错误预测,将给错误预测带来很大的损失。在过度拟合过程中,网络发现了许多完美的预测因子,一个复杂的模型将开始记忆每个训练输入。权重将被调整以无限制地增加置信度。向输出添加噪声可以防止这种情况,因为它告诉网络它永远无法做出高确定性的预测。这将降低对验证集错误的高惩罚。它还将防止破坏性的重量更新,只用于增加虚假的信心

向输出数据添加噪声是否用作正则化技术 为了避免训练数据的过度拟合

简短的回答是肯定的,并正确地指出原因。我假设你的意思是向模型的输入数据中添加噪声,而不是向模型的输出中添加噪声,尽管这些技术也可以用于不同的讨论

它如何减少泛化误差并帮助正则化 因为据我所知,正则化是直接 与我们模型的复杂性相关

这可能会也可能不会有助于推广,上述答案已经提出了极端噪音的情况

神经网络数据转换与泛化的关系 通常,对于高维输入,例如300个特征或图像,假设必要的信息位于低维上。下图有助于从以下方面直观理解创意形象:

正如人们所看到的,即使原始数据是三维的,它也可以很好地呈现在二维中。这就是神经网络所做的,它将输入数据转换为另一种数据表示形式,有时是更高维度的数据表示形式,以允许任务解决方案,例如,通过后续层转换图像,使其在后续层中线性分离以进行分类 最后一层

但是它与噪音有什么关系呢?神经网络是一种强大的拟合工具,它可以适应复杂的模型,因此,如果没有足够的数据点,它可以学习一个变换流形,而这个变换流形并不像图像中显示的那样平滑和漂亮。当网络未经增广训练且在测试阶段获得非常相似的输入时,它可能错误地将其转换为完全不同的空间区域,并可能错误地对其进行分类

当添加噪声时,神经网络可以看到更多表示类的数据点,因此它必须学会创建更平滑的数据表示,其中输入的微小变化不会极大地改变其输出

最后,假设测试和训练至少来自相同或非常相似的分布。当我们通过噪声更好地了解列车分布时,理解测试的机会也会增加,因此通常有助于推广

它与经过训练的模型的复杂性有什么关系

函数空间的复杂性 神经网络在逼近方面非常出色,而且可以学习的函数空间非常大。很大的函数空间可以被认为是复杂的。现在,输入数据的许多函数转换可以很好地完成手头的任务,让我们从现在开始继续分类

在没有增广或正则化的情况下,神经网络没有学习不太复杂的函数的动机,因为这些函数可能有更高的机会更好地表示真实的变换。当添加噪声时,许多复杂的函数不再是可行的选择,因为它们高度依赖于输入的微小变化。因此,在使用噪声后,神经网络在函数空间中的复杂度可能会降低,类似于丢失、权重衰减等情况

模型的复杂性 这一点不会因噪声而改变,因为架构是预定义的。只有权重更合理,例如,在极端情况下,没有权重具有1000或-1000值,因为对于单个特征而言,这些值会导致太高的方差,如上所述

向输出数据添加噪声是否用作正则化技术 为了避免训练数据的过度拟合

简短的回答是肯定的,并正确地指出原因。我假设你的意思是向模型的输入数据中添加噪声,而不是向模型的输出中添加噪声,尽管这些技术也可以用于不同的讨论

它如何减少泛化误差并帮助正则化 因为据我所知,正则化是直接 与我们模型的复杂性相关

这可能会也可能不会有助于推广,上述答案已经提出了极端噪音的情况

神经网络数据转换与泛化的关系 通常,对于高维输入,例如300个特征或图像,假设必要的信息位于低维上。下图有助于从以下方面直观理解创意形象:

正如人们所看到的,即使原始数据是三维的,它也可以很好地呈现在二维中。这就是神经网络所做的,它将输入数据转换为另一种数据表示形式,有时是更高维度的数据表示形式,以允许任务解决方案,例如,通过后续层转换图像,使其在最后一层中可线性分离进行分类

但是它与噪音有什么关系呢?神经网络是一种强大的拟合工具,它可以适应复杂的模型,因此,如果没有足够的数据点,它可以学习一个变换流形,而这个变换流形并不像图像中显示的那样平滑和漂亮。当网络未经增广训练且在测试阶段获得非常相似的输入时,它可能错误地将其转换为完全不同的空间区域,并可能错误地对其进行分类

当添加噪声时,神经网络可以看到更多表示类的数据点,因此它必须学会创建更平滑的数据表示,其中输入的微小变化不会极大地改变其输出

最后,假设测试和训练至少来自相同或非常相似的分布。当我们通过噪声更好地了解列车分布时,理解测试的机会也会增加,因此通常有助于推广

它与经过训练的模型的复杂性有什么关系

函数空间的复杂性 神经网络在逼近方面非常出色,而且可以学习的函数空间非常大。很大的函数空间可以被认为是复杂的。现在,输入数据的许多函数转换可以很好地完成手头的任务,让我们从现在开始继续分类

在没有增广或正则化的情况下,神经网络没有学习不太复杂的函数的动机,因为这些函数可能有更高的机会更好地表示真实的变换。当添加噪声时,许多复杂的函数不再是可行的选项,因为它们高度依赖于sm 输入的所有变化。因此,在使用噪声后,神经网络在函数空间中的复杂度可能会降低,类似于丢失、权重衰减等情况

模型的复杂性
这一点不会因噪声而改变,因为架构是预定义的。只有权重更合理,例如,在极端情况下,没有权重有1000或-1000个值,因为这些值对于单个特征来说会导致太高的方差,实际上如上所述。

我的意思是向输出添加噪声,而不是向输入添加噪声。我完全理解为什么向输入添加噪声是有意义的。我的意思是向输出添加噪声,而不是向输入添加噪声。我完全理解为什么向输入添加噪声是有意义的。