Машинное обучение — это очень обширная область, часто, когда мы хотим начать изучать алгоритмы ML, первый алгоритм ML, с которого мы начинаем, — это линейная регрессия, многие онлайн-курсы по науке о данных и даже курсы для выпускников начинаются с линейной регрессии. Основная причина этого может заключаться в том, что LR — это один из таких алгоритмов машинного обучения, которому легко научить, но требуется мало времени, чтобы понять основную идею из-за сложной математики, связанной с ним. Сегодня, в части 1 концепции LR, мы поймем, почему этот алгоритм полезен, когда мы можем использовать этот алгоритм и какая базовая математика в нем задействована. Позже, в части 2, мы обсудим типы LR и как мы можем настроить гиперпараметры, чтобы уменьшить общую ошибку. Позвольте мне сначала представить несколько концепций, прежде чем мы начнем обсуждать алгоритм LR.

Независимая переменная

Это входные данные для начала процесса, например, если мы хотим предсказать, будет ли человек квалифицирован для собеседования, нам нужны конкретные детали, такие как требования для собеседования. Например, если компании нужны кандидаты с общим баллом не менее 65% по бакалавриату и 1-летним опытом работы в сфере аналитики данных, то общий балл и опыт здесь будут независимыми переменными, они ни от чего не зависят.

Зависимая переменная

Это результаты конкретного эксперимента, который проводился с набором переменных (независимых переменных). Если рассматривать тот же пример, если компании нужны кандидаты с общей оценкой не менее 65% по бакалавриату и 1-летним опытом работы в области анализа данных, то общая оценка и опыт будут здесь независимыми переменными, независимо от того, кандидат, подающий заявку для роли будет иметь право или нет является здесь зависимой переменной. Это должно зависеть от входных данных.

Наклон линии

Рассмотрим пример: ваш друг позвонил вам и пригласил вас на вечеринку, но вы не знаете, где именно это место, какой будет ваш следующий вопрос, который вы зададите своему другу: «Эй, не могли бы вы помочь мне с направление?'. Точно так же, чтобы узнать направление линии и куда она движется, нам нужно найти наклон.

Как рассчитать уклон?

Это изменение у при изменении х.

M = (y-y1) / (x-x1)

Что такое точка пересечения по оси Y строки (b)?

Это точка пересечения прямой с осью Y.

(Примечание: существует точка пересечения по оси Y и по оси X, здесь мы говорим только о точке пересечения по оси Y)

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

Рассмотрим приведенное выше изображение, это график, который представляет взаимосвязь между мощностью и ценой. Из графика мы можем понять, как повлияет на цену увеличение емкости, поскольку изменение равно x, чему равно изменение y? Каков наклон линии, которую мы обсуждали выше. В общем, мы используем алгоритм LR для такого рода предсказаний, но когда мы можем использовать LR? Давайте сначала попробуем ответить на этот вопрос, а позже мы сможем начать работу с концепцией.

Линейность

Когда у нас есть две функции и когда мы наносим точки данных на график, если мы видим взаимосвязь между двумя функциями и можем представить данные на линейном графике, мы можем сказать, что он имеет линейные свойства. Другими словами, если данные могут быть разделены прямой линией, и если мы можем рассчитать, изменится ли одно значение в признаке, каким будет изменение цели, тогда мы можем сказать, что следует линейности, и эту модель можно рассматривать как линейную. модель. В линейной модели коэффициенты (y = mx+b, где m — коэффициент) должны соответствовать линейности, что означает линейную комбинацию коэффициентов, которую мы называем линейной моделью.

Зависимые переменные (y) = константа (b) + независимая переменная1 (x) * параметр (m) + независимая переменная2 (x) * параметр (m) + ….. + независимая переменная n (x) * параметр (м)

Если мы можем увидеть такого рода отношения между зависимыми и независимыми переменными, мы называем это линейной моделью.

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

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

Изображение выше поможет понять, когда нам нужно перейти на LR.

Теперь давайте разберемся с интуицией, лежащей в основе LR, для этого нам нужно сначала понять

  1. OLS (Обычные наименьшие квадраты)
  2. Функция стоимости
  3. Градиентный спуск

OLS (Обычный метод наименьших квадратов)

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

y= mx+b

Сначала мы рассмотрим пример набора данных в качестве примера решения для МНК, что поможет понять концепцию. (Примечание: мы рассматриваем только небольшие примеры, просто для простоты объяснения, но в режиме реального времени данные будут очень сложными).

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

