Базовые знания, необходимые для прочтения этой статьи: стандартный алгоритм линейной регрессии, немного знаний в области программирования.
Введение
В предыдущем разделе мы изучили серию алгоритмов машинного обучения (3) — стандартный алгоритм линейной регрессии и, наконец, получили аналитическое решение w функции стоимости стандартной линейной регрессии как:
Это относится к этой матрице, если матрица X после передачи матрицы X не является полнотержней матрицей, а вещество не обратимо, и он дополнительно сопоставляется, существует ли множество аргументов между множеством аргументов X. Давайте введем много частичную линейную задачу и один из методов для решения этой проблемы -Ридж Возвращение1(Регрессия хребта)
2. Мультиколлинеарность
Давайте посмотрим на объяснение мультиколлинеарности в Википедии:
мультиколлинеарность2(Multicollinearity) относится к оценке неточной регрессии из-за существования точной корреляции или высокой корреляции между переменными в многомерной линейной регрессии.
Так что же такое точные корреляции и высокие корреляции? Если имеется следующая формула (1), где w1 = 2, w2 = 3, и если имеется соотношение формулы (2), то это означает, что x1 и x2 имеют точное соотношение. Когда между х1 и х2 существует приблизительно точная корреляция, например, х1 примерно равно 2 умножить на х2, то корреляция высокая.
Поскольку (1) можно переписать в форме, отличной от (2), это приведет к бесконечному количеству решений для w, что сделает окончательную оценку регрессии неточной.
Согласно аналитическому решению w, обратная матричная операция может быть решена по следующей формуле, а делимое – это матрицаСопряженная матрица3, делитель является определителем матрицы. Можно видеть, что условием обратимости матрицы является то, что ее определитель не может быть равен нулю.
Если существует мультиколлинеарность между независимыми переменными, определитель матрицы будет равен нулю, что приведет к необратимости матрицы. Как показано в примере X на рисунке ниже, вы можете видеть, что существует точная корреляция между x1 и x2, и умноженная матрица проходит черезэлементарное преобразование4Тогда ее определитель равен нулю, что указывает на то, что определитель умноженной матрицы также должен быть равен нулю (элементарное преобразование не меняет суждения о том, что определитель равен нулю), и матрица в этот момент необратима. При наличии высокой корреляции между независимыми переменными определитель матрицы будет приблизительно равен нулю, а отклонение полученного w будет большим, что также приведет к неточной оценке регрессии.
Проблема мультиколлинеарности, поскольку существует корреляция между независимыми переменными, одно из решений состоит в исключении коллинеарных независимых переменных, которые можно вычислить путем вычислениякоэффициент расширения дисперсии5Коэффициент инфляции дисперсии (VIF) используется для количественной оценки корреляции между независимыми переменными.Чем больше коэффициент расширения дисперсии, тем серьезнее коллинеарность независимых переменных.
Другой способ — решить проблему путем добавления к регуляризации функции стоимости штрафного члена, один из которых называется регуляризацией по Тихонову, а линейная регрессия после регуляризации функции стоимости называется ридж-регрессией.
3. Шаги алгоритма
Первый член функции стоимости регрессии гребня согласуется со стандартной линейной регрессией, которая представляет собой сумму квадратов евклидова расстояния, за исключением того, что вектор w L2-норма6Квадрат - это штрафной член (значение L2-нормы - это сумма квадратов каждого элемента вектора W, а затем квадратный корень), где λ представляет собой коэффициент штрафного члена, а размер штрафа срок искусственно контролируется. Поскольку член регуляризации является L2-нормой, этот тип регуляризации иногда называют L2-регуляризацией.
— это то же самое, что и стандартная линейная регрессия, она также предназначена для нахождения размера w, когда минимизируется функция стоимости гребневой регрессии:
Функция стоимости напрямую получает аналитическое решение w путем вывода, где X — матрица размера N x M, y — вектор-столбец N, λ принадлежит множеству действительных чисел, а I — единичная матрица размера M x M.
4. Доказательство принципа
Функция стоимости гребневой регрессии выпукла
также необходимо доказать:
Левая часть неравенства :
Правая часть неравенства :
(1) Первая половина обеих частей неравенства согласуется со стандартной линейной регрессией, и необходимо только доказать, что оставшаяся разность больше или равна нулю
(2) Перепишите его в виде векторного точечного продукта
(3) Раскрыть скобки
(4) Объединить одни и те же элементы, транспонирование w1, умноженное на w2, и транспонирование w2, умноженное на w1, транспонируют друг друга, и поскольку результатом является действительное число, эти два элемента можно объединить.
(5) можно записать в виде квадрата вектора
Разница между правой частью неравенства и левой частью неравенства представляет собой непрерывную операцию сложения квадратного метода плюс квадрат разности двух векторов. Размер λ искусственно контролируется. Конечный результат должен быть больше больше или равно нулю в диапазоне действительных чисел, и доказательство завершено.
Аналитическое решение функции стоимости гребневой регрессии
(1) Функция стоимости гребневой регрессии
(2) Первые три члена являются результатом разложения стандартной функции стоимости линейной регрессии.Квадрат L2-нормы w может быть записан как скалярное произведение вектора w
(3) Объедините первый и четвертый пункты
(1) Функция стоимости вычисляет частную производную по w. Согласно формуле вывода вектора, только первый элемент и второй элемент связаны с W, а последний элемент является константой, а поскольку функция стоимости представляет собой выпуклая функция, когда частная производная по W равна 0 вектору, функция стоимости имеет минимальное значение.
(2) Разделите второй член на 2 после сдвига члена и одновременно умножьте обе части на обратную матрицу.Матрица в левой части уравнения и обратная матрица умножаются, чтобы стать единичной матрицей, поэтому только вектор w остается левым.
Можно видеть, что аналитическое решение функции стоимости гребневой регрессии имеет дополнительную диагональную матрицу, которой можно управлять вручную по сравнению со стандартной линейной регрессией, В это время матрицу в скобках можно сделать обратимой, настроив различные λ.
В примере рабочих лет и средней месячной заработной платы в предыдущем разделе X представляет собой матрицу 5 x 2, y представляет собой 5-мерный вектор-столбец, когда λ равно 0,1, мы можем, наконец, вычислить w как 2-мерный вектор-столбец. , то Линейное уравнение для этого примера: y = 2139 * x - 403,9.
Видно, что после добавления штрафного члена аппроксимация хуже, чем результат стандартной линейной регрессии, но проблема мультиколлинеарности независимых переменных решается путем искусственного управления размером штрафного члена.
Пять, реализация кода
Реализуйте алгоритм линейной регрессии с помощью Python:
import numpy as np
def ridge(X, y, lambdas=0.1):
"""
岭回归
args:
X - 训练数据集
y - 目标标签值
lambdas - 惩罚项系数
return:
w - 权重系数
"""
return np.linalg.inv(X.T.dot(X) + lambdas * np.eye(X.shape[1])).dot(X.T).dot(y)
6. Реализация сторонней библиотеки
scikit-learn7выполнить:
from sklearn.linear_model import Ridge
# 初始化岭回归器
reg = Ridge(alpha=0.1, fit_intercept=False)
# 拟合线性模型
reg.fit(X, y)
# 权重系数
w = reg.coef_
Семь, демонстрация анимации
На следующем рисунке показано влияние штрафного коэффициента λ на весовой коэффициент каждой независимой переменной.Горизонтальная ось — это штрафной коэффициент λ, вертикальная ось — весовой коэффициент, а каждый цвет представляет весовой коэффициент независимой переменной:
Видно, что при большем λ (λ смещается влево) доминирует штрафной член, что приведет к стремлению к нулю весового коэффициента каждой независимой переменной, а при меньшем λ (λ смещается вправо) штрафной член term's Чем меньше влияние, тем больше колебания весового коэффициента каждой независимой переменной. В практических приложениях необходимо много раз корректировать различные значения λ, чтобы найти подходящую модель, чтобы получить наилучший конечный эффект.
Восемь, интеллект-карта
9. Ссылки
- En. Wikipedia.org/wiki/Клиент TI на…
- En. Wikipedia.org/wiki/multi C…
- En.wikipedia.org/wiki/AD из Кармы…
- En. Wikipedia.org/wiki/elemen…
- En. Wikipedia.org/wiki/Varian…
- En. Wikipedia.org/wiki/norm_(…
- SCI kit-learn.org/stable/Modu…
Нажмите для полной демонстрацииздесь
Примечание. Эта статья стремится быть точной и легкой для понимания, но поскольку автор также новичок и имеет ограниченный уровень, если в тексте есть ошибки или упущения, я призываю читателей критиковать и исправлять их, оставляя сообщение.
Эта статья была впервые опубликована на -карта ИИ, добро пожаловать, чтобы следовать