作为我的作业的一部分,我正在处理几个数据集,并使用线性回归找出它们的训练误差。我在想标准化是否会对训练误差产生影响?我的相关系数和均方根误差在标准化前后是相同的。
谢谢,
回答:
很容易证明,对于线性回归来说,仅通过缩放(通过a
)变换输入数据并不重要(同样适用于平移,这意味着任何形式为X' = aX + b
的变换,其中a != 0, b
为实数,都具有相同的性质)。
X' = aXw = (X^TX)X^Tyw' = (aX^TaX)^-1 aX^Tyw' = 1/a w
因此
X^Tw = 1/a aX^T w = aX^T 1/a w = X'^Tw'^T
因此,计算误差的投影在缩放前后是完全相同的,所以任何类型的损失函数(独立于x
)都会产生完全相同的结果。
然而,如果你缩放输出变量,那么误差将会改变。此外,如果你以更复杂的方式标准化数据集,而不仅仅是乘以一个数字(例如,通过白化或几乎任何旋转),那么你的结果将取决于预处理。如果你使用正则化线性回归(岭回归),那么即使是通过常数缩放输入数据也会产生影响(因为它改变了正则化参数的“意义”)。