Жуткий дом? Хотите продать его? Ну, линейная регрессия может помочь вам избавиться от вашего дома

У вас есть дом, и теперь вы хотите его продать, потому что узнали, что в вашем доме происходят паранормальные явления.

Теперь вы хотите установить подходящую цену за свой дом, чтобы не столкнуться с какими-либо потерями.

Вы умны, поэтому вы наносите цены на все дома (в вашем районе), которые были проданы, по отношению к квадратным футам дома.

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

Вы смотрите на данные и решаете подобрать линию, проходящую через данные. Конечно, эта линия может быть представлена

f(x)=W0+W1*x
Where f(x) is the estimated price
W0: intercept
W1: slope of the line

Хорошо, так как теперь вы придумали линию, как вы можете быть уверены, что она лучше всего подходит. Должна быть метрика, чтобы измерить это, верно? Ну есть такой показатель. Это называется RSS или Остаточная сумма квадратов.

The RSS will be :
RSS=
(p1-f(x1))^2+ (p2-f(x2))^2+......
Where 
x1,x2: Sq.ft of house
p1,p2: Actual house price 
f(x): Predicted house price

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

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

Градиентный спуск ищет по всем возможным значениям W0, W1 и находит то, при котором RSS минимален.

Разве это не здорово?

Градиентному спуску есть что исследовать, смотрите это видео для более подробной информации.

Ты был счастлив и полон гордости. Вы узнали о RSS, использовали градиентный спуск и нашли наиболее подходящую линию.

Но твой сосед наблюдал, как ты делаешь все эти вещи за твоей спиной.

Он говорит, что, по его мнению, для этой задачи лучше подошла бы квадратичная функция.

И вдруг вам приходит в голову, что квадратичная функция на самом деле лучше подходит для заданных данных.

Теперь у вас возникнет вопрос, как узнать порядок/сложность вашей регрессионной модели. Как определить, является ли это линейной, квадратичной или кубической функцией?

Как это узнать?

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

Очень сложная модель будет соответствовать данным и учитывать все локальные тенденции. Но в этом процессе он не может обобщить общую тенденцию.

С увеличением сложности модели ошибка теста до определенного момента уменьшается, а затем начинает расти.

Может возникнуть вопрос: как мне выбрать, какие функции включить, чтобы моя модель работала лучше и не попадала в ловушки переобучения? Придержите этот вопрос №1.

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

Вогнутость: (Думайте об этом, как о пещере) — линия, соединяющая любые две точки на кривой, всегда остается ниже кривой.

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

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

Продолжение следует…