Найти в Дзене
Pythons Magic

Линейная регрессия - простейшая модель машинного обучения

Оглавление

Данная статья ориентирована на людей, не знакомых с темой!

Линейная регрессия - очень популярная модель ML (machine learning - машинное обучение), используемая в задачах от прогноза погоды до рекомендаций видеоигр.


Как линейная регрессия предсказывает значения?

Всё просто - по сути, это обычное уравнение вида y = kx + b, но более масштабное:

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

Пример: у нас есть игрушечный датасет, содержащий данные об играх некого человека, количестве часов в них и их оценках.

Задача: научиться предсказывать оценку игрока по количеству часов и средней оценке.

-2

В данном примере линейная регрессия будет иметь следующий вид:

Примечание: в примере не будем тренировать независимый коэффициент
Примечание: в примере не будем тренировать независимый коэффициент
x0 - количество часов;
x1 - средняя оценка;
b0, b1 - веса признаков x0 и x1 соответственно

Изначально берутся случайные веса, допустим, b0 = 1; b1 = 0.05. Чтобы не загружаться расчётами, взглянем уже на предсказанные значения:

-4

Как мы видим, модель в своих предсказаниях, конечно, ошибается, но буквально на единицы. Необходимо немного поменять веса.

Начинается та самая "подгонка", но как понять, как это сделать, куда двигаться? Вообще, для этого существуют определённые метрики, но о них не в этой статье.

На результат сильно влияет первый параметр (количество часов), поэтому, чтобы аккуратно скорректировать предсказания, необходимо подогнать вес второго параметра (средняя оценка).

Давайте уменьшим его. Теперь b0 = 1; b1 = 0.025, а предсказания выглядят следующим образом:

-5

Уже лучше! Возьмём в качестве веса второго параметра 0.005. Теперь предсказания практически идентичны реальным данным!

-6

Примерно так и происходит обучение линейной регрессии.

Плюсы и минусы линейной регрессии

Плюсы:

Простота (модель легко построить, она быстро обучается)
Интерпретируемость (переводя на русский язык, можно ответить на вопрос "Почему модель сказала именно так, а не иначе?")

Минусы:

Хорошо работает только с теми данными, где зависимость между признаками и целевой переменной линейна. В случае нелинейной зависимости модель бесполезна

Вывод

Линейная регрессия - очень простая, но не далеко не идеальная модель машинного обучения.

Есть такое понятие - SOTA (State of the art) - что-то наподобие шедевра. Так вот, в работе с табличными данными SOTA - градиентный бустинг. Очень интересная, но сложная модель!

Больше постов - в телеграме!