Нелинейная регрессия

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
(Новая: '''Нелинейная регрессия''' - частный случай регрессионного анализа, в которо...)
(Постановка задачи)
Строка 15: Строка 15:
<center><tex>\frac{\partial S}{\partial w_j}=2\sum_i r_i\frac{\partial r_i}{\partial w_j}=0 \ (j=1,\ldots,n). (*)</tex></center>
<center><tex>\frac{\partial S}{\partial w_j}=2\sum_i r_i\frac{\partial r_i}{\partial w_j}=0 \ (j=1,\ldots,n). (*)</tex></center>
-
Так как функция&nbsp;<tex>S</tex> в общем случае не имеет единственного минимума<ref name="">Демиденко, Е. З. Оптимизация и регрессия. М.: Наука. 1989. 296 с.</ref>, то&nbsp;предлагается назначить начальное
+
Так как функция&nbsp;<tex>S</tex> в общем случае не имеет единственного минимума<ref name="one">Демиденко, Е. З. Оптимизация и регрессия. М.: Наука. 1989. 296 с.</ref>, то&nbsp;предлагается назначить начальное
значение вектора параметров&nbsp;<tex>w_0</tex> и&nbsp;приближаться к&nbsp;оптимальному вектору по&nbsp;шагам:
значение вектора параметров&nbsp;<tex>w_0</tex> и&nbsp;приближаться к&nbsp;оптимальному вектору по&nbsp;шагам:
<center><tex>w_j \approx w_j^{k+1} =w^k_j+\Delta w_j.</tex></center>
<center><tex>w_j \approx w_j^{k+1} =w^k_j+\Delta w_j.</tex></center>
Строка 31: Строка 31:
Подставляя последнее выражение в выражение (*), получаем
Подставляя последнее выражение в выражение (*), получаем
<center><tex>-2\sum_{i=1}^{m}J_{ij} \left( \Delta y_i-\sum_{s=1}^{n} J_{is}\Delta w_s \right)=0.</tex></center>
<center><tex>-2\sum_{i=1}^{m}J_{ij} \left( \Delta y_i-\sum_{s=1}^{n} J_{is}\Delta w_s \right)=0.</tex></center>
-
Преобразуя, получаем систему из&nbsp;<tex>n</tex> линейных уравнений, которые называются [[метод наименьших квадратов|нормальным уравнением}
+
Преобразуя, получаем систему из&nbsp;<tex>n</tex> линейных уравнений, которые называются [[метод наименьших квадратов|нормальным уравнением]]
<center><tex>\sum_{i=1}^{m}\sum_{s=1}^{n} J_{ij}J_{is}\Delta w_s=\sum_{i=1}^{m} J_{ij}\Delta y_i (j=1,n).</tex></center>
<center><tex>\sum_{i=1}^{m}\sum_{s=1}^{n} J_{ij}J_{is}\Delta w_s=\sum_{i=1}^{m} J_{ij}\Delta y_i (j=1,n).</tex></center>
Строка 42: Строка 42:
<center><tex>\mathbf{\left(J^TWJ\right)\Delta \mathbf{w}=J^TW\Delta y}.</tex></center>
<center><tex>\mathbf{\left(J^TWJ\right)\Delta \mathbf{w}=J^TW\Delta y}.</tex></center>
-
Для нахождения оптимальных параметров используются
+
Для нахождения оптимальных параметров нелинейных регрессионных моделей используются
[[метод сопряженных градиентов|метод сопряженных градиентов]],
[[метод сопряженных градиентов|метод сопряженных градиентов]],
[[алгоритм Гаусса-Ньютона|алгоритм Гаусса-Ньютона]] или
[[алгоритм Гаусса-Ньютона|алгоритм Гаусса-Ньютона]] или

Версия 16:43, 3 ноября 2008

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

Постановка задачи

Задана выборка из m пар (\mathbf{x}_i,y_i). Задана регрессионная модель f(\mathbf{w},\mathbf{x}), которая зависит от параметров \mathbf{w}=(w_1,...,w_W) и свободной переменной x. Требуется найти такие значения параметров, которые доставляли бы минимум сумме квадратов регрессионных остатков

S=\sum_{i=1}^mr_i,

где остатки r_i=y_i-f(\mathbf{w},\mathbf{x}_i) для i=1,\ldots,m.

Для нахождения минимума функции S, приравняем к нулю её первые частные производные параметрам \mathbf{w}:

\frac{\partial S}{\partial w_j}=2\sum_i r_i\frac{\partial r_i}{\partial w_j}=0 \ (j=1,\ldots,n). (*)

Так как функция S в общем случае не имеет единственного минимума[1], то предлагается назначить начальное значение вектора параметров w_0 и приближаться к оптимальному вектору по шагам:

w_j \approx w_j^{k+1} =w^k_j+\Delta w_j.

Здесь k - номер итерации, \Delta w_j - вектор шага.

На каждом шаге итерации линеаризуем модель с помощью приближения рядом Тейлора относительно параметров \mathbf{w}^k

f(x_i,\mathbf{w})\approx f(x_i,\mathbf{w}^k) +\sum_j \frac{\partial f(x_i,\mathbf{w}^k)}{\partial w_j} \left(w_j -w^{k}_j \right) \approx f(x_i,\mathbf{w}^k) +\sum_j J_{ij} \Delta w_j.

Здесь элемент матрицы Якоби J_{ij} - функция параметра w_j; значение свободной переменной \mathbf{x}_i фиксировано. В терминах линеаризованной модели

\frac{\partial r_i}{\partial w_j}=-J_{ij}

и регрессионные остатки определены как

r_i=\Delta y_i- \sum_{j=1}^{n} J_{ij}\Delta w_j; \ \Delta y_i=y_i- f(x_i,\mathbf{w}^k).

Подставляя последнее выражение в выражение (*), получаем

-2\sum_{i=1}^{m}J_{ij} \left( \Delta y_i-\sum_{s=1}^{n} J_{is}\Delta w_s \right)=0.

Преобразуя, получаем систему из n линейных уравнений, которые называются нормальным уравнением

\sum_{i=1}^{m}\sum_{s=1}^{n} J_{ij}J_{is}\Delta w_s=\sum_{i=1}^{m} J_{ij}\Delta y_i (j=1,n).

Запишем нормальное уравнение в матричном обозначении как

\mathbf{\left(J^TJ\right)\Delta \mathbf{w}=J^T\Delta y}.

В том случае, когда критерий оптимальности регрессионой модели задан как взвешенная сумма квадратов остатков

S=\sum_{i=1}^{m}W_{ii}r_i^2,

нормальное уравнение будет иметь вид

\mathbf{\left(J^TWJ\right)\Delta \mathbf{w}=J^TW\Delta y}.

Для нахождения оптимальных параметров нелинейных регрессионных моделей используются метод сопряженных градиентов, алгоритм Гаусса-Ньютона или алгоритм Левенберга-Марквардта.

Литература

  • Демиденко, Е. З. Оптимизация и регрессия. М.: Наука. 1989. 296 с.

Смотри также

Личные инструменты