Доклад по теме сети векторного квантования lvq

Обновлено: 17.05.2024

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Королькова Елена Евгеньевна, Ламонова Наталья Сергеевна, Плисс Ирина Павловна

Рассматриваются алгоритмы обучения искусственных нейронных сетей векторного квантования (LVQ-ANN), предлагаются их модификации, позволяющие повысить быстродействие и качество обработки информации путем соответствующего выбора шага обучения и нормировки настраиваемых синаптических весов.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Королькова Елена Евгеньевна, Ламонова Наталья Сергеевна, Плисс Ирина Павловна

Нейросетевой подход к векторному квантованию коэффициентов отражения при вокодированииметодом линейного предсказания

Modified algorithms for learning vector quantization neural networks

This paper considers algorithms for learning vector quantization neural networks. The algorithms allows to increase the speed of information processing and accuracy of classification by choosing an appropriate learning rate and the synaptic weights normalization.

Очевидно, что модель ОАР при l = 2, к = 1 тождественна модели при l = 1, к = 2 .

Модель ОАР четвертого ранга для Рк і = 2 описывается уравнениями вида:

1) j = 1,2 , l = к = 1:

m4 [0,0,1] = ф4,1[1]т4 + ф4,1[2]т4 [1,1,1],

т4 [2,1,1] = Ф4,1[1]т4[1,1,1] + Ф4,1[2]т4[0,1,1];

2) j = 1,2 , l = 2, к = 1.

Таким образом, найденные общие выражения для модели ОАР произвольного ранга позволяют получить уравнения, описывающие модель ОАР четвертого ранга.

Предложенные принципы обобщения моделей линейного предсказания позволяют построить модели ОАР любого ранга, структура которых существенно не отличается от обычных моделей АР. Такой подход дал возможность избежать усложнения уравнений при построении обобщенных моделей, вызванного, в частности, многомерностью моментных функций. На примере моделей ОАР четвертого ранга продемонстрировано применение общих уравнений моделей ОАР произвольного ранга.

Дальнейшие исследования могут быть направлены на получение обобщенныхмоделей скользящего среднего, авторегрессии—скользящего среднего. Интерес представляет анализ реальных негауссовых процессов с помощью предложенныхмоделей.

Литература: 1. Адаптивные фильтры / Под ред. К.Ф.Н. Коуэна и П.М. Гранта. М.: Мир, 1988. 392 с. 2. Бокс Дж, Дженкинс Г. Анализ временных рядов: Пер. с. англ. М.: Мир, 1974. Вып.1. 406с. 3. Марпл - мл. С. Л. Цифровой спектральный анализ и его приложения. М.: Мир, 1990. 584 с. 4. Тихонов В.И. Статистическая радиотехника. М.: Радио и связь, 1982. 624 с. 5. Бриллинджер Д.Р. Временные ряды. Обработка данных и теория. М.: Мир, 1980. 536 с. 6. Ширяев А.Н. Некоторые вопросы спектральной теории старших моментов. Теория вероятности и ее применение. 1960. № 5, 3. С. 293-313. 7. Леонов В.П. Некоторые применения старших семиинвариантов в теории стационарных случайных процессов. М.: Наука, 1964. 124 с. 8. Шелухин О.И. Беляев И.В. Негауссовские процессы. СПб.: Политехника, 1992. 312 с. 9. Малахов А.Н. Кумулянтный анализ случайных негауссовых процессов и их преобразований. М.: Сов. радио, 1978. 376 с.

Поступила в редколлегию 07.04.2003

Рецензент: д-р. физ.-мат. наук, проф. Лучанинов АН.

Тихонов Вячеслав Анатольевич, канд. техн. наук, доцент кафедры РЭС ХНУРЭ. Научные интересы: ради-локация, распознование образов, статистические модели. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 702-15-87.

