Перейти к содержанию

Линейная регрессия: как ИИ предсказывает числа

Коротко

Линейная регрессия — это способ предсказать число по другим числам, проведя через данные прямую линию. Метод оценивает, как характеристики объекта влияют на нужную величину, и по этой зависимости считает прогноз для нового случая. На этой идее держатся оценка цены квартиры, прогноз спроса и выручки. Разберём, что такое веса и как модель «подбирается» под данные. А ещё увидим, что искусственный нейрон устроен по тому же принципу — это мост к нейросетям.

Задача: предсказать число

В прошлом уроке про метод ближайших соседей мы относили объект к одному из классов: спам или не спам, нравится или нет. Но часто ответом должно быть не «да/нет», а конкретное число.

  • Сколько будет стоить квартира с такими-то параметрами?
  • Сколько единиц товара купят на следующей неделе?
  • Какую выручку принесёт магазин в декабре?

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

Подгонка прямой под точки

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

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

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

Важно

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

Веса: смысл коэффициентов

Прямую линию удобно описать простым правилом. Для оценки цены по площади оно выглядит так:

цена ≈ базовая величина + цена за квадратный метр × площадь

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

В жизни цена квартиры зависит не от одной площади. Тогда характеристик становится несколько, и у каждой — свой вес:

цена ≈ база + в₁ × площадь + в₂ × этаж + в₃ × удалённость от центра + …

Веса можно «прочитать» как влияние:

  • положительный вес — характеристика повышает прогноз (больше площадь — дороже);
  • отрицательный вес — характеристика понижает прогноз (дальше от центра — дешевле);
  • вес близко к нулю — характеристика почти не влияет на ответ.

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

Обучение как подбор весов

Откуда берутся сами веса? Их не задают вручную — модель подбирает их по данным. Это и есть обучение в машинном смысле. Чтобы понять, как именно, введём последнее ключевое понятие.

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

Дальше логика простая:

  1. Берём какие-то начальные веса и проводим линию.
  2. Для каждого примера считаем ошибку — промах прогноза.
  3. Складываем промахи по всем примерам в одно общее число.
  4. Подкручиваем веса так, чтобы это общее число стало меньше.

Повторяя такую подгонку, модель приходит к весам, при которых суммарная ошибка минимальна, — это и есть наилучшая прямая. Чтобы промахи в обе стороны не гасили друг друга, ошибки обычно берут в квадрате; отсюда классическое название подхода — метод наименьших квадратов. Но запоминать формулу не нужно — важнее идея: обучить модель значит подобрать веса, при которых она ошибается как можно меньше.

Пример: прогноз спроса в торговле

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

Прогноз для нового объекта

Когда веса подобраны, пользоваться моделью легко. Берём новый объект, у которого ответа ещё нет: квартиру, которую только выставляют на продажу, или будущую неделю продаж. Подставляем её характеристики в правило, перемножаем на веса, складываем — и получаем прогноз.

Фактически вся «умность» модели спрятана в наборе весов. Обучение — разовая и затратная часть, где мы перебираем данные и ищем хорошие веса. Предсказание же мгновенно: умножение и сложение. В этом ещё одно отличие от метода ближайших соседей, где основная работа происходит в момент запроса.

Упражнение: посчитайте прогноз и его изменение

Пусть простая модель оценивает месячную выручку точки продаж по числу посетителей в день. После обучения получилось правило:

выручка (тыс. руб.) ≈ 50 + 4 × (посетителей в день)

Здесь 50 — базовая величина, а 4 — вес при числе посетителей.

Вопрос 1. Какой прогноз выручки при 200 посетителях в день?

Вопрос 2. Как изменится прогноз, если поток вырастет до 250 посетителей?

Разбор.

  • Вопрос 1. Подставляем в правило: 50 + 4 × 200 = 50 + 800 = 850 тыс. руб.
  • Вопрос 2. При 250 посетителях: 50 + 4 × 250 = 50 + 1000 = 1050 тыс. руб. Прогноз вырос на 200 тыс. руб.

Обратите внимание на смысл веса: каждый дополнительный посетитель в день добавляет к прогнозу 4 тыс. руб. в месяц. Мы добавили 50 посетителей — и прогноз вырос ровно на 50 × 4 = 200 тыс. руб. В этом и состоит удобство линейной модели: вес прямо показывает, на сколько изменится ответ при росте характеристики на единицу.

Ограничения: не всё линейно

Линейная регрессия проста и прозрачна, но именно в простоте её слабость. Она предполагает, что зависимость прямая: характеристика растёт — ответ меняется равномерно. В жизни так бывает не всегда. Цена квартиры не растёт с площадью бесконечно ровно, спрос резко подскакивает в праздники, а связь характеристик с ответом порой изгибается — и прямая линия такой изгиб не повторит.

Когда зависимость заметно «кривая», прямая описывает её грубо и ошибается. Тогда переходят к более гибким методам: добавляют преобразованные характеристики, используют другие модели или нейросети. Поэтому линейную регрессию разумно воспринимать как первый понятный шаг и базовую точку отсчёта.

Мост к нейросетям

Теперь самое интересное. Присмотритесь к формуле линейной регрессии: мы умножаем характеристики на веса, складываем результат и получаем выход. Эта операция называется взвешенной суммой.

Ровно так устроен и искусственный нейрон — базовый элемент нейросети. Он принимает несколько входов, у каждого свой вес, считает их взвешенную сумму и выдаёт результат (обычно ещё пропустив его через простое преобразование). По сути один нейрон — это почти та же линейная регрессия. А нейросеть — это множество таких элементов, соединённых слоями, где выход одних становится входом для других.

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

Проверьте себя

Короткий тест по уроку: выберите ответ и нажмите «Проверить» — увидите счёт и разбор.

Частые вопросы

Чем регрессия отличается от классификации?

Классификация относит объект к одной из категорий: спам или не спам, кошка или собака. Регрессия предсказывает число на непрерывной шкале: цену, спрос, выручку, температуру. Грубо говоря, классификация отвечает на вопрос «какой класс?», а регрессия — на вопрос «сколько?». Линейная регрессия — самый простой инструмент для второго типа задач.

Что такое веса в линейной регрессии простыми словами?

Это множители при характеристиках объекта, которые показывают, насколько сильно каждая характеристика влияет на прогноз. Большой положительный вес означает, что характеристика заметно повышает ответ, отрицательный — понижает, близкий к нулю — почти не влияет. Модель подбирает веса сама по данным, и в них фактически и заключается её «знание».

Почему линейная регрессия не всегда точна?

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

Как линейная регрессия связана с нейросетями?

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


В курсе: ← Назад: Метод ближайших соседей простыми словами · Дальше: Как устроена нейросеть: нейрон, веса, активация →

Авторы курса: Герман Коваленко (основатель ENGRAM) и Сергей Добров.

Попробуйте ENGRAM на своих данных

Нейросеть на ваших встречах, документах и переписке: отвечает со ссылкой на источник. Это ваша вторая память на базе ИИ. Данные хранятся в России, старт бесплатный.

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