Кто-то спросил меня Почему мы используем линейную регрессию? Я ответил на вопрос Прогноз. Он снова спросил меня: Что такое предсказание? Я ответил ситуацией: «Предположим, мы с вами идем по дороге. Мы наткнулись на перекресток, теперь я вам скажу, что поедем прямо. Это происходит пять раз. Сейчас на шестом перекрестке. Спрашиваю, по какому пути мы пойдем. Ваш ответ будет, мы пойдем прямо. То, что вы сказали, называется предсказанием. Он задал мне следующий вопрос: Как мы это сделали? Я объяснил, что мы рассматривали данные или, в данном случае, мои предыдущие ответы всякий раз, когда мы находимся на перекрестке, и считали, что мы предполагали, что пойдем прямо.

Что такое линейная регрессия? Это подход к моделированию отношений между зависимой переменной и независимыми переменными. Снова вопрос Что такое независимые и зависимые переменные? Теперь на изображении ниже есть некоторые данные о домах. У нас есть «площадь дома» и «стоимость дома». Мы можем видеть, что стоимость зависит от площади дома, так как при увеличении площади стоимость также увеличивается, а при уменьшении площади стоимость также уменьшается. Таким образом, мы можем сказать, что стоимость является зависимой переменной, а площадь - независимой переменной. С помощью линейной регрессии мы смоделируем эту взаимосвязь между стоимостью дома и площадью дома.

Лучший способ смоделировать эту взаимосвязь - построить график между стоимостью и площадью дома. Площадь дома отображается на оси X, а стоимость - на оси Y. Что сделает регрессия? Он попытается провести линию через эти точки. Левое изображение показывает нанесенные точки, а правое изображение показывает линию, соответствующую точкам.

Если мы хотим спрогнозировать стоимость дома площадью 1100 квадратных футов с помощью изображения выше, это можно сделать, как показано на рисунке ниже. Как вы можете видеть, стоимость дома площадью 1100 квадратных футов составляет около 35.

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

  • M: = обучающие образцы
  • x: = входная функция / переменные. Их может быть больше одного.
  • y: = функция вывода / переменные.
  • (x, y): = обучающий пример. Например: (1000,30)

Как математически представлена ​​эта линия?

h (x) представляет линию математически, так как на данный момент у нас есть только одна входная характеристика, уравнение будет линейным уравнением, и оно также напоминает линейное уравнение «Y = mx + c». Теперь мы посмотрим, какой эффект будет иметь выбор значения теты в режиме онлайн.

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

Как наилучшим образом соответствовать нашим данным? Чтобы наилучшим образом соответствовать нашим данным, мы должны выбрать значение теты так, чтобы разница между h (x) и y была минимальной. Чтобы вычислить это, мы определим функцию ошибок. Как вы можете видеть на нижнем правом изображении. -

  • Функция ошибки определяется разницей между h (x) - y.
  • Мы принимаем абсолютную ошибку как квадрат ошибки, потому что некоторые точки находятся выше и ниже линии.
  • Чтобы получить ошибку по всем точкам, мы использовали суммирование.
  • Усредняется, а затем делится на 2, чтобы упростить расчет. Это не повлияет на общую ошибку.

Теперь визуализируем взаимосвязь между Theta и функцией ошибок (J). Мы построим график между тета и функцией ошибки. На нижнем правом изображении показан график, на котором ось X представляет тета, а ось Y представляет функцию ошибок J (тета). Мы будем предполагать, что Theta0 будет нулевым. Это означает, что линия всегда будет проходить через исходную точку.

  • Мы предположили некоторые точки (1,1), (2,2), (3,3) и предположили, что theta0 = 0 и theta1 = 1. Мы вычислили ошибку, и, очевидно, она будет равна нулю.

  • Затем мы повторили тот же процесс со значениями 0 и 0,5 и получили ошибку 0,58, которую вы также можете видеть на изображении. Линия не подходит для данных точек.

  • Теперь, если возьмем больше значений тета, мы получим что-то вроде нарисованной от руки диаграммы (внизу справа), поскольку мы можем минимизировать тета1 = 1.

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

