Опубликован: 01.03.2007 | Доступ: свободный | Студентов: 1589 / 211 | Оценка: 4.58 / 4.39 | Длительность: 20:15:00
Специальности: Программист
Лекция 2:

Решение задач нейронными сетями

Приведем это решение в традиционных обозначениях математической статистики. Обозначим Mо среднее значение jкоординаты векторов исходной выборки:

M_j = \frac{1}{m}\sum\limits_{i = 1}^m {x_j^i} 
.

Пусть M - вектор с координатами Mо. Введем также обозначение sj для выборочного среднеквадратичного отклонения:

s_j = \sqrt {\frac{1}{m}\sum\limits_{i = 1}^m {(x_j^i} - M_j )^2}

Величины sj задают естественный масштаб для измерения j -х координат векторов x. Кроме того, нам потребуются величина sf и коэффициенты корреляции f с j -ми координатами векторов x - rfj:

s_f = \sqrt {\frac{1}{m}\sum\limits_{i = 1}^m {(f_i - M_f )^2}}{\rm{,}}M_f = \frac{1}{m}\sum\limits_{i = 1}^m {f_i} ,{\rm{ }}r_{fj} = \frac{{\frac{1}{m}\sum\limits_{i = 1}^m {(f_i - M_f )(x_j^i - M_j )}}}{{s_f s_j}}.

Вернемся к n -мерным векторам данных и коэффициентов. Представим, что векторы сигналов проходят предобработку - центрирование и нормировку и далее мы имеем дело с векторами yi:

y_j^i = \frac{{x_j^i - M_j}}{{s_j}}.

Это, в частности, означает, что все рассматриваемые координаты вектора x имеют ненулевую дисперсию, т.е. постоянные координаты исключаются из рассмотрения - они не несут полезной информации. Уравнения регрессии будем искать в форме: \varphi {\rm{(y) = (}}\beta {\rm{,y) +}}\beta_0. Получим:

\beta_0 {\rm{= M}}_{\rm{f}}{\rm{,}}\beta {\rm{=}}s_{\rm{f}}{\rm{R}}^{-1}{\rm{R}}_{\rm{f}}, ( 3)

где Rf - вектор коэффициентов корреляции f с j -ми координатами векторов x, имеющий координаты rfj, R - матрица коэффициентов корреляции между координатами вектора данных:

r_{kj} = \frac{{\frac{1}{m}\sum\limits_{i = 1}^m {(x_k^i - M_k )(x_j^i - M_j )}}}{{s_k s_j}} = \frac{1}{m}\sum\limits_{i = 1}^m {y_k^i y_j^i } 
.

В задачах обработки данных почти всегда возникает вопрос о последовательном уточнении результатов по мере поступления новых данных ( обработка данных "на лету" ). Существует, как минимум, два подхода к ответу на этот вопрос для задачи линейной регрессии. Первый подход состоит в том, что изменения в коэффициентах регрессии при поступлении новых данных рассматриваются как малые и в их вычислении ограничиваются первыми порядками теории возмущений. При втором подходе для каждого нового вектора данных делается шаг изменений коэффициентов, уменьшающий ошибку регрессии \Delta ^{2} на вновь поступившем векторе данных. При этом "предыдущий опыт" фиксируется только в текущих коэффициентах регрессии.

В рамках первого подхода рассмотрим, как будет изменяться \alpha из формулы (2) при добавлении нового вектора данных. В первом порядке теории возмущений найдем изменение вектора коэффициента \alpha при изменении вектора p и матрицы Q:

\begin{array}{l}
 \alpha + \Delta \alpha = (Q + \Delta Q)^{-1} (p + \Delta p); \\ 
 (Q + \Delta Q)^{-1} = (Q(1 + Q^{-1} \Delta Q))^{-1} = Q^{-1} - Q^{-1} \Delta QQ^{-1} + o(\Delta Q); \\ 
 \Delta \alpha \cong Q^{-1} (\Delta p - \Delta Q\alpha ). \\ 
 \end{array}

Пусть на выборке \{x^i \}_{i = 1}^m вычислены p, Q, Q-1. При получении нового вектора данных xm +1 и соответствующего значения F(xm +1)=f m +1 имеем 1Напомним, что для векторов x, y матрица {\rm{x}} \otimes {\rm{y}}^{\rm{T}} имеет своими элементами {\rm{x}}_{\rm{j}}{\rm{y}}_{\rm{k}} . :

\Delta p = {\textstyle{1 \over {m + 1}}}(f_{m + 1} x^{m + 1} - p);
\Delta q_{jk} = {\textstyle{1 \over {m + 1}}}(x_j^{m + 1} x_k^{m + 1} - q_{jk} ){\rm{( T.e. }} \Delta Q = {\textstyle{1 \over {m + 1}}}(x^{m + 1} \otimes (x^{m + 1} )^{\rm T} ){\rm{)}};
\Delta (Q^{-1} ) = {\textstyle{1 \over {m + 1}}}(Q^{-1} - (Q^{-1} x^{m + 1} ) \otimes (Q^{-1} x^{m + 1} )^{\rm T} ); ( 4)
\Delta \alpha = {\textstyle{1 \over {m + 1}}}\Delta_{m + 1}^0 Q^{-1} x^{m + 1} ,

где \Delta_{m + 1}^0 = f_{m + 1} - (\alpha ,x^{m + 1} ) - ошибка на векторе данных xm +1 регрессионной зависимости, полученной на основании выборки \{x^i \}_{i = 1}^m.

Пересчитывая по приведенным формулам p, Q, Q-1 и \alpha после каждого получения данных, получаем процесс, в котором последовательно уточняются уравнения линейной регрессии. И требуемый объем памяти, и количество операций имеют порядок n2 - из-за необходимости накапливать и модифицировать матрицу Q-1. Конечно, это меньше, чем потребуется на обычное обращение матрицы Q на каждом шаге, однако следующий простой алгоритм еще экономнее. Он вовсе не обращается к матрицам Q, Q-1 и основан на уменьшении на каждом шаге величины (\Delta_{m + 1}^0 )^2 = (f_{m + 1} - (\alpha ,x^{m + 1} ))^2 - квадрата ошибки на векторе данных xm +1 регрессионной зависимости, полученной на основании выборки \{x^i \}_{i = 1}^m.

Вновь обратимся к формуле (2) и будем рассматривать n +1 -мерные векторы данных и коэффициентов. Обозначим x = x^{m + 1} ;{\rm{ }}\Delta = \Delta_{m + 1}^0 = f_{m + 1} - (\alpha ,x^{m + 1} ). Тогда

grad_\alpha \Delta = - \Delta \times x ( 5)

Последняя элементарная формула столь важна в теории адаптивных сумматоров, что носит "именное название" - формула Уидроу. "Обучение" адаптивного сумматора методом наискорейшего спуска состоит в изменении вектора коэффициентов \alpha в направлении антиградиента \Delta ^{2}: на каждом шаге к \alpha добавляется {\rm{h}} \times \Delta \times {\rm{x}}, где h - величина шага.

Если при каждом поступлении нового вектора данных x изменять \alpha указанным образом, то получим последовательную процедуру построения линейной аппроксимации функции F(x). Такой алгоритм обучения легко реализуется аппаратными средствами (изменение веса связи \alpha_j есть произведение прошедшего по ней сигнала xj на ошибку \Delta и на величину шага). Возникает, однако, проблема сходимости: если h слишком мало, то сходимость будет медленной, если же слишком велико, то произойдет потеря устойчивости и сходимости не будет вовсе. Детальному изложению этого подхода и его приложений посвящен учебник [2.15].