МОДИФИЦИРОВАННЫЕ АЛГОРИТМЫ ОБУЧЕНИЯ НЕЙРОННЫХ СЕТЕЙ ВЕКТОРНОГО КВАНТОВАНИЯ

КОРОЛЬКОВА ЕЕ, ЛАМОНОВА Н. С.,

Рассматриваются алгоритмы обучения искусственных нейронных сетей векторного квантования (LVQ-ANN), предлагаются их модификации, позволяющие повысить быстродействие и качество обработки информации путем соответствующего выбора шага обучения и нормировки настраиваемых синаптических весов.

В задачах обработки информации, связанных с ее сжатием и разбиением на компактные классы, описывающие различные состояния источника этой информации, распространены нейронные сети векторного квантования [1], так же как и широко известные самоорганизующие карты, введенные Т. Кохоненом [2]. В основе этих сетей лежит техника векторного квантования 3, нашедшая применение в задачах сжатия аудио- и видеосигналов [7]. Основная идея, лежащая в основе этой техники, состоит в компактном представлении больших массивов информации, заданной в виде n-мерных векторов х(к) (здесь к = 1,2. N — либо номер конкретного вектора в массиве, либо индекс текущего дискретного времени) в форме огра-

ничейного набора прототипов, или центроидов wj, j = 1,2. т, т Не можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Рассмотренные алгоритмы могут быть использованы как для контролируемого, так и для самообучения адаптивных систем распознавания образов [14], одна из возможных схем которых приведена на рис.2.

Рис. 2. Адаптивная гибридная схема распознавания образов

кой размерности карта Кохонена выделяет относительно малый набор признаков y(k), т.е. фактически осуществляет понижение размерности входного пространства без существенной потери информации. На втором этапе сеть векторного квантования обучается классификации поступающих образов y(k) с помощью внешнего обучающего сигнала. При этом обе сети могут обучаться с помощью одного и того же алгоритма (4), (5) или (8), из которых самоорганизующаяся карта использует только первое и последнее соотношения. Регулированием параметра а соотношения (7) можно добиться желаемого характера процесса настройки синаптических весов. Такая организация позволяет увеличить его быстродействие и надежность.

Литература: 1. Kohonen T. Self-Organizing Maps. Berlin: Springer-Verlag, 1995. 362p. 2. Kohonen T. Improved version of learning vector quantization//Proc.Int. Joint. Conf. on Neural Networks — San Diego, CA, 1990. 1. P.545-550. 3. Linde Y., Buzo A, Gray R.M. An algorithm for vector quantizer design // IEEE Trans. on Communications, 1980. 28. P.84-95. 4. Gray R.M. Vector quantization // IEEE Acoustics, Speech and Signal Processing Magazine. 1984. 1. P. 4-29. 5. Nasrabadi

N.M., King A.A Image coding using vector quantization: a review // IEEE Trans. on Communications. 1988. 36. P.957971. 6. Luttrell S.P. Hierarchical vector quantization // IEEE Proc. 1989. 136, Part I. P.405-413. 7. Ham F.M., Kostanic I. Principles of Neurocomputing for Science&Engineering. N.Y.:Mc Graw-Hill, Inc., 2001. 642p. 8. ItakuraF. Maximum prediction residual principle applied to speech recognition // IEEE Trans. on Acoustics, Speech and Signal Processing. 1975,N23. P.67-72. 9.Gersho A. On the structure of vector quantizes // IEEE Trans. on Information Theory. 1982. 28. P.157-166. 10. Baras J.S., LaVignaA. Convergence ofKohonen’s learning vector quantization // Proc. Int. Joint. Conf. on Neural Networks - San Diego, Ca, 1990. 3. P.17-20. 11. Goodwin G.C., Ramadge P.J., Caines P.E. Districte time stochastic adaptive control // SIAM J.Control and Optimization, 1981. 19, N6. P.829-853. 12. Goodwin G C, Ramadge P.J., Caines P.E. A globally convergent adaptive predictor // Automatica. 1981. 17, N1. P.135-140. 13.БодянскийE.B., Плисе ИП, Соловьева Т.В. Многошаговые оптимальные упредители многомерных нестационарных стохастических процессов // Доклады АН УССР. 1986. Сер А, N12. С. 47-49. 14.Haykin S. Neural Networks. A Comprehensive Foundation — Upper Saddle River, N.J. Prentice Hall, Inc., 1999. 842p.

