Наименьшая сумма квадратов: замкнутая форма наилучшего соответствия
Обычные наименьшие суммы квадратов выбирают коэффициенты β линейной модели y = Xβ, которые минимизируют сумму квадратов остатков, ‖y − Xβ‖². Установка градиента этой суммы в ноль дает нормальные уравнения, у которых есть замкнутое решение, когда XᵀX обратима:
минимизировать ‖y − Xβ‖² ∂/∂β ‖y − Xβ‖² = −2Xᵀ(y − Xβ) = 0 ⇒ XᵀX β = Xᵀy ⇒ β̂ = (XᵀX)⁻¹ Xᵀy
«Линейная» регрессия означает линейность в отношении коэффициентов, а не в отношении видимой кривой — одно и то же нормальные уравнения подходят для прямой линии, параболы или полинома степени 9, при условии расширения матрицы признаков X до включения дополнительных столбцов x², x³, … x⁹ перед решением. Это именно то, что представляет собой полиномиальная регрессия: обычные наименьшие суммы квадратов на спроектированном наборе признаков более высокой размерности.
minimise ‖y − Xβ‖²
∂/∂β ‖y − Xβ‖² = −2Xᵀ(y − Xβ) = 0
⇒ XᵀX β = Xᵀy
⇒ β̂ = (XᵀX)⁻¹ Xᵀy
Ухили, дисперсія та слайдер ступеня
Перший порядок (ступінь 1) підгонки до справді викривлених даних є упередженим: це не належна функціональна родина, незалежно від того, скільки даних ви подасте, і її помилка не зникне навіть зі збільшенням розміру вибірки — недооцінка. Перший порядок підгонки до кількох випадкових точок із шумом має майже нульовий ухил (з достатньою кількістю параметрів він може проходити практично через кожну точку навчання) але велику дисперсію: переформуйте його на невеликий зразок, і коефіцієнти та крива між точками даних будуть різко змінюватися, особливо по краях даних — надмірна підгонка. Очікувана помилка тесту розкладається чітко на три частини:
Очікувана помилка тесту = Ухил² + Дисперсія + незмінний шум σ² низький ступінь → високий ухил, низька дисперсія → недооцінкависокий ступінь → низький ухил, висока дисперсія → надмірна підгонкадесь посередині: ступінь, який мінімізує сумунемає вільного способу зменшити ухил без збільшення дисперсії або навпаки за допомогою ступеня — цей компроміс називається ухилом-дисперсією, і практичний спосіб знайти оптимальну точку — це використовувати валідаційні дані (або перехресну перевірку) та вибрати ступінь, який мінімізує помилку валідації, а не помилку навчання, оскільки помилка навчання завжди зменшується зі збільшенням поліноміальних членів.
E[test error] = Bias² + Variance + irreducible noise σ²
low degree → high bias, low variance → underfit
high degree → low bias, high variance → overfit
somewhere between: the degree that minimises the SUM
Ridge: зменшує величину коефіцієнтів замість зниження складності
Замість контролю складності шляхом вибору ступеня поліноміального члена, можна підігнати модель з високим ступенем та безпосередньо штрафувати великі коефіцієнти. Ridge регресія (Tikhonov регуляризація) додає L2 покарання λ‖β‖² до межинної цілі найменших квадратів:
мінімізувати ‖y − Xβ‖² + λ ‖β‖² ⇒ β̂ridge = (XᵀX + λI)⁻¹ Xᵀy Додатковий терм λI також є зручним з точки зору чисельного обчислення: він робить матрицю, яку потрібно інвертувати, більш доброю у обробці (і завжди інвертованою, навіть якщо XᵀX сама по собі є сингулярною або близькою до сингулярної через корельовані ознаки), що й було причиною початкового введення Ridge як виправлення цієї конкретної проблеми чисельного обчислення. Зі збільшенням λ кожен коефіцієнт плавно притягується до нуля — але ніколи не досягає нуля — тому Ridge підтримує кожну ознаку в моделі з зменшеним вагою, що підходить для ситуацій, коли більшість або всі ознаки справді мають невеликий внесок.
minimise ‖y − Xβ‖² + λ ‖β‖²
⇒ β̂ridge = (XᵀX + λI)⁻¹ Xᵀy
Lasso: зменшити деякі коефіцієнти до нуля
Lasso (Найменша Абсолютна Зменшувальна та Вибіркова Оператор) замінює покарання для L1, λ‖β‖₁ = λ Σ|βi|:
мінімізувати ‖y − Xβ‖² + λ Σ |βi| (загалом немає замкненої форми) Геометрично, покарання L1 створює діамант (у 2D) з гострими кутами на координатних осях, тоді як покарання L2 – це гладкий коло; контур найменших квадратів набагато ймовірніше спочатку торкається діаманта L1 точно в куті, де один або кілька коефіцієнтів дорівнюють нулю, ніж приземлятися на вісь гладкого кола L2. Цей геометричний факт є основною причиною того, що Lasso виконує автоматичний вибір ознак – змушуючи непотрібні коефіцієнти точно дорівнювати нулю – тоді як Ridge лише стискає їх близько до цього. Вартість полягає в тому, що покарання L1 не є диференційованим при нулі, тому немаєshortcut за допомогою нормальних рівнянь; Lasso розв'язується методом координатних орієнтирів або іншими методами оптимізації опуклих функцій, і коли ознаки сильно корелюють, Lasso випадково вибирає одну з корельованої групи та нулює решту, тоді як Ridge обробляє це більш плавно, стискаючи корельовані ознаки разом.
Elastic net поєднує обидва покарання, αλ‖β‖₁ + (1−α)λ‖β‖², щоб отримати розріджені рішення, як у Lasso, зберігаючи при цьому більш стабільну поведінку Ridge з корельованими ознаками.
minimise ‖y − Xβ‖² + λ Σ |βi| (no closed form in general)
Вибір λ
λ є точно таким же регулюючим елементом, як і поліноміальний порядок — він обмінює спотворення на дисперсію, лише безперервно замість дискретних цілих кроків. λ = 0 відновлює звичайний найменший квадрат (низьке спотворення, потенційно висока дисперсія для моделі високого ступеня); коли λ → ∞ кожен коефіцієнт схиляється до нуля і модель деградує до плоскої лінії на середньому значенні y (високе спотворення, нульова дисперсія). Стандартний спосіб вибору – це k-fold перехресна валідація: підготувати на k−1folds, оцінити на відставному folds, повторити для всіх folds і усереднити, а потім вибрати λ, який мінімізує середню помилку валідації — ніколи не значення, обране на око на кривій навчання, яка систематично обманюється таким же чином, як і незарегульована модель високого ступеня.
Часті запитання
Що робить поліноміальний регресіон 'лінійним', якщо крива не є прямою лінією?
Лінійна регресія означає лінійність щодо коефіцієнтів, які розв'язуються, а не щодо форми кривої. Підбір рівняння y = β0 + β1x + β2x² + β3x³ все ще вирішується за допомогою точно тих самих нормальних рівнянь, як і для прямої лінії, оскільки x, x² та x³ є лише три стовпці матриці ознак X — модель лінійна щодо β0, β1, β2, β3, незважаючи на те, що отримана крива згинається.
Чому Lasso нулить коефіцієнти, а Ridge лише зменшує їх?
Це залежить від геометрії області штрафу. Штраф L1 Lasso має діаманбоподібний обмежуючий контур з гострими кутами, який лежить точно на координатних осях, і оптимальне рішення непропорційно ймовірно потрапить в один із цих кутів, де деякі коефіцієнти будуть рівними нулю. Штраф L2 Ridge є гладким колом без кутів, тому його оптимальне рішення майже ніколи не потрапляє точно на вісь — коефіцієнти зменшуються до нуля, але практично ніколи цього не досягають.
Як я можу вибрати силу регуляризації λ?
Не виходячи з оцінки помилки навчання, яка покращується лише тоді, коли λ зменшується до нуля. Використовуйте k-fold крос-валідацію: підготуйте модель на більшості даних, виміряйте помилку на відібраному шарі, повторіть це кілька разів і виберіть λ, яке мінімізує середню помилку на відібраному шарі. Це той самий принцип, який використовується для вибору ступеня полінома, і обидві проблеми насправді є одним і тим самим компромісом між упередженням та дисперсією, розглянутим через різні ручки.
Спробуйте наживо
Усе, що вище, працює прямо у вашому браузері — відкрийте Regression Visualizer і змінюйте параметри під час роботи. Нічого не встановлюється, нічого не завантажується на сервер, уся модель живе в одній вкладці.
▶ Відкрити симуляцію Regression Visualizer