在教程中,他们将数据归一化并说“均值和标准差只能使用训练数据来计算”
这是指什么?为什么你应该只使用训练数据?
在教程中,他们将数据归一化并说“均值和标准差只能使用训练数据来计算”
这是指什么?为什么你应该只使用训练数据?
在构建任何机器学习模型时,您拥有的唯一可观察数据是训练数据。测试数据应该是未观察到的数据,这意味着即使您现在可能拥有它,您也需要表现得好像没有一样。当你应用标准化时,你首先观察数据以获得你需要的参数。由于您只应该能够观察训练数据,因此您不能使用测试数据来计算这些值。这样做就像作弊,因为您正在将参数适应新的未观察到的数据(您如何观察未观察到的数据?)。
想象一下,您今天构建了一个模型,而您想在明天进行预测。你不能使用明天的数据来构建你的模型,因为你还没有它。你不应该知道明天的平均值和标准,尽管你希望它们足够相似。这就是为什么当您进行标准化/标准化时,您会使用训练数据获取参数,然后使用它们来转换训练和测试数据,这样您就可以将它们用作模型的输入。