Можно сказать, что линейная регрессия является самым основным типом задач в машинном обучении.Вот краткое изложение принципов и алгоритмов линейной регрессии.
1. Функция модели линейной регрессии и функция потерь
Проблема с линейной регрессией обычно такова. У нас есть m выборок, каждая из которых соответствует n-мерным функциям, и результирующий результат выглядит следующим образом:
(x(0) 1 ,x(0)2 ,....x(0)n,y0), (x(1)1 ,x(1)2 ,....x(1)n,y1 ), ... (x (m) 1 ,x (m) 2 ,.. .x (m) n ,yn ) (х(0)1,х(0)2,...х(0)n,y0) ,(x(1)1,x(1)2,...x(1)n,y1 ) ,...(x(m)1,x(m)2,...x(m)n,yn)
Наша проблема состоит в том, что для нового (x(x) 1 , x (x) 2 ,... x (x) n ( x ( x) 1 ,x ( x) 2 ,. .. x ( x) n , его соответствующий y x Что такое икс? Если y в этой задаче непрерывен, это проблема регрессии, в противном случае это проблема классификации.
Для выборочных данных n-мерных признаков, если мы решим использовать линейную регрессию, соответствующая модель будет выглядеть следующим образом:
h θ (x 1 ,x 2 ,. ..x n )= θ0 + θ1 x1+...+θn xn h θ (x 1 ,x 2 ,.. ..x n )= θ 0 + θ 1 x 1 +.. .+ θ n x n , где θ i θ i (i = 0,1,2... n) – параметр модели, x i x i (i = 0,1,2...n) — n собственных значений каждой выборки. Это представление можно упростить, добавим признак x 0 = 1 x 0 = 1 такой, что h θ ( x 0 , x 1 , .. .x n ) = n ∑ i =0 θ i x i час θ ( Икс 0 , Икс 1 , . . . Икс п ) знак равно ∑ я знак равно 0 п θ я Икс я .
Более кратко это можно выразить в матричной форме следующим образом:
час θ (X )=X θ h θ (X ) = X θ
Среди них пусть функция h θ (X ) h θ (X ) — вектор mx1, θ θ — вектор размера nx1, содержащий n параметров алгебраической модели. Икс X — матрица размерностей mxn. m представляет количество образцов, а n представляет количество признаков образцов.
После получения модели нам нужно найти требуемую функцию потерь.Как правило, мы используем среднеквадратичную ошибку в качестве функции потерь для линейной регрессии. Алгебраическое представление функции потерь выглядит следующим образом:
J( θ0,θ 1 .. ., θ n )= m ∑ i = 0 (h θ (x 0 ,x 1 ,. .. x n )− yi )2 J (θ 0 , θ 1 .. ., θ n ) = ∑ i = 0 м (h θ (x 0 , x 1 , .. . x n ) −y i ) 2
Функция потерь далее выражается в матричной форме:
J( θ )= 12 (X θ−Y )T (Xθ−Y ) J (θ )= 1 2 (X θ −Y ) Т (X θ −Y )
Поскольку матричный метод более лаконичен, мы будем использовать матричный метод для унифицированного выражения функции модели и функции потерь.
2. Алгоритм линейной регрессии
Для функции потерь линейной регрессии J(θ) = 12 (Xθ−Y )T (Xθ−Y ) J (θ )= 1 2 (X θ −Y ) T (X θ −Y ), мы обычно используем два метода, чтобы найти θ, когда функция потерь минимизируется. параметр θ: одинГрадиентный спуск, одинНаименьших квадратов. Поскольку метод градиентного спуска и метод наименьших квадратов были представлены отдельно в других статьях, вы можете щелкнуть ссылку на соответствующую ссылку статьи, чтобы прочитать.
Если используется метод градиентного спуска, то θ Итерационная формула для θ выглядит следующим образом:
θ = θ− αXT(X θ −Y ) θ = θ −α X T (X θ −Y )
После нескольких итераций мы можем получить окончательный θ результат тета
Если используется метод наименьших квадратов, то θ В результате формула для θ выглядит следующим образом:
θ = (X T X) −1 XT Y θ = ( Икс Т Икс ) - 1 Икс Т Y
Конечно, существуют и другие широко используемые алгоритмы линейной регрессии, такие как метод Ньютона и метод квазиньютона, которые здесь подробно описываться не будут.
3. Обобщение линейной регрессии: полиномиальная регрессия
Возвращаясь к линейной модели, с которой мы начали, h θ (x 1 ,x 2 ,...x n )= θ0 + θ1 x1+...+θn xn h θ (x 1 ,x 2 ,.. ..xn )= θ 0 + θ 1 x 1 +...+ θ nxn , если имеется больше, чем просто первая степень x, например, увеличение второй степени, то модель становится полиномиальной регрессией. Вот модель полиномиальной регрессии p-й степени только с двумя функциями:
h θ (x 1 ,x 2 )= θ0 + θ1 x1 + θ 2 x2 + θ 3 x2 1 + θ 4 x2 2 + θ 5 x1 x2 h θ (x 1 ,x 2 )= θ 0 + θ 1 x 1 + θ 2 x 2 + θ 3 x 2 1 + θ 4 x 2 2 + θ 5 x 1 x 2
Положим x 0 =1, x1 = x 1 , x 2 = x 2 , x 3 = x 2 1 , x 4 = x 2 2 , x 5 = x 1 x 2 х 0 = 1 , х 1 = х 1 , х 2 = х 2 , х 3 = х 2 1 , х 4 = х 2 2 , х 5 = х 1 х 2 , поэтому получаем следующую формулу:
h θ (x 1 ,x 2 )= θ0 +θ1 x1+θ 2 x2 +θ 3 x3+θ 4 x4+θ5 x5 h θ (x 1 ,x 2 )= θ 0 + θ 1 x 1 + θ 2 x 2 + θ 3 x 3 + θ 4 x 4 + θ 5 x 5
Можно обнаружить, что мы снова вернулись к линейной регрессии, которая представляет собой пятикратную линейную регрессию, и алгоритм может быть завершен методом линейной регрессии. Для каждой функции бинарной выборки ( x1,x 2 ) ( x 1 , x 2 ), мы получаем пятерную выборку ( 1, x 1 , x 2 , x 2 1 , x 2 2 , x 1 x2) ( 1,x 1 ,x 2 ,x 2 1 ,x 2 2 ,x 1 x 2 ), с помощью этой улучшенной функции пятикратной выборки мы превращаем функцию, которая не является линейной регрессией, обратно в линейную регрессию.
4. Обобщение линейной регрессии: обобщенная линейная регрессия
При обобщении линейной регрессии в предыдущем разделе мы обобщили признак стороны выборки, а здесь мы обобщаем признак y. Например, наш вывод Y Y не удовлетворен и X Линейная зависимость X, но ln Y л нУ и Х X удовлетворяет линейной зависимости, и функция модели выглядит следующим образом:
ln Y=X θ л nY =X θ
Таким образом, для входа y каждой выборки мы используем lny для соответствия, так что алгоритм линейной регрессии все еще можно использовать для решения этой проблемы. Мы обобщаем Iny, считая эту функцию монотонно дифференцируемой функцией g (.) g (.) , то обобщенная обобщенная форма линейной регрессии:
г (Y) = Xθ g (Y )=Xθ или Y =g−1 (X θ ) Y = g - 1 (X θ )
Эта функция g(.) g (.) Обычно мы называем это функцией ссылки.
5. Регуляризация линейной регрессии
Чтобы предотвратить переоснащение модели, нам часто нужно добавить член регуляризации при построении линейной модели. Как правило, есть регуляризация L1 и регуляризация L2.
Регуляризация L1 линейной регрессии обычно называется регрессией Лассо, Разница между ней и общей линейной регрессией заключается в том, что член регуляризации L1 добавляется к функции потерь, а член регуляризации L1 имеет постоянный коэффициент α. α, чтобы скорректировать вес среднеквадратичной ошибки и член регуляризации функции потерь.Конкретное выражение функции потерь регрессии Лассо выглядит следующим образом:
J( θ)= 12 n (X θ −Y )T (Xθ−Y )+α||θ||1 J (θ )= 1 2 n (X θ −Y ) T (X θ −Y )+ α||θ||1
где n - количество образцов, α α - постоянный коэффициент и должен быть настроен. | | θ | | 1 | | θ | | 1 - норма L1.
Лассо-регрессия может уменьшить коэффициенты некоторых признаков, и даже некоторые коэффициенты с меньшими абсолютными значениями сразу становятся равными 0. Увеличьте способность модели к обобщению.
Методы решения регрессии Лассо обычно включают в себя спуск по координатам и регрессию с наименьшим углом, Из-за их сложности они описаны отдельно в моей статье:Регуляризация регрессии потоков — сводка регрессии лассо
Регуляризация линейной регрессии L2 обычно называется регрессией Риджа. Разница между ней и общей линейной регрессией заключается в том, что к функции потерь добавляется член регуляризации L2. Отличие от регрессии Лассо заключается в том, что член регуляризации регрессии Риджа является нормой L2 , Термин регуляризации для регрессии Лассо является нормой L1. Конкретное выражение функции потерь регрессии Риджа выглядит следующим образом:
J( θ)= 12 (X θ −Y )T (Xθ−Y )+1 2 α||θ||2 2 J (θ )= 1 2 (X θ −Y ) T (X θ −Y )+ 1 2 α||θ||2 2
где а α является постоянным коэффициентом и нуждается в настройке. | |θ| |2 ||θ||2 — норма L2.
Ридж-регрессия уменьшает коэффициенты регрессии, не отбрасывая какие-либо функции, что делает модель относительно стабильной, но по сравнению с регрессией Лассо это сделает модель более функциональной и ухудшит интерпретируемость модели.
Гребневую регрессию относительно просто решить, обычно используя метод наименьших квадратов. Здесь приведена форма вывода матрицы с использованием метода наименьших квадратов, которая аналогична обычной линейной регрессии.
Пусть J(θ) Производная J (θ ) равна 0, что приводит к следующему уравнению:
Х Т (Xθ−Y)+αθ=0 X T (Xθ−Y)+αθ =0
Договоритесь, чтобы получить окончательный θ Результат для θ:
θ = (X T X + αE) −1 XTY θ = (X T X + αE) − 1 X T Y
где E — единичная матрица.
В дополнение к вышеупомянутым двум распространенным алгоритмам регуляризации линейной регрессии существуют некоторые другие алгоритмы регуляризации линейной регрессии, Основное отличие заключается в разнице в сроке регуляризации, который отличается от метода оптимизации функции потерь, который не будет описан здесь.
(Добро пожаловать в перепечатку, пожалуйста, укажите источник. Добро пожаловать на общение: pinard.liu@ericsson.com)