Линейная регрессия — различия между версиями
(→Решение) |
(Проблема мультиколлинеарности и переобучения) |
||
Строка 106: | Строка 106: | ||
В 3-х из 4-х формул сингулярные числа оказались в знаменателе. Если имеются сингулярные числа приближающиеся к 0, то мы получаем проблему мультиколлинеарности. Близкие к 0 собственные значения или сингулярные числа — показатель того, что среди признаков есть почти линейно-зависимый. | В 3-х из 4-х формул сингулярные числа оказались в знаменателе. Если имеются сингулярные числа приближающиеся к 0, то мы получаем проблему мультиколлинеарности. Близкие к 0 собственные значения или сингулярные числа — показатель того, что среди признаков есть почти линейно-зависимый. | ||
+ | |||
+ | == Проблема мультиколлинеарности и переобучения == | ||
+ | |||
+ | Если имеются сингулярные числа, близкие к 0, то: | ||
+ | |||
+ | * матрица <tex> \sum = F^T F </tex> плохо обусловлена; | ||
+ | * решение становится неустойчивым и неинтерпретируемым, слишком большие коэффициенты <tex> || \alpha_j || </tex> разных знаков; | ||
+ | * возникает переобучение: <br> на обучении <tex> Q( \alpha^*, X^l ) = ||F \alpha^* - y||^2 </tex> мало; <br> на контроле <tex> Q( \alpha^*, X^k ) = ||F' \alpha^* - y'||^2 </tex> велико. | ||
+ | |||
+ | Стратегии устранения мультиколлинеарности и переобучения: | ||
+ | |||
+ | * отбор признаков, то есть выкидываем те признаки, которые могут оказаться линейно-зависимыми: <br> <tex> f_1, \dots, f_n \rightarrow f_{j_1} \dots, f_{j_m}, m \leq n </tex>; | ||
+ | * регуляризация (накладываем дополнительные ограничения на вектор коэффициентов): <br> || \alpha || \rightarrow min </tex>; | ||
+ | * преобразование признаков, чтобы в новом признаковом пространстве признаков оказалось меньше, но они хорошо восстанавливали бы исходные: <br> <tex> f_1, \dots, f_n \rightarrow g_1 \dots, g_m, m \ll n </tex>. |
Версия 09:31, 12 марта 2019
Линейная регрессия (англ. linear regression) — метод восстановления зависимости одной (объясняемой, зависимой) переменной
от другой или нескольких других переменных (факторов, регрессоров, независимых переменных) с линейной функцией зависимости. Данный метод позволяет предсказывать значения зависимой переменной по значениям независимой переменной .Содержание
Задача
Дано
- - числовые признаки
- модель многомерной линейной регрессии:
где
- обучающая выборка: множество из пар
- - объекты из множества
- - объекты из множества
Матричные обозначения
Перейдем к матричным обозначениям:
, где
- - матрица объектов-признаков, где строки соответствуют объектам а столбцы - признакам
- - вектор ответов, или целевой вектор
- - вектор коэффициентов
Постановка задачи
В этих трех векторно-матричных обозначениях очень удобно расписать постановку задачи наименьших квадратов:
Необходимо найти вектор
при известной матрице и известном вектор-столбце .Решение
Нормальная система уравнений
Запишем необходимые условия минимума в матричном виде.
Отсюда следует нормальная система задачи МНК:
,
где
матрицаМы получили систему уравнений, откуда можем выразить искомый вектор
.Решение системы
где — псевдо-обратная матрица.
Значение функционала:
где - проекционная матрица
Проблемы
В случае мультиколлинеарности (столбцы матрицы
линейно-зависимы) нам не удастся найти обратную матрицу к (она будет вырождена).Если же столбцы матрицы
почти линейно-зависимы, то у нас возникнет масса вычислительных проблем с обращением этой матрицы.Сингулярное разложение
Воспользуемся понятием сингулярного разложения , которое позволяет произвольную прямоугольную матрицу представить в виде произведения трех матриц:
.
Основные свойства сингулярного разложения:
-
столбцы — собственные векторы матрицы ;
-матрица ортогональна, , -
столбцы — собственные векторы матриц ;
-матрица ортогональна, , -
— собственные значения матриц и ,
— сингулярные числа матрицы . -матрица диагональна, ,
Решение МНК через сингулярное разложение
Найдем псевдо-обратную матрицу:
.
Теперь зная псевдо-обратную матрицу, найдем решение задачи наименьших квадратов:
.
Найдем вектор, которым наша линейная модель аппроксимирует целевой вектор
.
Квадрат нормы вектора коэффициентов:
.
В 3-х из 4-х формул сингулярные числа оказались в знаменателе. Если имеются сингулярные числа приближающиеся к 0, то мы получаем проблему мультиколлинеарности. Близкие к 0 собственные значения или сингулярные числа — показатель того, что среди признаков есть почти линейно-зависимый.
Проблема мультиколлинеарности и переобучения
Если имеются сингулярные числа, близкие к 0, то:
- матрица плохо обусловлена;
- решение становится неустойчивым и неинтерпретируемым, слишком большие коэффициенты разных знаков;
- возникает переобучение:
на обучении мало;
на контроле велико.
Стратегии устранения мультиколлинеарности и переобучения:
- отбор признаков, то есть выкидываем те признаки, которые могут оказаться линейно-зависимыми:
; - регуляризация (накладываем дополнительные ограничения на вектор коэффициентов):
|| \alpha || \rightarrow min </tex>; - преобразование признаков, чтобы в новом признаковом пространстве признаков оказалось меньше, но они хорошо восстанавливали бы исходные:
.