Линейная регрессия с одной переменной

2.1. Описание модели

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

Задача алгоритма — создать функцию, которая обычно обозначается строчной h, от слова hypothesis — гипотеза. Гипотеза — функция, которая получает в качестве переменной значение признака, например, размер дома, и пытается предсказать для него целевое значение, например, стоимость дома. В итоге гипотеза будет предсказывать стоимость дома, исходя из его размера X и основываясь на данных о стоимости домов с соответствующими размерами. Следующий шаг в разработке алгоритма обучения — решить, какого вида функцию-гипотезу h мы будем искать.

Предположим, что у вашей риэлтерской фирмы есть данные о ценах на недвижимость в городе N. Ваш друг собирается продать дом размером 120 квадратных метров и спрашивает у вас, сколько он сможет за него выручить. Чтобы ответить на такой вопрос, можно построить модель, которая будет приближенно описывать данные прямой линией, как показано на рисунке 2.1. Тогда можно будет ответить, что за дом размером 120 квадратных метров будет целесообразно выставлять цену равную 270 тыс. рублей.

Графическая интерпретация линейной регрессии Гипотеза будет представлена следующим образом

Рисунок 2.1 - Графическая интерпретация линейной регрессии Гипотеза будет представлена следующим образом:

Такая модель представления гипотезы называется линейной регрессией. В данном случае, одномерной линейной регрессией (с одним признаком X).

На рисунке 2.2 представлена обобщенная модель машинного обучения.

Общая модель работы обучающих алгоритмов

Рисунок 2.2 - Общая модель работы обучающих алгоритмов

В таблице 2.1 представлен пример обучающего набора.

Таблица 2.1 - Сведения о ценах на недвижимость в зависимости от размера жилья

X

У

2104

460

1416

232

1534

315

852

178

Используемые обозначения:

т - количество обучающих примеров, в таблице 2.1 т = 4;

X - входные переменные / признаки; у - выходные переменные / целевые переменные;

(х^ у®) - i-й обучающий пример, например = (2104,460);

в - параметр модели.

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

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

Далее определим понятие функции стоимости (затрат). Выбирая различные значения параметров в0 и 9г , мы будем получать различные функции-гипотезы. Наша цель— найти такие значения параметров в0 и 0l5

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

Формула функции стоимости выглядит следующим образом:

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

В задаче линейной регрессии решается задача оптимизации. То есть, изменяя параметры в0 и в1, мы будем минимизировать разницу между h(x)и у. Для этого используем метод наименьших квадратов (минимизируем сумму квадратов разности между значениями функции-гипотезы и фактической ценой дома). В данном случае мы используем линейную регрессию, и функция гипотезы отражена прямой, поэтому при изменении в0 и вх будет меняться расположение прямой на графике. На рисунке 2.3 показано положение прямой при параметрах равных соответственно 850 и -0.1, что выглядит как не самый удачный выбор параметров.

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

На рисунке 2.4 приведены графики, отображающие более удачный выбор параметров модели - 0о = 1ООи01 = О.12. При таком выборе параметров модели прямая гипотезы хорошо аппроксимирует обучающий набор и может давать реалистичные предсказания для новых примеров.

Графики гипотезы и линий уровня функции стоимости при неудачно выбранных параметрах модели

Рисунок 2.3 - Графики гипотезы и линий уровня функции стоимости при неудачно выбранных параметрах модели

Г рафики гипотезы и контурных линий функции стоимости при удачно выбранных параметрах модели

Рисунок 2.4 - Г рафики гипотезы и контурных линий функции стоимости при удачно выбранных параметрах модели

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

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

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

Алгоритм градиентного спуска:

Правильное обновление параметров приведено в формулах (2.4) и (2.5).

Как известно из курса математического анализа, геометрическое определение производной заключается в том, что производная от функции в точке является касательной к функции в это точке, а знак этой производной отражается углом наклона касательной. На рисунке 2.5 изображена функция стоимости, для линейной регрессии, причем в0 = 0.

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

Выберем в качестве начального параметра 0 = 1. Тогда функция алгоритма градиентного спуска примет вид (2.5).

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

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

Графики функции стоимости (парабола) и производной

Рисунок 2.5 - Графики функции стоимости (парабола) и производной

в точке (прямая)

Значение функции / (0) должно убывать на каждой итерации алгоритма. Параметр (X - скорость обучения градиентного спуска сильно влияет как на сходимость алгоритма, так и на скорость его сходимости.

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

Градиентный спуск Рисунок 2.7 - Градиентный спуск при небольшой скорости обучения при большой скорости обучения

Рисунок 2.6 - Градиентный спуск Рисунок 2.7 - Градиентный спуск при небольшой скорости обучения при большой скорости обучения

  • • Если а слишком большая, как показано на рисунке 2.7,/(0) будет увеличиваться на каждой итерации и сходимости не будет.
  • • Если а достаточно маленькая, /(0) будет уменьшаться на каждой итерации и после определенной итерации более или менее сойдется.

Основные расчетные формулы сведены в таблицу 2.2.

Таблица 2.2 - Основные расчетные формулы

Алгоритм градиентного спуска

Модель линейной регрессии

В случае линейной регрессии, когда мы хотим минимизировать функцию стоимости в зависимости от двух параметров модели 90 =? 0 , алгоритм градиентного спуска будет выглядеть, как показано на рисунке 2.8.

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

Рисунок 2.8 - Градиентный спуск в модели линейной регрессии

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ   След >