Поступила в редколлегию 07.07.2003

Рецензент: д-р техн. наук, проф Любчик Л.М.

Данная схема состоит из двух последовательно соединенных однотипных архитектур, первая из которых (карта Кохонена) работает в режиме самообучения, а вторая (нейросеть векторного квантования)—в режиме контролируемого обучения. Из поступающего на вход системы вектора-образа x(k) достаточно высо-

Нейронные сети Изучения векторного квантования (LVQ)

Архитектура

Архитектуру сети LVQ показывают ниже.

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

И конкурентоспособные и линейные слои имеют один нейрон на (sub или цель) класс. Таким образом конкурентоспособный слой может учиться до S 1 подклассы. Они, в свою очередь, объединены линейным слоем, чтобы сформировать S 2 целевые классы. S 1 всегда больше, чем S 2 .)

Например, предположим, что нейроны 1, 2, и 3 в конкурентоспособном слое все изучают подклассы входного пространства, которое принадлежит линейному целевому классу 2 слоя. Затем конкурентоспособные нейроны 1, 2, и 3 будут иметь LW 2,1 веса 1,0 к нейрону n 2 в линейном слое и весах 0 ко всем другим линейным нейронам. Таким образом линейный нейрон производит 1, если какой-либо из трех конкурентоспособных нейронов (1, 2, или 3) выигрывает соревнование и выводит 1. Это - то, как подклассы конкурентоспособного слоя объединены в целевые классы в линейном слое.

Короче говоря, 1 в i-ой строке a 1 (остальные к элементам массива 1 будет нуль), эффективно выбирает i-ый столбец LW 2,1 как сетевой выход. Каждый такой столбец содержит один 1, соответствуя определенному классу. Таким образом разделите 1 с на подклассы от слоя 1, помещаются в различные классы LW 2,1 a 1 умножение в слое 2.

Вы знаете заранее, какая часть нейронов слоя 1 должна быть классифицирована в различный класс выходные параметры слоя 2, таким образом, можно указать элементы LW 2,1 в запуске. Однако необходимо пройти метод обучения, чтобы заставить первый слой производить правильный подкласс выход для каждого вектора из набора обучающих данных. Это обучение обсуждено в Обучении. Во-первых, рассмотрите, как создать исходную сеть.

Создание сети LVQ

Можно создать сеть LVQ с функцией lvqnet ,

S1 количество первого слоя скрытые нейроны.

LR скорость обучения (значение по умолчанию 0.01).

LF функция изучения (значение по умолчанию learnlv1 ).

Это может помочь показать детали того, что вы получаете от этих двух строк кода.

График входных векторов следует.

Как вы видите, существует четыре подкласса входных векторов. Вы хотите сеть, которая классифицирует p1 , p2 , p3 , p8 , p9 , и p10 , чтобы произвести выход 1, и это классифицирует векторы p4 , p5 , p6 , и p7 , чтобы произвести выход 2. Обратите внимание на то, что эта задача нелинейно отделима, и так не может быть решена perceptron, но сеть LVQ не испытывает затруднений.

Затем преобразуйте Tc матрица, чтобы предназначаться для векторов.

Это дает разреженной матрице T это может быть отображено полностью с

Это выглядит правильным. Это говорит, например, это, если у вас есть первый столбец P как введено, необходимо получить первый столбец targets как выход; и тот выход говорит входные падения класса 1, который правилен. Теперь вы готовы вызвать lvqnet .

Вызовите lvqnet создать сеть с четырьмя нейронами.

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

