ГоловнаСтаттіData Science

Візуалізація Регресії: Найменших Квадратів, Перенавчання та Ridge/Lasso

Звичайні рівняння, як дев'ятий поліном розчаровує на нових даних, і як штрафи L2 та L1 повертають його під контроль зовсім різними способами.

mysimulator teamОновлено — червень 2026≈ 8 хв читання▶ Відкрити симуляцію

Наименьшая сумма квадратов: замкнутая форма наилучшего соответствия

Обычные наименьшие суммы квадратов выбирают коэффициенты β линейной модели 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
жива демонстрація · пов'язана симуляція● LIVE

Ухили, дисперсія та слайдер ступеня

Перший порядок (ступінь 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

Що ви знайшли?

Додати кроки відтворення (опційно)