Линейная регрессия: от основ до практического применения в машинном обучении

Линейная регрессия представляет собой фундаментальный и широко применяемый статистический метод для моделирования и анализа взаимосвязей между переменными. Её универсальность позволяет решать разнообразные задачи: от прогнозирования экономических показателей, таких как объём продаж, до оценки биологических параметров, например, урожайности сельскохозяйственных культур.

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

Суть и определение линейной регрессии

Согласно формальному определению, линейная регрессия — это подход к моделированию линейной зависимости между целевой (зависимой) переменной и одной или несколькими признаковыми (независимыми) переменными. Если говорить проще, цель метода — найти «линию наилучшего соответствия», которая наиболее точно аппроксимирует имеющиеся данные.

Наглядный пример такой линии, построенной для набора точек, представлен ниже. Используя эту линию, можно не только предсказывать значения для новых данных, но и выявлять аномалии. Предположим, график отображает зависимость цены бриллианта от его веса. Тогда точка, выделенная синим цветом, может указывать на переоценённый экземпляр, так как её реальная цена существенно отклоняется от предсказанной моделью тенденции.

Но как именно находится эта оптимальная линия? Давайте углубимся в механику процесса.

Принцип работы простой линейной регрессии

Сначала рассмотрим простую линейную регрессию, которая работает с одной независимой переменной. Уравнение искомой линии выглядит как y = kx + b. Алгоритм её поиска основан на методе наименьших квадратов:

  • Для каждой точки данных вычисляется вертикальное расстояние (ошибка) до предполагаемой линии регрессии. На схеме эти расстояния показаны тонкими красными или зелёными линиями.
  • Все такие расстояния возводятся в квадрат (чтобы нивелировать знаки) и суммируются. Получается общая мера ошибки модели.

Затем строится другая линия, и шаги повторяются. Сравнивая суммы квадратов ошибок для разных линий, алгоритм выбирает ту, для которой эта сумма минимальна. Этот процесс и называется минимизацией квадратичной ошибки.

Конечно, возникают практические вопросы: как именно менять положение линии на каждом шаге и сколько таких итераций нужно провести? Эти задачи решаются специальными оптимизационными алгоритмами, детали которых выходят за рамки базового объяснения.

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

Для практического применения простой линейной регрессии в Python удобно использовать библиотеку Scikit-learn. Вот пример импорта необходимых модулей:

Переход к множественной линейной регрессии

Простая регрессия эффективна, когда нужно смоделировать связь всего между двумя переменными. Однако в реальности на целевую переменную часто влияет множество факторов. Например, цена автомобиля зависит от его мощности, габаритов, бренда, года выпуска и других параметров.

Для таких случаев используется множественная линейная регрессия. Этот метод позволяет анализировать взаимосвязь между одной зависимой переменной и несколькими независимыми одновременно. Визуально результат представляется уже не линией, а гиперплоскостью в многомерном пространстве.

Для визуализации множественной регрессии в 3D потребуются дополнительные библиотеки. Сначала импортируем необходимые инструменты для построения графиков и зададим их стиль:

Загрузим учебный набор данных и подготовим переменную `data`, которая будет служить агрегатором для удобной работы с признаками и целевыми значениями:

Теперь определим вспомогательную функцию для построения трёхмерной плоскости регрессии:

И, наконец, выполним построение графика, который наглядно демонстрирует плоскость, наилучшим образом описывающую данные в трёхмерном пространстве:

В результате мы получаем следующую визуализацию, где плоскость отражает предсказания модели для всех комбинаций двух признаков:

Таким образом, мы рассмотрели базовые принципы линейной регрессии. Важно помнить, что реальные данные часто имеют более сложные, нелинейные зависимости. Для их моделирования существуют расширенные методы, такие как полиномиальная регрессия, о которой пойдёт речь в отдельном материале.

Готовый рабочий ноутбук с кодом из статьи, не требующий дополнительной настройки, доступен для скачивания по ссылке.

Больше интересных статей здесь: Новости науки и техники.

Источник статьи: Линейная регрессия доступно.