# Линейная регрессия

> Линейная регрессия простыми словами: MSE, нормальное уравнение, градиентный спуск и типичные вопросы ML-собеседования с интерактивом.

Раздел: [Основы машинного обучения](https://ml-book.com/s/ml-basics/) · Страница темы: https://ml-book.com/t/linear-regression/ · Обновлено: 2026-09-16 · Источник: ml-book.com, учебник делается сообществом

## Интуиция

Представь, что ты риелтор и хочешь предсказывать цену квартиры по её площади. У тебя есть история сделок — точки на графике «площадь → цена». Линейная регрессия (linear regression) говорит: давай проведём через эти точки прямую так, чтобы она в среднем ошибалась как можно меньше. Дальше для любой новой квартиры мы просто смотрим, где её площадь пересекает прямую — это и есть прогноз.

Модель для одного признака выглядит так:

`ŷ = w·x + b`

Здесь w — наклон (вес признака), b — сдвиг (bias, где прямая пересекает ось y), а ŷ — предсказание. Для многих признаков всё то же самое, только признаков и весов становится больше: ŷ = w_1x_1 + w_2x_2 + … + b.

## Как измерить «хорошесть» прямой

Нужна функция потерь (loss function) — число, которое говорит, насколько модель плоха. Стандартный выбор — среднеквадратичная ошибка (MSE, mean squared error): берём разницу между предсказанием и правдой для каждой точки (это называется остаток, residual), возводим в квадрат и усредняем:

`MSE = (1/n) · Σ (y_i − ŷ_i)²`

Почему именно квадрат? Две причины. Во-первых, квадрат сильнее наказывает большие ошибки: промахнуться на 10 в 100 раз хуже, чем на 1. Во-вторых, парабола гладкая и дифференцируемая — по ней удобно спускаться градиентом. Обратная сторона: из-за квадрата модель очень чувствительна к выбросам (outliers) — одна аномальная точка может сильно развернуть прямую. Если выбросов много, берут MAE (среднюю абсолютную ошибку) — она устойчивее.

> **💡 Ключевая мысль**
>
> Обучение модели = поиск параметров (w, b), при которых функция потерь минимальна. Эта формула «модель + лосс + оптимизация» повторяется во всём ML, вплоть до GPT.

> 🎛 Интерактивная визуализация — на странице темы: https://ml-book.com/t/linear-regression/

## Как найти лучшие параметры

Есть два пути, и на собеседовании полезно знать оба:

- **Аналитически.** Для MSE задача имеет решение в замкнутой форме — нормальное уравнение (normal equation): w = (XᵀX)⁻¹Xᵀy. Одна формула — и готово. Проблема: обращение матрицы стоит ~O(d³) по числу признаков и требует, чтобы XᵀX была обратимой; при миллионах признаков или строк это непрактично.
- **Итеративно — градиентным спуском.** Начинаем с случайных (w, b), считаем градиент лосса и делаем маленькие шаги против него. Так учат и линейную регрессию на больших данных, и любые нейросети. Подробнее — в теме [про градиентный спуск](https://ml-book.com/t/gradient-descent/).

## Как читать обученную модель

Вес w_j — это «на сколько изменится прогноз при увеличении признака j на единицу, при прочих равных». Это делает линейную регрессию любимой моделью там, где важна интерпретируемость. Но осторожно: сравнивать веса между собой можно только если признаки приведены к одному масштабу, а при сильно скоррелированных признаках (мультиколлинеарность) отдельные веса становятся нестабильными и теряют смысл.

Качество обычно описывают метрикой R² — доля дисперсии целевой переменной, которую объясняет модель: 1 — идеально, 0 — не лучше, чем предсказывать среднее.

> **⚠️ Подводный камень**
>
> Линейная регрессия линейна *по параметрам*, а не по признакам. Никто не мешает подать на вход x², log(x) или произведения признаков — модель останется «линейной» и решаемой теми же методами. Забыв это, легко на собеседовании ошибочно сказать, что она «не может выучить нелинейность».

> **🎤 На собеседовании**
>
> - «Почему MSE, а не MAE?» — квадрат дифференцируем и сильнее штрафует большие ошибки; MAE устойчивее к выбросам.
> - «Когда нормальное уравнение, а когда градиентный спуск?» — аналитика хороша при малом числе признаков; спуск масштабируется на большие данные и стриминг.
> - «Что будет при скоррелированных признаках?» — веса нестабильны, помогает регуляризация (L2/ridge) или отбор признаков.
> - «Как модель отреагирует на выброс?» — сильно сдвинется из-за квадрата ошибки; проверь в интерактиве мысленно, куда утянула бы прямую точка высоко над остальными.

## Связанные темы

- [Градиентный спуск](https://ml-book.com/t/gradient-descent/)
- [Логистическая регрессия и классификация](https://ml-book.com/t/logistic-regression/)
- [Переобучение и регуляризация](https://ml-book.com/t/overfitting-regularization/)
- [Метрики качества](https://ml-book.com/t/metrics/)

---

Интерактив, тест из 12 вопросов и карточки терминов — на странице темы: https://ml-book.com/t/linear-regression/
Весь учебник в markdown: https://ml-book.com/llms-full.txt · Оглавление для агентов: https://ml-book.com/llms.txt
