ОСНОВНЫЕ ПРИНЦИПЫ МЕТОДА ЛИНЕЙНОЙ РЕГРЕССИИ

УДК 004.85

Ротова О.М. студент

факультет «Робототехника и комплексная автоматизация»

Шибанова А.Д. студент

факультет «Робототехника и комплексная автоматизация»

Московский государственный технический университет имени Н.Э. Баумана

Россия, г. Москва ОСНОВНЫЕ ПРИНЦИПЫ МЕТОДА ЛИНЕЙНОЙ РЕГРЕССИИ

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

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

Rotova O.M. student

Faculty of Robotics and complex automation Moscow State Technical University named after N.E. Bauman

Russia, Moscow Shibanova A.D. student

Faculty of Robotics and complex automation Moscow State Technical University named after N.E. Bauman

Russia, Moscow

BASIC PRINCIPLES OF THE LINEAR REGRESSION METHOD

Annotation: this article discusses one of the basic machine learning algorithms - linear regression. Areas of application of the linear regression algorithm are indicated. Two basic concepts of this algorithm are also considered - the cost function and gradient descent.

Key words: linear regression, cost function, gradient descent, least squares method, learning speed

Введение

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

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

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

Понятие линейной регрессии Регрессионный анализ - один из наиболее широко распространенных методов статистики. Он используется при построении математической зависимости на основе экспериментальных данных.

С помощью регрессионного анализа можно создать математическую модель объекта или явления на основе экспериментов или наблюдений. Эти модели представляют собой определенные математические соотношения между показателями работы объекта/характеристиками наблюдаемого явления и обусловливающими их величинами [1].

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

15 • •  • • • • * • • • •

10 • * * ** • • * • . • :* * • • • •

» * • и • * • 1  1 * * . • 1

-2(5 ' -10 10 20 30 40 50 60

Рис. 1. Линейная регрессия

Простая линейная регрессия - это тип регрессионного анализа, в котором число независимых переменных равно единице, а между независимой (х) и зависимой (у) переменными существует линейная зависимость. Красная линия на графике выше (рис. 1) называется прямой линией. Основываясь на данных точках, мы пытаемся построить линию, которая наилучшим образом моделирует эти точки. Линия может быть смоделирована на основе такого линейного уравнения: у = а0 + а1 * х

Для оценки неизвестных параметров уравнения регрессии (a0 и a1) часто используют метод наименьших квадратов, который позволяет получить несмещенные оценки [2].

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

Функция стоимости

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

minimize— (predj у?)2

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

Градиентный спуск

Следующей важной концепцией является градиентный спуск. Градиентный спуск - это метод обновления a0 и a1 для уменьшения функции стоимости. Идея состоит в том, что мы начинаем выполнение алгоритма, взяв некоторые значения a0 и a1, а затем меняем эти значения итеративно, чтобы уменьшить стоимость. Минимизация любой функции означает поиск самой глубокой «впадины» этой функции. Требуется найти наименьшее значение ошибки [3].

Big learning rate Small learning rate

Рис. 2. Градиентный спуск Рассмотрим на примере: допустим, имеется яма в форме буквы и, мы находимся в самой верхней точке, а наша цель - достичь нижней точки ямы. Мы можем сделать только дискретное количество шагов, чтобы достичь нижней точки. Если сделаем один шаг за раз, окажемся в нижней точке, но это займет больше времени. Если будем делать более длинные шаги каждый раз, достигнем нижней точки быстрее, но есть вероятность, что мы можем «перескочить» дно ямы и не оказаться в самой нижней точке. В алгоритме градиентного спуска количество шагов, которое мы делаем, является скоростью обучения. Это определяет, насколько быстро алгоритм приближается к минимумам.

Рис. 3. Выпуклая и невыпуклая функции Иногда функция стоимости может быть невыпуклой функцией, где могут появляться локальные минимумы, но для линейной регрессии это всегда выпуклая функция. Чтобы получить новые значения а0 и а1, мы берем градиенты из функции стоимости. Чтобы найти эти градиенты, мы возьмем частные производные по а0 и а1.

Частными производными являются градиенты, и они используются для обновления значений a0 и a1. Альфа - это скорость обучения, является гиперпараметром, который мы должны указать.

Заключение

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

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

Важность регрессии растет с доступностью больших данных. И, очевидно, будет в скором времени применяться практически во всех областях.

Использованные источники:

1. Вучков И., Бояджиева Л., Солаков Е. Прикладной линейный регрессионный анализ. М.: Финансы и статистика, 1987. - 230 с.

2. Мхитарян В.С., Трошин Л.И., Корнилов И.А., Адамова Е.В., Шевченко К.К., Бамбаева Н.Я. Теория вероятностей и математическая статистика / Московский международный институт эконометрики, информатики, финансов и права. - М.: 2004. - 147с.

3. Хофер Э., Лундерштедт P. Численные методы оптимизации. М.: Машиностроение, 1981.