Зависимые переменные (y) = константа (b) + независимая переменная1 (x) * параметр (m) + независимая переменная2 (x) * параметр (m) + ….. + независимая переменная n (x) * параметр (м)

Y = Bo + B1*X1 — — 1

Здесь «Y» — это прогноз.
Bo, B1 и B2 — коэффициенты (или весовые коэффициенты, помогающие уменьшить ошибку)
Что похоже на y = mx +b

Здесь «Y» — это оценка, а не истинное значение «y», позвольте мне сначала прояснить это,
У нас есть приведенные выше данные, которые имеют 1 функцию и значение «y», мы разделим эти данные на поезд и тест (это очень-очень маленькие данные, как упоминалось только для простоты объяснения), и мы будем обучать нашу модель LR с данными поезда и, используя тестовые данные, мы заставим модель прогнозировать доход для тестовых данных. Позже мы сравним прогнозируемый доход с реальным доходом, который мы разделили ранее, это покажет, в чем заключается ошибка, и на основе этого мы будем использовать некоторые методы регуляризации, чтобы минимизировать ошибку (подробнее об этом мы поговорим во второй части). Итак, «Y» — это доход, который мы прогнозируем, а «y» — это истинное значение. Уравнение 1 выше относится к «Y», расчетному доходу.

На приведенном выше изображении показано, что именно представляет это уравнение, у нас есть значения x, и у нас есть линейная линия, которая предназначена для прогнозирования, это просто говорит о том, что для каждой точки здесь x умножается на некоторый B (коэффициент), что будет предсказание, которое равно Y. Итак, для каждой точки мы будем умножать на B, что означает BX = Y

Если мы рассмотрим одну строку в наборе данных, Y = Bo + B1 * X
B1 — это корреляция между X и Y, умноженная на стандартное отклонение Y / стандартное отклонение X

B1 = ρ(x, y) * σy/σx — — 2,

если мы соблюдаем эту формулу, это наклон, изменение y на изменение x.

Если мы расширим эту формулу и решим это уравнение, мы получим,

B1 = Σ(x-x̄) * (y — ȳ) / Σ(x-x̄)² — — — 3

Итак, Bo = Y — B1*X, мы знаем B1, мы можем вычислить Bo.

Если мы вычислим Y в наборе данных выше, мы получим следующие значения

Итак, если мы подставим значения в уравнение 3,

B1 = 344.3/144.25 ==> 2.4M

B0 = y — B1*x ==> 27.3–2.4*13.5 ==> -5.1

==› Y = -5,1 + 2,4*X, вот что у нас получилось.

Итак, если производитель инвестирует 100 миллионов, каков будет доход? Подставьте в приведенном выше уравнении

Y = -5,1 + 2,4 * 100 == › 243,9 млн будет доходом. Так работает ЛР.

Метод OLS поможет нам решить проблему, когда у нас есть только одна функция, но что, если у нас есть несколько функций, невозможно использовать один и тот же метод для прогнозирования Y. Итак, в этом случае мы используем градиентный спуск для решения проблема. [Пожалуйста, обратитесь к моей статье о GD]

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

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

Линейная регрессия — это алгоритм машинного обучения, созданный для прогнозирования цели путем самообучения с набором функций. Например, если вас попросили создать алгоритм машинного обучения, который мог бы прогнозировать арендную плату за жилье в вашем городе, чтобы, если кто-то захочет переехать в зависимости от своих потребностей, он мог бы легко найти дом. Для этого вы решили построить модель линейной регрессии и спрогнозировать арендную плату за дом, но как узнать, верны ли эти прогнозы? С этой целью вы используете метрику ошибок, чтобы измерить разницу между фактической арендной платой и прогнозируемой арендной платой. Эту метрику ошибок мы называем функцией затрат.

В линейной регрессии среднеквадратическая ошибка (MSE) предназначена для определения стоимости.

СКО = (1/n) * Σ(a — p)**2

n — количество значений.

«а» — фактическая стоимость аренды.

«p» — это цена аренды, которую предсказала модель.

Если ошибка небольшая, то это хорошая модель, если слишком большая, то нам нужно использовать некоторые гиперпараметры для ее настройки. Для этого воспользуемся градиентным спуском.

Продолжение...

Обо мне

Пожалуйста, проверьте мой профиль LinkedIn.