最小化未见数据的错误

数据挖掘 机器学习 分类
2021-09-30 01:30:40

分类器旨在最小化损失函数((F(X) - F^(X)) 2 ), 其中F(X) 是未知的功能和 F^(X)是预测函数。如果F(X)不知道看不见的数据,我们如何计算这个损失?为什么要使用训练误差来估计未见数据的误差?

2个回答

如果我们不知道F(X)对于看不见的数据,决策树如何最小化这个错误?

每个有监督的 ML 方法都依赖于假设测试数据(任何看不见的数据)遵循与训练数据相同的分布(请注意,这并非特定于决策树)。事实上,训练数据和测试数据都假设是从真实的人口数据中抽样的。作为结果F(X)假设对于训练数据和测试(未见)数据是相同的。

如果在一些未见数据上使用经过训练的模型,这些数据不像训练数据那样分布,那么结果简直是不可预测的,并且性能很可能会下降。

为什么我们使用训练数据中观察到的误差来估计未见数据的误差?

您似乎建议在训练过程中使用“看不见的数据”。如果您对其进行优化,您确实会在“看不见的数据”上获得更好的结果,但是您将失去将一部分数据集分开的意义。“非种子数据”对于估计你的模型在从未见过的数据上的表现是必要的。如果您不将某些数据集分开,您可能会有更好的模型,但您无法估计投入生产时的效果。

使用测试集的想法是模仿使用机器学习的实际应用,例如,为尚未出生的人进行语音识别。

那就是你不知道标签的情况,所以你无法计算错误或损失。

然而,我们通过从训练中保留一些数据来模仿(我们希望)。我们在训练数据上拟合模型,并通过使用我们保留的数据来估计看不见的数据上的误差,因为我们知道这些点的正确标签或值,即使我们没有告诉模型。

当我们将模型部署到 Siri 或 Alexa 时,我们对保留数据的估计可能会出现严重错误,但对保留数据的某种错误计算是我们在投入生产之前可以做的次优方法,我们会看到如何模型执行。