machine-learninglinear-regressiongradient-descent

Rescaling after feature scaling, linear regression


Seems like a basic question, but I need to use feature scaling (take each feature value, subtract the mean then divide by the standard deviation) in my implementation of linear regression with gradient descent. After I'm finished, I'd like the weights and regression line rescaled to the original data. I'm only using one feature, plus the y-intercept term. How would I change the weights, after I get them using the scaled data, so that they apply to the original unscaled data?


Solution

  • Suppose your regression is y = W*x + b with x the scaled data, with the original data it is

    y = W/std * x0 + b - u/std * W
    

    where u and std are mean value and standard deviation of x0. Yet I don't think you need to transform back the data. Just use the same u and std to scale the new test data.