Многопараметрическая линейная регрессия

3.1. Краткие теоретические сведения

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

Используем следующие обозначения мультипараметрической линейной регрессии:

п - количество признаков Xj; т - количество обучающих примеров; у - вектор выходных значений;

9 - вектор параметров;

i - номер обучающего примера (/ el,...,m);

j - номер признака/свойства/фактора (j е 1,...,«);

лг<0 - вектор значений признаков /-го обучающего примера;

Xj - значение j-го признака в г-м обучающем примере; у(,) - выходное значение /-го обучающего примера;

Xq° - дополнительный «нулевой» признак, равный единице; h0(x) - функция гипотезы;

J(9) - функция стоимости;

X - матрица транспонированных векторов признаков хи); jUj - среднее значение признака ;

Sj-разность макс, и мин. значения или стандартное отклонение признака х}; а - скорость обучения.

Теперь, когда у нас есть множество признаков Xj , запишем новую формулу функции гипотезы для одного обучающего примера:

Представим множество признаков в виде вектора признаков х (3.2) и множество параметров 9 в виде вектора параметров 9 (3.3).

зз

Перепишем формулу функции гипотезы в более компактном виде, а именно в матричном или векторизованном виде:

Также формулу функции гипотезы можно представить и в таком виде:

Матрица транспонированных векторов признаков х0) выглядит следующим образом:

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

Формула функции стоимости в векторном виде приведена ниже:

3.2. Метод градиентного спуска

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

В таблице 3.1 приведены алгоритмы работы метода градиентного спуска при различных значениях п.

Таблица 3.1 - Алгоритмы метода градиентного спуска

при п = 1

при п> 1

повторять, пока алгоритм не сойдется:

повторять, пока алгоритм не сойдется:

}

Примечание: значения параметров 90 и вх обновляются одновременно.

Примечание: значения параметров 9}, обновляются одновременно.

Примеры:

Приведенные в таблице 3.2 формулы обновления вектора параметров 9 можно КОМПАКТНО записать в матричной форме

3.3. Способы повышения эффективности работы градиентного спуска

Масштабирование признаков заключается в том, чтобы все признаки имели одинаковый масштаб, т.е. принимали значения из одного диапазона, например [-1,1].

Для масштабирования значений j-то признака в г-м обучающем примере используется формула:

где i = 1, 2, т; j = 1, 2, n.

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

Таблица 3.2 - Допустимые и недопустимые значения границ признака хр*

Допустимые границы ху

Недопустимые границы ху

[0, 3]; [-3, 3]; [-2, 0.5]; [-0.33, 0.33]

-100, 100]; [-0.0001, 0.0001];

Нормировка на среднее заключается в замене признака на выражение:

1 т

где /л]=—sj=max(xp,...,x('n))-mm(xp,...,xp)).

т i=i

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

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

Задача градиентного спуска - найти такое значение вектора 9, которое в идеале минимизирует значение J(0) . Для проверки корректности работы метода градиентного спуска полезно нарисовать график изменения функции стоимости с ростом количества итераций. В идеале должен получиться график следующего вида:

Зависимость значения функции стоимости J(9) от номера итерации i

Рисунок 3.1 - Зависимость значения функции стоимости J(9) от номера итерации i

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

Условия проверки выбора скорости обучения а :

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

Для выбора скорости обучения следует попробовать разные значения а из

диапазона [•••, 0.001, ..., 0.01,... , 0.1, ..., 1,...] и выбрать одно.

3.5. Полиномиальная регрессия

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

Пусть имеются данные о ценах на жилье, как на рисунке 3.2.

Зависимость цены на жилье (у) от его размера (jc)

Рисунок 3.2 - Зависимость цены на жилье (у) от его размера (jc)

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

Результат этой аппроксимации приведен на рисунке 3.3.

Зависимость цены на жилье у от его размера х с аппроксимацией

Рисунок 3.3 - Зависимость цены на жилье у от его размера х с аппроксимацией

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

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