Подтвердите, что веса второго слоя имеют 60% (6 из 10 в Tc ) из его столбцов с 1 в первой строке, (соответствие классу 1), и 40% его столбцов имеют 1 во второй строке (соответствующий классу 2). Только с четырьмя столбцами 60% и 40%, на самом деле круглых к 50% и существует два 1's в каждой строке.

Это целесообразно также. Это говорит, что, если конкурентоспособный слой производит 1 как первый или второй элемент, входной вектор классифицируется как класс 1; в противном случае это - класс 2.

Вы можете заметить, что первые два конкурентоспособных нейрона соединяются с первым линейным нейроном (с весами 1), в то время как вторые два конкурентоспособных нейрона соединяются со вторым линейным нейроном. Все другие веса между конкурентоспособными нейронами и линейными нейронами имеют значения 0. Таким образом каждый из двух целевых классов (линейные нейроны) является, на самом деле, объединением двух подклассов (конкурентоспособные нейроны).

Можно симулировать сеть с sim . Используйте исходный P матрица, как введено только, чтобы видеть то, что вы получаете.

Сеть классифицирует все входные параметры в класс 1. Поскольку это не то, что вы хотите, необходимо обучить сеть (настраивающий веса только слоя 1), прежде чем можно будет ожидать хороший результат. Следующие два раздела обсуждают два LVQ изучение правил и учебного процесса.

Правило (learnlv1) изучения LVQ1

LVQ изучение в конкурентоспособном слое основан на наборе пар входа/цели.

Каждый целевой вектор имеет один 1. Остальная часть его элементов 0. Этот 1 говорит соответствующую классификацию связанного входа. Например, рассмотрите следующую учебную пару.

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

Чтобы обучить сеть, входной вектор p представлен, и расстояние от p до каждой строки входной матрицы веса IW 1,1 вычисляется с функцией negdist . Скрытые нейроны слоя 1 конкурируют. Предположим что i th элемент n 1 является самым положительным, и нейрон, i* выигрывает соревнование. Затем конкурентоспособная передаточная функция производит 1 как i *th элемент массива 1 . Все другие элементы массива 1 0.

Когда a 1 умножается на веса слоя 2 LW 2,1 , один 1 в a 1 выбирает класс k* сопоставленный с входом. Таким образом сеть присвоила входной вектор p, чтобы классифицировать k* и α 2 k* будет 1. Конечно, это присвоение может быть хорошим или плохим, поскольку tk* может быть 1 или 0, в зависимости от того, принадлежал ли вход, чтобы классифицировать k* или нет.

Настройте i *th строка IW 1,1 таким способом как, чтобы подвинуть эту строку поближе к входному вектору p, если присвоение правильно, и отодвинуть строку от p, если присвоение является неправильным. Если p классифицируется правильно,

( α k ∗ 2 = t k ∗ = 1 )

вычислите новое значение i *th строка IW 1,1 как

I i ∗ W 1 , 1 ( q ) = I i ∗ W 1 , 1 ( q − 1 ) + α ( p ( q ) − I i ∗ W 1 , 1 ( q − 1 ) )

С другой стороны, если p классифицируется неправильно,

( α k ∗ 2 = 1 ≠ t k ∗ = 0 )

вычислите новое значение i *th строка IW 1,1 как

I i ∗ W 1 , 1 ( q ) = I i ∗ W 1 , 1 ( q − 1 ) − α ( p ( q ) − I i ∗ W 1 , 1 ( q − 1 ) )

Можно сделать эти коррекции к i *th строкой IW 1,1 автоматически, не влияя на другие строки IW 1,1 , распространением спины ошибки на выходе к слою 1.

Такие коррекции перемещают скрытый нейрон к векторам, которые попадают в класс, для которого он формирует подкласс, и далеко от векторов, которые попадают в другие классы.

Функция изучения, которая реализует эти изменения в весах слоя 1 в сетях LVQ, learnlv1 . Это может быть применено во время обучения.

