проектируется на гиперплоскость, определяемую вторым уравнением и т. д. Но последнем шаге этого цикла текущий вектор проектируется на первую гиперплоскость и далее описанный цикл повторяется. Рекуррентная формула имеет вид
г *и = г * + ^ (b' - k > (8)
IMI llo'll
или
Zk+1 = Zk + a>+(b' - o'zk> , (9)
где a',b' - коэффициенты i -го уравнения системы и k + 1 = i(mod s> ( s - число уравнений). Можно доказать, что для совместной системы последовательность Z0, Z1,... будет сходиться к некоторому решению этой системы и, если в качестве Z0 взять начало координат, это решение будет нормальным. Если система не совместна, то эта последовательность будет сходится к некоторому предельному циклу. В этом случае можно ввести в рекуррентную формулу множитель релаксации 0 < Xk < 1, ^Xk = то , геометрический смысл которого состоит в том, что при очередном проектировании точка немного не доходит до очередной гиперплоскости. Формула с релаксацией имеет вид
z k+i=z k+xk ат(ь'- aZ k > (ю)
k llo'll llo'll 1 1
или
Zk+1 = Zk + (a'>+Xk (b' - a'Zk>. (11)
Последовательность Z0,Z1,... с Z0 = 0 будет сходится к геометрическому нормальному псевдорешению системы (см., например, [8]).
Замечания.
1. Блочный алгоритм Качмажа. Если уравнения системы AZ = B являются, в свою очередь, системами уравнений, в которых число уравнений меньше числа неизвестных r (т. е. недоопределенными системами), то формулы (5) и (7) задают блочный алгоритм Кач-мажа, в котором происходят последовательные проектирования на подпространства решений систем aiZ = bi .
2. В задачах идентификации алгоритм Качмажа успешно заменяет (вычислительно очень затратное) псевдообращение. Кроме того, благодаря своей геометрической наглядности, во многих случаях алгоритм нетрудно модифицировать, для того чтобы учесть дополнительную информацию о структуре данных, например о кластеризации или приоритетах (см. далее п.5).
5. Жадный и рандомизированный алгоритмы Качмажа.
a) Жадный алгоритм Качмажа. Скорость сходимости алгоритма Качмажа может зависеть от порядка, в котором записаны уравнения. Пусть, например, уравнения системы задают два кластера гиперплоскостей, внутри каждого из которых гиперплоскости почти параллельны. Сходимость алгоритма Качмажа будет медленной, если кластеры записаны в системе последовательно, и быстрой, если эти кластеры перемешаны. Если вычислены углы между строками a' матрицы системы (т. е. между соответствующими гиперплоскостями), то для улучшения сходимости можно перенумеровать строки (т. е. уравнения) по следующему "жадному" правилу: первая строка сохраняется, в качестве второй берем ту из оставшихся, которая образует наибольший угол с первой, в качестве третьей ту и из оставшихся, которая образует наибольший угол со второй и т. д. К сожалению, вычисление углов требует примерно O(s2r> действий (если число неизвестных в системе равно r), в то время как алгоритм Качмажа - примерно O(sr> действий.
b) Рандомизированный и взвешенно-рандомизированный алгоритмы Качмажа. Очевидной альтернативой жадному алгоритму, не требующей вычисления углов, является рандомизация:
2117
в последовательности проектирований нужно брать уравнения системы в случайном порядке. Оценка скорости сходимости рандомизированного метода Качмажа была дана в работе Штремера и Вершинина [5]. Эта работа вызвала интересную дискуссию по поводу рандомизированного метода Качмажа - см. [6] и [7]. Дело в том, в [5] авторы предлагали рандомизацию не по равномерному распределению, а по распределению с вероятностями, пропорциональными длинам строк ||аг|| уравнений системы AZ = B . Более того, авторы настаивали, что такая взвешенная рандомизация эффективнее равномерной, и даже приводили соответствующий пример. Это утверждение вызвало критику в заметке [7]. Основное возражение авторов этой заметки состояло в том, масштабирование уравнений системы не изменяет соответствующих им гиперплоскостей и потому не влияет на последовательность приближений, которая строится по алгоритму Качмажа. Эффективность взвешенной рандомизации (по сравнению с равномерной) в примере из [5], по мнению авторов заметки [7], является просто следствием удачно подобранного примера. Ответ на [7], опубликованный в [6], был, на наш взгляд, неудовлетворительным и относился ко второстепенным моментам критики.
с) Взвешенно-рандомизированный алгоритм Качмажа и псевдорешения. Псевдорешение несовместной системы зависит от масштабирования уравнений системы (см. выше п.3) и, фактически, всегда может рассматриваться как взвешенное по отношению к базовой системе с нормированные строками матрицы A . Переход от нормированной системы к взвешенной, как уже было отмечено в п.3, может быть полезен в задаче приоритетной идентификации. Алгоритм Качмажа сходится к псевдорешению базовой системы, т. е. к геометрическому псевдорешению. Для того, чтобы получить сходимость рандомизированного алгоритма Качмажа к взвешенному псевдорешению, т. е. к псевдорешению исходной (не нормированной) системы, нужно заменить равномерную рандомизацию взвешенной (длинами строк матрицы A) рандомизацией, как это сделали авторы статьи [5]. Это наблюдение, возможно, могло бы быть оправданием для применения взвешенной рандомизации в [5], по крайней мере в том случае, когда результаты итераций по алгоритму Качмажа сравниваются с псевдорешением, полученным с помощью псевдообращения матрицы A каким-либо стандартным методом. Но в статье [5] обсуждались переопределенные совместные системы, для которых, данное наблюдение бесполезно. Поскольку ситуация существования решения у переопределенных систем очень неустойчива, то возможно, что за счет влияния шумов в примере, рассмотренном в [5], фактически решалась несовместная система и потому сравнение (псевдо)решений, полученного с помощью рандомизированного и взвешенно-рандомизированного алгоритмов Качмажа с (псевдо)решением, полученным в результате обычного псевдообращения, оказалось в пользу взвешенной рандомизации.
СПИСОК ЛИТЕРАТУРЫ
1. Блюмин С.Л., Шмырин A.M. Окрестностные системы. Липецк: ЛЭГИ, 2005.
2. Шмырин А.М., Мишачев Н.М., Косарева А.С. Кластеризация окрестностной структуры // Вестник Тамбовского университета. Серия Естественные и технические науки. Тамбов, 2016. Т. 21. Вып. 2. С. 457-462.
3. Шмырин А.М., Мишачев Н.М., Косарева А.С. Метрики на множестве узлов окрестностной структуры // Системы управления и информационные технологии. 2016. Т. 64. № 2. С. 31-35.
4. Kaczmarz S. Approximate solution of systems of linear equations // Internat. J. Control. 1993. V. 57. № 6. P. 1269-1271.
5. Strohmer T., Vershynin R. A randomized Kaczmarz algorithm with exponential convergence // Journal of Fourier Analysis and Applications. 2009. V. 15(1). P. 262-278.
6. Strohmer T., Vershynin R. Comments on the Randomized Kaczmarz Method // Journal of Fourier Analysis and Applications. 2009. V. 15(4). P. 437-440.
7. Censor Y., Herman G., Jiang M. A Note on the Behavior of the Randomized Kaczmarz Algorithm of Strohmer and Vershynin // Journal of Fourier Analysis and Applications. 2009. V. 15(4). P. 431-436.
8. Byrne C. Convergent Block-Iterative Algorithms for Image Reconstruction from Inconsistent Data. IEEE Transactions on Image Processing IP-6. 1997. P. 1296-1304.
2118
БЛАГОДАРНОСТИ: Работа выполнена при финансовой поддержке Российского фонда фундаментальных исследований (проект № 16-07-00854 а).
Поступила в редакцию 6 октября 2016 г.
Шмырин Анатолий Михайлович, Липецкий государственный технический университет, г. Липецк, Российская Федерация, доктор технических наук, профессор, зав. кафедрой высшей математики, e-mail: amsh@lipetsk.ru
Мишачев Николай Михайлович, Липецкий государственный технический университет, г. Липецк, Российская Федерация, кандидат физико-математических наук, доцент кафедры высшей математики, e-mail: nmish@lipetsk.ru
UDC 519.71
DOI: 10.20310/1810-0198-2016-21-6-2113-2120
NEIGHBORHOOD SYSTEMS AND KACZMARZ ALGORITHM
© A. M. Shmyrin, N. M. Mishachev
Lipetsk State Technical University 30 Moskovskaya St., Lipetsk, Russian Federation, 98600 E-mail: amsh@lipetsk.ru
An application of the Kaczmarz algorithm to the identification of neighborhood system, linear with respect to identified parameters, are considered.
Key words: neighborhood structure; neighborhood system; scaling; Kaczmarz algorithm; neural networks; greedy algorithm
REFERENCES
1. Blyumin S.L., SHmyrin A.M. Okrestnostnye sistemy. Lipeck: LEHGI, 2005.
2. SHmyrin A.M., Mishachyov N.M., Kosareva A.S. Klasterizaciya okrestnostnoj struktury // Vestnik Tambovskogo universiteta. Seriya Estestvennye i tekhnicheskie nauki - Tambov University Review. Series: Natural and Technical Sciences, 2016. T. 21. Vyp. 2. S. 457-462.
3. SHmyrin A.M., Mishachyov N.M., Kosareva A.S. Metriki na mnozhestve uzlov okrestnostnoj struktury // Sistemy upravleniya i informacionnye tekhnologii. 2016. T. 64. № 2. S. 31-35.
4. Kaczmarz S. Approximate solution of systems of linear equations // Internat. J. Control. 1993. V. 57. № 6. P. 1269-1271.
5. Strohmer T., Vershynin R. A randomized Kaczmarz algorithm with exponential convergence // Journal of Fourier Analysis and Applications. 2009. V. 15(1). P. 262-278.
6. Strohmer T., Vershynin R. Comments on the Randomized Kaczmarz Method // Journal of Fourier Analysis and Applications. 2009. V. 15(4). P. 437-440.
7. Censor Y., Herman G., Jiang M. A Note on the Behavior of the Randomized Kaczmarz Algorithm of Strohmer and Vershynin // Journal of Fourier Analysis and Applications. 2009. V. 15(4). P. 431-436.
8. Byrne C. Convergent Block-Iterative Algorithms for Image Reconstruction from Inconsistent Data. IEEE Transactions on Image Processing IP-6. 1997. P. 1296-1304.
2119
ACKNOWLEDGEMENTS: The work is partially supported by the Russian Fund for Basic Research (project № 16-07-00854 a).
Received 6 October 2016
Shmyrin Anatoliy Mihaylovich, Lipetsk State Technical University, Lipetsk, the Russian Federation, Doctor of Techniques, Professor, the Head of the High Mathematics Department, е-mail: amsh@lipetsk.ru
Mishachev Nikolay Mikhailovich, Lipetsk State Technical University, Lipetsk, the Russian Federation, Candidate of Physics and Mathematics, Associate Professor of the High Mathematics Department, e-mail:nmish@lipetsk.ru
Информация для цитирования:
Шмырин А.М., Мишачев Н.М. Окрестностные системы и алгоритм Качмажа // Вестник Тамбовского университета. Серия Естественные и технические науки. Тамбов, 2016. Т. 21. Вып. 6. С. 2113-2120. DOI: 10.20310/1810-0198-2016-21-62113-2120
Shmyrin A.M., Mishachev N.M. Okrestnostnye sistemy i algoritm Kachmazha [Neighborhood systems and Kaczmarz algorithm]. Vestnik Tambovskogo universiteta. Seriya Estestvennye i tekhnicheskie nauki - Tambov University Review. Series: Natural and Technical Sciences, 2016, vol. 21, no. 6, pp. 2113-2120. DOI: 10.20310/1810-0198-2016-21-6-2113-2120 (In Russian)
2120
УДК 519.7
DOI: 10.20310/1810-0198-2016-21-6-2121-2127
ИДЕНТИФИКАЦИЯ ОКРЕСТНОСТНОЙ МОДЕЛИ НЕЙРОННОЙ СЕТИ НА ОСНОВЕ ЖАДНОГО, «ПОЛУЖАДНОГО» АЛГОРИТМОВ И АЛГОРИТМА КАЧМАЖА
Рассмотрены жадный, «полужадный» алгоритмы и алгоритм Качмажа для идентификации окрестностной модели нейронной сети и приведены примеры их реализации. Ключевые слова: окрестностная модель нейронной сети; параметрическая и структурная идентификация; жадный алгоритм; «полужадный» алгоритм; алгоритм Качмажа
1. Введение
В настоящее время теория окрестностных систем является универсальным средством моделирования огромного класса дискретных распределенных систем: стационарных и динамических, четких и нечетких, с линейными и нелинейными связями. Окрестностные модели развивают общие подходы теории систем и теории управления и обобщают такие традиционные дискретные модели, как конечные и клеточные автоматы, сети Петри, разностные уравнения
Покажем, что нейронную сеть также можно представить в виде окрестностной модели. Рассмотрим несколько алгоритмов идентификации окрестностной модели нейронной сети, в частности алгоритм обратного распространения ошибки, жадный и «полужадный» алгоритмы, алгоритм Качмажа.
2. Окрестностная модель нейронной сети
Нейронную сеть [3-4] можно представить в виде окрестностной модели. Пусть нейронная сеть состоит из т слоев, в каждом ] -ом слое (] = 1, ...,т ) находится и^ нейронов. Обозначим как № - г -ый нейрон ^ -го слоя (г = 1,...,и^).
Введем следующие определения. Окрестностью нейрона гпо входному воздействию О у назовем группу нейронов предыдущего (^ — 1 )-го слоя, с которым связан данный нейрон, включая сам нейрон. Очевидно, что окрестности по входному воздействию нейронов входного слоя совпадают с самими нейронами, т. е. Оу [г(^] = г(1) , г = 1, ...,и\.
Окрестности по входному воздействию нейронов входного слоя назовем окрестностями первого уровня. Окрестности нейронов по входному воздействию, находящихся на и -ом слое (скрытом или выходном) нейронной сети, назовем окрестностями и -го уровня. Заметим, что окрестности нейронов могут пересекаться или совпадать (исключая сам нейрон).
Окрестность нейрона по состоянию совпадает с самим нейроном: Ох[г(^")\= г(1) , где ] (] = 1,...,т)-номер слоя; г (г = 1,...,и^)-номер нейрона в слое.
Рассмотрим представление нейронной сети в виде окрестностной модели:
© А. М. Шмырин, И. А. Седых, В. В. Семина
Липецкий государственный технический университет 398600, Российская Федерация, г. Липецк, ул. Московская, 30 E-mail: amsh@lipetsk.ru
и т. д. [1-2].
(1)
2121
где v[aj - входное воздействие в нейрон а j -го слоя (j = 2,...,m) нейронной сети; y[aj ] € R - выход в нейроне a j -го слоя; wv [aj-1,aj] € R - весовой коэффициент связи нейронов а j — 1 -го слоя и a j -го слоя; f : R ^ R - функция активации.
В случае линейной функции активации для нейронной сети получаем симметричную линейную окрестностную систему:
^ wv [aj-1,aj ]v[aj-1]= y[aj ] (2)
a&Ov [aj]
3. Ж^адный алгоритм идентификации окрестностной модели нейронной сети
Жадный алгоритм заключается в принятии локально оптимальных решений на каждом этапе, допуская, что конечное решение также окажется оптимальным [5].
Рассмотрим жадный алгоритм структурной и параметрической идентификации окрестностной модели нейронной сети.
1. Вычислить по формуле (1) выходы yj = y[aj] всех нейронов aj j -го слоя (i = 1,...,nj, j = 1,..., m ).
2. Вычислить квадратичные ошибки окрестностной модели нейронной сети для каждого нейрона aj по формуле: ^yj — cj , где i = 1,...,n,j = 1,...,m ; yj - выходной сигнал
нейрона aj , полученный по модели; dj - желаемый выходной сигнал.
3. Упорядочить в порядке возрастания для каждого j -го слоя все разности, полученные в пункте 2.
4. Выбрать в каждом j -ом слое kj нейронов с минимальными ошибками (kj задаются). Весовые коэффициенты связей с остальными нейронами считать равными нулю.
5. Настроить неполносвязную сеть методом обратного распространения ошибки.
6. Перейти к пункту 1.
4. «Полужадный» алгоритм идентификации окрестностной модели нейронной сети
Рассмотрим модификацию рассмотренного выше жадного алгоритма структурной и параметрической идентификации окрестностной модели нейронной сети, которую назовем полужадным алгоритмом.
1. Вычислить по формуле (1) выходы yj = y[aj ] всех нейронов aj j -го слоя (i = 1,...,nj, j = 1,..., m ).
2. Вычислить квадратичные ошибки окрестностной модели нейронной сети для каждого нейрона aj по формуле: (^yj — djj , где i = 1,...,n,j = 1,...,m ; yj - выходной сигнал
нейрона aj , полученный по модели; dj - желаемый выходной сигнал.
3. Упорядочить в порядке возрастания для каждого j -го слоя все разности, полученные в пункте 2.
4. Выбрать в каждом j -ом слое 2 нейрона с минимальными ошибками. Соответствующие им ошибки обозначить Ej и E2j соответственно.
5. Добавлять по одному нейрону в каждом слое до тех пор, пока Ej — Ej_ 1 ^ min, i = = 2,...,щ, j = 1,...,m. Весовые коэффициенты связей с остальными нейронами считать равными нулю.
6. Настроить неполносвязную сеть методом обратного распространения ошибки.
7. Перейти к пункту 1.
2122
5. Примеры идентификации на основе алгоритма обратного распространения ошибки, жадного и «полужадного» алгоритмов
Приведем пример идентификации окрестностной модели нейронной сети с применением алгоритма обратного распространения ошибки, жадного и «полужадного» алгоритмов. Сравним полученные результаты. Рассмотрим многослойную полносвязную нейронную сеть прямого распространения. Пусть исходная нейронная сеть состоит из трех слоев, включая входной и выходной, причем:
1) входной слой содержит 10 нейронов;
2) скрытый слой -10 нейронов;
3) выходной слой - 1 нейрон.
Рассмотрим обучение окрестностной модели нейронной сети nn на основе данных, равномерно распределенных на интервале [0,1]. Будем производить аппроксимацию функции вида:
f (у) = у\0 + + у! + + уч + у! + v4 + у! + у2 + ую, (з)
где уг (г = 1,..., 10 ) - входные сигналы нейронов входного слоя.
В ходе алгоритма идентификации окрестностной модели нейронной сети с использованием жадного и «полужадного» алгоритмов получен скрытый слой, состоящий из 6 нейронов. Результаты обучения представлены в табл. 1.
Таблица 1
Ошибка обучения окрестностной модели нейронной сети на шаге к (к = 50 ... 250 с шагом 50)
Шаг Алгоритм обратного распространения ошибки Жадный алгоритм «Полужадный» алгоритм
50 0.6857 0.1878 0.0705
100 0.63 0.1276 0.016
150 0.0181 0.0167 0.0043
200 0.0071 0.0071 0.001
250 0.0056 0.0266 0.0004
Таким образом, сравнивая результаты применения алгоритма обратного распространения ошибки, жадного и «полужадного» алгоритмов, можно заметить, что:
1) «полужадный» жадный алгоритм сходится быстрее, чем остальные;
2) при использовании жадного и «полужадного» алгоритмов упрощается структура сети;
3) ошибка обучения при применении полужадного алгоритма меньше, чем при использовании алгоритма обратного распространения ошибки и жадного алгоритма.
6. Примеры применения алгоритмов Качмажа и обратного распространения ошибки
Алгоритм, описанный Качмажем в 1937 г., представляет собой классический метод решения системы линейных уравнений, относительно неизвестных значений весовых коэффициентов. Обучение сети описывается итерационной последовательностью по следующему алгоритму:
1. Инициализация весовых коэффициентов Wij ;
2. Предъявление параметров обучения хг. из обучающего множества;
п
3. Выход нейронной сети уг = ^ хwij ;
.7 = 1
4. Ошибка идентификации системы Айг = йг — уг, где йг - желаемый выход нейрона г;
2123
5. Вычисление весовых коэффициентов по формуле:
AdiXi
Wij = Wij + пг 4 . (4)
Е ^ii j=i J
E x2
Приведем пример параметрической идентификации окрестностной модели нейронной сети с помощью алгоритмов Качмажа и обратного распространения ошибки [7]. Рассмотрим многослойную полносвязную нейронную сеть прямого распространения, состоящую из трех слоев, включая входной и выходной, причем:
1) входной слой содержит 3 нейрона;
2) скрытый слой -3 нейрона;
3) выходной слой - 1 нейрон.
Рассмотрим обучение окрестностной модели нейронной сети на основе данных, равномерно распределенных на интервале [0,1] и случайно искаженных шумом. Будем производить аппроксимацию линейной функции вида:
f (у) = су + в2У2 + с3у3, (5)
где Уi (г = 1, 2, 3 ) - входные сигналы нейронов входного слоя; с - заданные константы.
Сравним результаты обучения окрестностной модели нейронной сети, полученные с помощью алгоритма Качмажа и алгоритма обратного распространения ошибки. Результаты для обучения за 150 шагов представлены на рис. 1-2.
0,15 0,14 0,13 0,12 0,11 0,1 0,09 0,08 0,07 0,06 0,05 0,04 0,03
О 10 20 30 40 50 60 70 ВО 90 100 110 120 130 140
Рис. 1. График ошибки обучения окрестностной модели нейронной сети по алгоритму обратного распространения ошибки в зависимости от шага
0,5 0,45 0,4 0,35 0,3 0,25 0,2 0,15 0,1 0,05 0
0 10 20 30 40 50 60 70 80 90 100 110 120 130 140
Рис. 2. График ошибки обучения окрестностной модели нейронной сети по алгоритму
Качмажа в зависимости от шага
2124