3D-репрезентации очень сложно изучать. Так что изучать их не будем. Мы построим их в 2D, также известном как контурные графики.

На изображениях ниже вы увидите контурные графики гипотезы. Что представляют собой эти затмения на изображении?

  • Любая точка на одном и том же затмении даст нам одно и то же значение функции ошибок J. Поскольку три точки, представленные розовым цветом на нижнем левом изображении, будут иметь одинаковое значение функции ошибок.
  • Красные точки описывают гипотезу для левого изображения: theta0 (intecept) = 800 и theta1 (slope) = -0,5, а на правом нижнем изображении theta0 (intecept) = 500 и theta1 (slope) = 0. Итак, вы можете линия, параллельная оси x.
  • На левом изображении красная точка находится далеко от центра эллипса, и линия также не подходит, но в правом случае считывание ближе к центру эллипсов, линия также лучше подходит, чем левое изображение. Таким образом, мы также можем сделать вывод, что центр эллипсов будет минимальным или оптимальным значением теты, которое лучше всего подходит для заданных точек данных.

Мы написали нашу функцию стоимости, но Как ее минимизировать? Итак, у нас есть решения проблемы

  • Градиентный спуск
  • Нормальные уравнения

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

Мы стоим на вершине холма и оглядываемся на 360 градусов. Мы хотим сделать небольшой шаг в направлении, которое приведет нас под гору. В случае наилучшего направления будет направление наискорейшего спуска. Затем мы достигаем точки, в которой выполняем те же шаги, пока не достигнем земли, как в случае с изображением ниже.

И еще кое-что. Вы уверены, что всегда будете достигать одного и того же минимума? Я могу гарантировать, что вы не уверены. В случае градиентного спуска точно не знаешь. Возьмем проблему с горами. Если вы начнете на несколько шагов справа, вполне возможно, что вы окажетесь на совершенно других минимумах, как показано на изображении ниже.

Мы обсудим математическое взаимопроникновение градиентного спуска, но давайте разберемся с некоторыми терминами и обозначениями следующим образом:

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

Вывод будет дан

Нормальные уравнения

Поскольку градиентный спуск - это итеративный процесс, нормальные уравнения помогают найти оптимальное решение за один раз. Они используют умножение матриц. Формула и обозначения поясняются на изображениях. Ниже правое изображение поясняет, какими будут наши X и Y из нашего примера. Первый столбец нашего X всегда будет равен 1, потому что он будет умножен на Theta_0, который, как мы знаем, является нашим пересечением с осью.

Вывод нормального уравнения поясняется на изображении ниже. Они используют матричные обозначения и свойства.

Это изображение объясняет

  • Матрица «тета»
  • Матрица «x»
  • гипотеза расширена
  • Используя эту матрицу, мы можем переписать гипотезу, поскольку данный последний шаг

Рисунок 16 объясняет следующее

  • Мы заменим нашу гипотезу функцией ошибки.
  • Мы предполагаем, что матрица z указана на шаге 2.
  • Функцию ошибок можно переписать как шаг 3. Итак, если вы умножите транспонирование матрицы Z на матрицу Z. мы получим наше уравнение шага 1
  • Мы можем разложить z из шага 2, как показано на шаге 4.
  • По свойству, заданному в шаге 6. Мы перепишем z, как указано в шаге 7. Заглавная буква X также известна как матрица плана, транспонированная из малого x.

  • Подставляя z в уравнение
  • Разверните уравнение ошибки, а затем возьмите производную по тета и приравняйте ее к 0.
  • Мы выберем решение. Как показано на изображении ниже

Сравнение градиентного спуска и нормальных уравнений

  • Нам нужно выбрать альфа, начальное значение тета в случае градиентного спуска, но в нормальных уравнениях нам не нужно выбирать альфа или тета.
  • Градиентный спуск - это итеративный процесс, в то время как нормальное уравнение дает вам решение сразу.
  • Вычисление нормального уравнения замедляется по мере увеличения количества функций, но градиентный спуск хорошо работает с очень большими функциями.

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

Если вы хотите связаться со мной. Не стесняйтесь связаться со мной в LinkedIn.