Обучение

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

Теперь подтвердите веса первого слоя.

Следующий график показывает, что эти веса переместились к их соответствующим группам классификации.

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

который ожидается. Как последняя проверка, попробуйте вход близко к вектору, который использовался в обучении.

Это выглядит правильным, потому что pchk1 близко к другим векторам, классифицированным как 2. Точно так же

Это выглядит правильным также, потому что pchk2 близко к другим векторам, классифицированным как 1.

Вы можете хотеть попробовать пример программы, Изучая Векторное Квантование. Это следует за обсуждением обучения, данного выше.

Дополнительное правило (learnlv2) изучения LVQ2.1

Следующее правило изучения является тем, которое может быть применено после первого применения LVQ1. Это может улучшить результат первого изучения. Эта конкретная версия LVQ2 (называемый LVQ2.1 в литературе [Koho97]) воплощена в функции learnlv2 . Обратите внимание снова, что LVQ2.1 должен использоваться только после того, как LVQ1 был применен.

Изучение здесь похоже на это в learnlv2 кроме теперь двух векторов из слоя 1, которые являются самыми близкими к входному вектору, может быть обновлен, при условии, что каждый принадлежит правильному классу, и каждый принадлежит неправильному классу, и далее при условии, что вход попадает в “окно” около midplane этих двух векторов.

min ( d i d j , d j d i ) > s

(где di и dj являются Евклидовыми расстояниями p от i *IW 1,1 и j *IW 1,1 , соответственно). Примите значение для w в области значений 0.2 к 0,3. Если вы выбираете, например, 0.25, то s = 0.6. Это означает, что, если минимум двух отношений расстояния больше 0.6, эти два вектора настроены. Таким образом, если вход около midplane, настройте эти два вектора, при условии также что входной вектор p и j *IW 1,1 принадлежите тому же классу, и p и i *IW 1,1 не принадлежите того же класса.

I i ∗ W 1 , 1 ( q ) = I i ∗ W 1 , 1 ( q − 1 ) − α ( p ( q ) − I i ∗ W 1 , 1 ( q − 1 ) )

I j ∗ W 1 , 1 ( q ) = I j ∗ W 1 , 1 ( q − 1 ) + α ( p ( q ) − I j ∗ W 1 , 1 ( q − 1 ) )

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

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

Архитектура

Используемые параметры

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

  • x = обучающий вектор (x1, . хi, . хn)
  • T = класс для обучающего вектора x
  • wj = вектор веса для j th блок вывода
  • Cj = класс, связанный с j th блок вывода

Алгоритм обучения

Шаг 1 - Инициализировать опорные векторы, что можно сделать следующим образом -

- Из заданного набора обучающих векторов возьмите первый «m n u m b e r o f c l u s t e r s "> n u m b e r o f c l u s t e r s

  • обучающие векторы и использовать их как весовые векторы. Остальные векторы можно использовать для обучения.
  • Шаг 1 b "> b
  • - Назначьте начальный вес и классификацию случайным образом.
  • Шаг 1 c "> c
  • - Применить метод кластеризации K-средних.

Шаг 3 - Продолжайте с шагов 4-9, если условие для остановки этого алгоритма не выполнено.

Шаг 4 - Выполните шаги 5-6 для каждого входного вектора обучения. x.

Шаг 5 - Вычислить квадрат евклидова расстояния для j = от 1 до m и я = от 1 до n

Шаг 6 - Получить победный отряд J в котором D j "> j

Шаг 7 - Рассчитайте новый вес выигрышной единицы по следующей формуле -

Шаг 9 - Проверить состояние остановки. Это может быть следующее -

  • Достигнуто максимальное количество эпох.
  • Скорость обучения снизилась до незначительного значения.

Блок-схема

Варианты

Три других варианта, а именно LVQ2, LVQ2.1 и LVQ3, были разработаны Кохоненом. Сложность во всех этих трех вариантах из-за концепции, которую выучат победитель, а также занявший второе место отряд, больше, чем в LVQ.

