Линейная регрессия как базовая модель
Формула, геометрический смысл, PHP-реализация.
Линейная регрессия как базовая модель
Линейная регрессия – это та точка, с которой удобно начинать разговор про машинное обучение. Не потому, что она "простая", а потому, что в ней уже есть почти всё: модель как функция, параметры, ошибка, оптимизация и геометрический смысл. Если понять линейную регрессию, дальше большинство моделей будут восприниматься как её усложнения.
Идея модели
Представим, что у нас есть данные: входы и правильные ответы. Например, площадь квартиры и её цена . Мы хотим научиться по входу предсказывать значение .
Линейная регрессия предполагает, что зависимость можно аппроксимировать линейной функцией:
Здесь:
– входной признак
– коэффициент (вес)
– смещение (bias, свободный член)
– предсказание модели
Если признаков несколько, формула обобщается:
Или в векторной форме, которая важна для ML:
Здесь и – векторы, а точка означает скалярное произведение.
По сути, модель отвечает на вопрос: какие веса нужно подобрать, чтобы линейная комбинация признаков как можно лучше совпадала с реальными данными.
Ошибка и функция потерь
Модель сама по себе ничего не значит, пока мы не определили, что такое "хорошо" и "плохо" (для нас, разумеется). Для этого введём понятие ошибки.
Для одного объекта ошибка выглядит так:
Строго говоря, величина называется остатком (residual), а функция, которую мы оптимизируем (чуть ниже мы о ней поговорим), называется функцией потерь.
Но оптимизировать просто ошибку неудобно – положительные и отрицательные значения будут взаимно уничтожаться. Поэтому в классической линейной регрессии почти всегда используют квадратичную ошибку:
А для всего датасета – среднеквадратичную ошибку (MSE):
Именно эту величину мы будем минимизировать, подбирая параметры и .
Геометрический смысл
Геометрия – ключ к пониманию линейной регрессии.
Один признак – прямая
Если у нас один признак, то данные – это точки на плоскости . Модель – это прямая. Обучение линейной регрессии означает поиск такой прямой, которая проходит "как можно ближе" к этим точкам в смысле минимальной суммарной квадратичной ошибки.

Вертикальные отрезки от точек до прямой – это и есть ошибки предсказания.
Несколько признаков – плоскость и гиперплоскость
Если признаков два, модель становится плоскостью. Если признаков больше – гиперплоскостью в многомерном пространстве.
Вектор задаёт ориентацию этой плоскости, а – её сдвиг. Предсказание – это значение линейной функции, зависящее от проекции вектора признаков на направление вектора весов , с учётом смещения.
С этой точки зрения линейная регрессия – это задача подбора такого направления в пространстве признаков, которое лучше всего объясняет данные.

Как находятся веса
Существует два основных подхода:
Аналитическое решение через нормальные уравнения
Итеративная оптимизация (градиентный спуск)
В прикладном ML чаще используется второй подход, потому что он масштабируется и логически совпадает с тем, как обучаются нейросети.
Градиентный спуск – интуитивно
Идея простая: представим, что функция потерь – это поверхность. Мы стоим в случайной точке и хотим спуститься в самую низкую.
Градиент показывает направление наибольшего роста функции. Если идти в противоположную сторону, ошибка будет уменьшаться.
Для линейной регрессии производные считаются просто. Для наглядности запишем производные для одного объекта. В случае всего датасета градиенты усредняются по всем примерам.
Обновление параметров выглядит так:
Где – learning rate, шаг обучения.

Почему линейная регрессия так важна
Линейная регрессия кажется простой, но она:
задаёт базовый шаблон "модель" → "ошибка" → "оптимизация"
показывает геометрический смысл обучения
учит мыслить векторами и пространствами
напрямую связана с нейросетями (один нейрон без активации – это линейная модель)
Фактически, каждый линейный слой в нейросети – это обобщение линейной регрессии. Разница лишь в количестве слоёв и нелинейностях между ними.
Если вы смогли понять, что происходит здесь, вы уже понимаете одну из важнейших частей машинного обучения – независимо от языка, фреймворка или модной библиотеки.
В следующих главах мы усложним картину и поговорим о том, почему линейности часто недостаточно и как появляются нелинейные модели.
Last updated