Линейная регрессия: как ИИ предсказывает числа
Коротко
Линейная регрессия - это способ предсказать число по другим числам, проведя через данные прямую линию. Метод оценивает, как характеристики объекта влияют на нужную величину, и по этой зависимости считает прогноз для нового случая. На этой идее держатся оценка цены квартиры, прогноз спроса и выручки. Разберём, что такое веса и как модель «подбирается» под данные. А ещё увидим, что искусственный нейрон устроен по тому же принципу - это мост к нейросетям.
Задача: предсказать число
В прошлом уроке про метод ближайших соседей мы относили объект к одному из классов: спам или не спам, нравится или нет. Но часто ответом должно быть не «да/нет», а конкретное число.
- Сколько будет стоить квартира с такими-то параметрами?
- Сколько единиц товара купят на следующей неделе?
- Какую выручку принесёт магазин в декабре?
Задачу, где нужно предсказать число, а не категорию, как раз и решает регрессия - группа методов, которые по известным характеристикам объекта оценивают непрерывную величину. Самый простой и наглядный её представитель - линейная регрессия. С неё и начнём.
Подгонка прямой под точки
Начнём с самого простого случая: одна характеристика и один ответ. Допустим, мы хотим оценить цену квартиры по её площади. Возьмём данные с сервисов вроде Циан или Авито: десятки реальных объявлений, где для каждой квартиры известны и площадь, и цена.
Если нанести их на график - площадь по горизонтали, цена по вертикали, - получится облако точек. Точки не лягут идеально ровно, но общая тенденция видна: чем больше площадь, тем выше цена. Наша задача - провести через это облако прямую так, чтобы она шла «по центру» точек и описывала тенденцию.
Такую линию называют линией регрессии. Из бесконечного числа возможных прямых нужна та, что проходит как можно ближе ко всем точкам сразу. Именно эту идею - «прижать прямую к данным» - алгоритм и превращает в точный расчёт.
Важно
Линейная регрессия не ищет линию, которая пройдёт точно через каждую точку, - это и невозможно, ведь цена зависит не только от площади. Цель скромнее и честнее: поймать общую закономерность, чтобы делать разумные прогнозы, а не повторять каждый случай из прошлого.
Веса: смысл коэффициентов
Прямую линию удобно описать простым правилом. Для оценки цены по площади оно выглядит так:
цена ≈ базовая величина + цена за квадратный метр × площадь
Здесь «цена за квадратный метр» показывает, насколько вырастет прогноз, если добавить один квадратный метр. Эти множители при характеристиках и есть веса (их также называют коэффициентами) - числа, которые задают вклад каждой характеристики в итоговый прогноз. Чем больше вес, тем сильнее характеристика влияет на ответ.
В жизни цена квартиры зависит не от одной площади. Тогда характеристик становится несколько, и у каждой - свой вес:
цена ≈ база + в₁ × площадь + в₂ × этаж + в₃ × удалённость от центра + …
Веса можно «прочитать» как влияние:
- положительный вес - характеристика повышает прогноз (больше площадь - дороже);
- отрицательный вес - характеристика понижает прогноз (дальше от центра - дешевле);
- вес близко к нулю - характеристика почти не влияет на ответ.
Эта читаемость - большой плюс линейной регрессии: модель не только выдаёт число, но и показывает, какие характеристики важны и в какую сторону тянут результат.
Обучение как подбор весов
Откуда берутся сами веса? Их не задают вручную - модель подбирает их по данным. Это и есть обучение в машинном смысле. Чтобы понять, как именно, введём последнее ключевое понятие.
Для каждого примера из прошлого мы знаем настоящий ответ и можем сравнить его с тем, что предсказала бы линия. Разница между ними - это ошибка модели: насколько прогноз промахнулся мимо реального значения. Если линия проходит ровно через точку, ошибка равна нулю; чем дальше точка от линии, тем ошибка больше.
Дальше логика простая:
- Берём какие-то начальные веса и проводим линию.
- Для каждого примера считаем ошибку - промах прогноза.
- Складываем промахи по всем примерам в одно общее число.
- Подкручиваем веса так, чтобы это общее число стало меньше.
Повторяя такую подгонку, модель приходит к весам, при которых суммарная ошибка минимальна, - это и есть наилучшая прямая. Чтобы промахи в обе стороны не гасили друг друга, ошибки обычно берут в квадрате; отсюда классическое название подхода - метод наименьших квадратов. Но запоминать формулу не нужно - важнее идея: обучить модель значит подобрать веса, при которых она ошибается как можно меньше.
Пример: прогноз спроса в торговле
Допустим, онлайн-магазин хочет заранее понимать недельный спрос на товар. По истории продаж он собирает характеристики: была ли скидка, какой сезон, шла ли реклама, день недели. Линейная регрессия подбирает веса и показывает, например, что скидка заметно повышает спрос, а будний день - слегка понижает по сравнению с выходным. Теперь по параметрам следующей недели магазин прикидывает, сколько закупить на склад, чтобы не остаться без товара и не переплатить за остатки.
Прогноз для нового объекта
Когда веса подобраны, пользоваться моделью легко. Берём новый объект, у которого ответа ещё нет: квартиру, которую только выставляют на продажу, или будущую неделю продаж. Подставляем её характеристики в правило, перемножаем на веса, складываем - и получаем прогноз.
Фактически вся «умность» модели спрятана в наборе весов. Обучение - разовая и затратная часть, где мы перебираем данные и ищем хорошие веса. Предсказание же мгновенно: умножение и сложение. В этом ещё одно отличие от метода ближайших соседей, где основная работа происходит в момент запроса.
Упражнение: посчитайте прогноз и его изменение
Пусть простая модель оценивает месячную выручку точки продаж по числу посетителей в день. После обучения получилось правило:
выручка (тыс. руб.) ≈ 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) и Сергей Добров.
Нужно обучить не себя, а команду?
Корпоративная программа адаптирует эту методику под ваши роли и процессы: практики, диагностика, сопровождение.
Обучить команду