Как обсуждалось, в концепции других вариантов LVQ выше, состояние LVQ2 формируется окном. Это окно будет основано на следующих параметрах -

- количество обучающих выборок.

Обновление может быть выполнено с помощью следующей формулы -

b e l o n g s t o d i f f e r e n t c l a s s "> b e l o n g s t o d i f f e r e n t c l a s s

b e l o n g s t o s a m e c l a s s "> b e l o n g s t o s a m e c l a s s

LVQ2.1

В LVQ2.1 мы возьмем два ближайших вектора, а именно yc1 и yc2 и условие для окна следующее -

Обновление может быть выполнено с помощью следующей формулы -

b e l o n g s t o d i f f e r e n t c l a s s "> b e l o n g s t o d i f f e r e n t c l a s s

b e l o n g s t o s a m e c l a s s "> b e l o n g s t o s a m e c l a s s

В LVQ3 мы возьмем два ближайших вектора, а именно yc1 и yc2 и условие для окна следующее -

Обновление может быть выполнено с помощью следующей формулы -

b e l o n g s t o d i f f e r e n t c l a s s "> b e l o n g s t o d i f f e r e n t c l a s s

b e l o n g s t o s a m e c l a s s "> b e l o n g s t o s a m e c l a s s

Векторное квантование обучения (LVQ), отличающееся от векторного квантования (VQ) и самоорганизующихся карт Кохонена (KSOM), в основном представляет собой конкурентную сеть, в которой используется контролируемое обучение. Мы можем определить его как процесс классификации шаблонов, где каждая единица вывода представляет класс. Поскольку он использует контролируемое обучение, сети будет предоставлен набор обучающих шаблонов с известной классификацией наряду с начальным распределением выходного класса. После завершения процесса обучения LVQ классифицирует входной вектор, назначая его тому же классу, что и выходной блок.

Архитектура

Слои

Используемые параметры

Ниже приведены параметры, используемые в процессе обучения LVQ, а также в блок-схеме

x = вектор обучения (x 1 , …, x i , …, x n )

T = класс для обучающего вектора x

w j = весовой вектор для j- й единицы измерения

C j = класс, связанный с j- й единицей вывода

x = вектор обучения (x 1 , …, x i , …, x n )

T = класс для обучающего вектора x

w j = весовой вектор для j- й единицы измерения

C j = класс, связанный с j- й единицей вывода

Алгоритм обучения

Шаг 1 — Инициализировать опорные векторы, что можно сделать следующим образом:

Шаг 1 (б) — Присвойте начальный вес и классификацию случайным образом.

Шаг 1 (с) — Применение метода кластеризации K-средних.

Шаг 1 (б) — Присвойте начальный вес и классификацию случайным образом.

Шаг 1 (с) — Применение метода кластеризации K-средних.

Шаг 2 — Инициализировать опорный вектор a l p h a

Шаг 3 — Продолжайте с шагов 4-9, если условие остановки этого алгоритма не выполняется.

Шаг 4 — Выполните шаги 5-6 для каждого входного вектора обучения x .

Шаг 5 — Рассчитать квадрат евклидова расстояния для j = 1 до m и i = от 1 до n

D ( j ) = d i s p l a y s t y l e s u m l i m i t n i = 1 d i s p l a y s t y l e s u m l i m i t m j = 1 ( x i − w i j ) 2

Шаг 6 — Получить выигрышную единицу J, где D (j) минимально.

Шаг 7 — Рассчитайте новый вес выигрышной единицы по следующему соотношению —

если T = C j, то w j ( н о в ы й ) = w j ( с т а р ы й ) + a l p h a [ x − w j ( с т а р ы й ) ]

если T ≠ C j, то w j ( н о в ы й ) = w j ( с т а р ы й ) − a l p h a [ x − w j ( с т а р ы й ) ]

Читайте также: