2015-11-05 5 views
0

В рамках моего задания я работаю над несколькими наборами данных и нахожу их ошибки обучения с линейной регрессией. Мне было интересно, влияет ли стандартизация на ошибку обучения или нет? Моя корреляция и RMSE выходят равными для наборов данных до и после стандартизации.Влияние стандартизации на линейную регрессию: машинное обучение

Спасибо,

ответ

5

Легко показать, что для линейной регрессии не имеет значения, если вы просто преобразовать входные данные через масштабирование (по a; то же самое относится и к переводу, а это означает, что любое преобразование вида X' = aX + b для real a != 0,b имеют одинаковую собственность).

X' = aX 

w = (X^TX)X^Ty 
w' = (aX^TaX)^-1 aX^Ty 
w' = 1/a w 

Так

X^Tw = 1/a aX^T w = aX^T 1/a w = X'^Tw'^T 

Следовательно, проекция, где вычисляется ошибка точно такая же, до и после масштабирования, так что любой тип функции потерь (независимо от x) дает те же результаты.

Однако, если вы масштабируете выходную переменную, тогда ошибки будут меняться. Кроме того, если вы устареваете свой набор данных более сложным образом, а просто умножаетесь на число (например, путем отбеливания или почти любого вращения), ваши результаты будут зависеть от предварительной обработки. Если вы используете регуляризованную линейную регрессию (регрессию гребня), то даже масштабирование входных данных по постоянным вопросам (поскольку оно изменяет «значение» параметра регуляризации).