Решение задач нейронными сетями
Устройство, способное находить точку условного минимума многочлена второго порядка при условиях вида для
позволяет решать важную задачу - заполнять пробелы в данных (и, в частности, строить линейную регрессию).
Предположим, что получаемые в ходе испытаний векторы данных подчиняются многомерному нормальному распределению:
![\rho (x) = Ce^{- \frac{1}{2}((x - {\bf{M}}x),Q(x - {\bf{M}}x))},](/sites/default/files/tex_cache/b490f803491b74c65dbd9ba3661c0b91.png)
где Mx - вектор математических ожиданий координат, ,
- ковариационная матрица, n - размерность пространства данных,
![C = \frac{1}{{(2\pi )^{n/2} \sqrt {\det \Sigma}}}
.](/sites/default/files/tex_cache/20acbd49fc77a58ef1cec46b2d6f4d05.png)
Напомним определение матрицы :
,
где M - символ математического ожидания, нижний индекс соответствует номеру координаты.
В частности, простейшая оценка ковариационной матрицы по выборке дает:
![S = \frac{1}{m}\sum\limits_j {(x^j - {\bf{M}}x)} \otimes ({\bf{M}}x^j - {\bf{M}}x)^{\rm T},](/sites/default/files/tex_cache/d9337418816f310375e9b1555e9f0756.png)
где m - число элементов в выборке, верхний индекс j - номер вектора данных в выборке, верхний индекс Т означает транспонирование, а - произведение вектора-столбца на вектор-строку (тензорное произведение).
Пусть у вектора данных x известно несколько координат: для
. Наиболее вероятные значения неизвестных координат должны доставлять условный максимум показателю нормального распределения - многочлену второго порядка
(при условии
для
). Эти же значения будут условными математическими ожиданиями неизвестных координат при заданных условиях.
Таким образом, чтобы построить сеть, заполняющую пробелы в данных, достаточно сконструировать сеть для поиска точек условного минимума многочлена
![((x - {\bf{M}}x),Q(x - {\bf{M}}x))](/sites/default/files/tex_cache/f07b7f3a3b7f27b5c764a22851a2333e.png)
при условиях следующего вида: для
. Матрица связей Q выбирается из условия
, где
- ковариационная матрица (ее оценка по выборке).
На первый взгляд, пошаговое накопление по мере поступления данных требует слишком много операций - получив новый вектор данных требуется пересчитать оценку
а потом вычислить
. Можно поступать и по-другому, воспользовавшись формулой приближенного обрашения матриц первого порядка точности:
![(\Sigma + \varepsilon \Delta )^{-1} = \Sigma^{-1} - \varepsilon \Sigma^{-1} \Delta \Sigma^{-1} + o(\varepsilon ).](/sites/default/files/tex_cache/5564e32795fcf5eff7b069e9cd8b679e.png)
Если же добавка имеет вид
, то
![]() |
( 10) |
Заметим, что решение задачи (точка условного минимума многочлена) не меняется при умножении Q на число. Поэтому полагаем:
![Q_0 = 1,{\rm{ }}Q_{k + 1} = Q_k + \varepsilon (Q_k (x^{k + 1} - ({\bf{M}}x)^{k + 1} )) \otimes (Q_k (x^{k + 1} - ({\bf{M}}x)^{k + 1} ))^{\rm T} ,](/sites/default/files/tex_cache/3eb35e42d48a072ec6af80076d8adc1f.png)
где 1 - единичная матрица, - достаточно малое число,
- k +1 -й вектор данных,
- среднее значение вектора данных, уточненное с учетом
:
![({\bf{M}}x)^{k + 1}
=
\frac{1}{{k + 1}}(k({\bf{M}}x)^k + x^{k + 1} )](/sites/default/files/tex_cache/f4f41f98cbcd8adc70d5a3cf5dc27708.png)
В формуле для пошагового накопления матрицы Q ее изменение при появлении новых данных получается с помощью вектора
, пропущенного через сеть:
, где z=Qy. Параметр
выбирается достаточно малым для того, чтобы обеспечить положительную определенность получаемых матриц (и, по возможности, их близость к истинным значениям Q ).
Описанный процесс формирования сети можно назвать обучением. Вообще говоря, можно проводить формальное различение между формированием сети по явным формулам и по алгоритмам, не использующим явных формул для весов связей ( неявным ). Тогда термин "обучение" предполагает неявные алгоритмы, а для явных остается название "формирование". Здесь мы такого различия проводить не будем.
Если при обучении сети поступают некомплектные данные с отсутствием значений некоторых координат, то сначала эти значения восстанавливаются с помощью имеющейся сети, а потом используются в ее дальнейшем обучении.
Во всех задачах оптимизации существенную роль играет вопрос о правилах остановки: когда следует прекратить циклическое функционирование сети, остановиться и считать полученный результат ответом? Простейший выбор - остановка по малости изменений: если изменения сигналов сети за цикл меньше некоторого фиксированного малого (при использовании переменного шага
может быть его функцией), то оптимизация заканчивается.
До сих пор речь шла о минимизации положительно определенных квадратичных форм и многочленов второго порядка. Однако самое знаменитое приложение полносвязных сетей связано с увеличением значений положительно определенных квадратичных форм. Речь идет о системах ассоциативной памяти [2.4, 2.5, 2.6, 2.7, 2.9, 2.10, 2.12].
Предположим, что задано несколько эталонных векторов данных и при обработке поступившего на вход системы вектора x требуется получить на выходе ближайший к нему эталонный вектор. Мерой сходства в простейшем случае будем считать косинус угла между векторами - для векторов фиксированной длины это просто скалярное произведение. Можно ожидать, что изменение вектора x по закону
![]() |
( 11) |
где h - малый шаг, приведет к увеличению проекции x на те эталоны, скалярное произведение на которые больше.
Ограничимся рассмотрением эталонов, и ожидаемых результатов обработки с координатами . Развивая изложенную идею, приходим к дифференциальному уравнению
![]() |
( 12) |
где верхними индексами обозначаются номера векторов-эталонов, нижними - координаты векторов.
Функция H называется " энергией " сети, она минимизируется в ходе функционирования. Слагаемое вводится для того, чтобы со временем возрастала проекция вектора x на те эталоны, которые к нему ближе, слагаемое
обеспечивает стремление координат вектора x к
. Параметр
определяет соотношение между интенсивностями этих двух процессов. Целесообразно постепенно менять
со временем, начиная с малых
, и приходя в конце концов к
.
Подробнее системы ассоциативной памяти рассмотрены в
"Нейронные сети ассоциативной памяти"
. Здесь же мы ограничимся обсуждением получающихся весов связей. Матрица связей построенной сети определяется функцией , так как
вычисляется непосредственно при j -м нейроне без участия сети. Вес связи между i -м и j -м нейронами не зависит от направления связи и равен
![]() |
( 13) |
Эта простая формула имеет чрезвычайно важное значение для развития теории нейронных сетей. Вклад k -го эталона в связь между i -м и j -м нейронами ( ) равен +1, если i -я и j -я координаты этого эталона имеют одинаковый знак, и равен -1, если они имеют разный знак.
В результате возбуждение i -го нейрона передается j -му (и симметрично, от j -го к i -му), если у большинства эталонов знак i -й и j -й координат совпадают. В противном случае эти нейроны тормозят друг друга: возбуждение i -го ведет к торможению j -го, торможение i -го - к возбуждению j -го (воздействие j -го на i -й симметрично). Это правило образования ассоциативных связей (правило Хебба) сыграло огромную роль в теории нейронных сетей.