Основы машинного обучения — многомерная линейная регрессия

машинное обучение

Многомерная линейная регрессия

Linear Regression with Multiple Variables

многомерные функции

Несколько переменных могут означать несколько признаков. Теперь мы добавим в модель цен на жилье больше признаков, таких как количество комнат и этажей, чтобы сформировать модель с несколькими переменными.(x1,x2,...xn)(x_1,x_2,...x_n)

После добавления дополнительных функций мы вводим новый набор аннотаций:

  • n представляет количество функций
  • x(i)x^{(i)}представляет i-й обучающий экземпляр, является i-й строкой в ​​матрице признаков ивектор(vector), В качестве второго обучающего экземпляра
x(2)=[14163240]x^{(2)}=\begin{bmatrix} 1416\\3\\2\\40 \end{bmatrix}
  • xj(i)x^{(i)}_jПредставляет собой J-Th функцию I-Th ряд в матрице объектов, то есть J-Th-особенностью I-го экземпляра тренировки.

В линейной функции многомерность означает, что в функции есть несколько x., гипотеза h, поддерживающая многомерность, выражается как:hθ(x)=θ0+θ1x1+θ2x2++θnxnh_\theta(x)=\theta_0+\theta_1x_1+\theta_2x_2+\ldots+\theta_nx_n

Параметров в этой формуле n+1, переменных n. Для упрощения формулы введемx0=1x_0=1, Тогда формула в:

hθ(x)=θ0x0+θ1x1+θ2x2++θnxnh_\theta(x)=\theta_0x_0+\theta_1x_1+\theta_2x_2+\ldots+\theta_nx_n

В настоящее время параметр в модели представляет собой n + 1-мерный вектор, любой обучающий экземпляр также является n + 1-мерным вектором, а размерность матрицы признаков X равнаm*(n+1)m*(n+1). Таким образом, формулу можно упростить до:hθ(x)=θTXh_\theta(x)=\theta^TX, где верхний индекс T означает транспонирование матрицы, а m — количество экземпляров.

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

Подобно одномерной линейной регрессии, в многомерной линейной регрессии мы также строим функцию стоимости, которая представляет собой сумму квадратов всех ошибок моделирования, а именно:image.png

в:hθ(x)=θ0+θ1x1+θ2x2++θnxnh_\theta(x)=\theta_0+\theta_1x_1+\theta_2x_2+\ldots+\theta_nx_n

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

image.png

Точно так же каждый параметр θ выводится один раз, а затем сходится, а значение θ непрерывно оптимизируется.

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

Масштабирование функций

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

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

Решение состоит в том, чтобы попытаться максимально масштабировать все функции от -1 до 1 (особенность данных).

Самый простой способ сделать:xn=xnμnsnx_n=\frac {x_n-\mu_n}{s_n}μn\mu_nсредний,sns_nявляется стандартным отклонением.

скорость обучения

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

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

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

Обычно рекомендуется попробовать некоторые скорости обучения: 0,01, 0,03, 0,1, 0,3, 1, 3, 10...

Собственный и полиномиальная регрессия

Например, задача прогнозирования цен на жилье.

image.png

источник контента

[1] Стэнфордский курс машинного обучения, 2014 г. Ng Enda.

[2].Стэнфордский университет 2014 Курс машинного обучения Каталог китайских заметок

[3].Coursera-ML-AndrewNg-Notes