Применение нейронных сетей для аппроксимации данных | Вестник Томского государственного университета. 2004. № 284.

Применение нейронных сетей для аппроксимации данных

Рассматривается применение искусственных нейронных сетей для решения задачи аппроксимации данных и сопоставление результатов с традиционным методом построения трендовых моделей.

Application neural networks for approximation of the data.pdf В последние несколько лет наблюдается взрыв интереса кнейронным сетям, которые успешно применяются в самыхразличных областях - бизнесе, медицине, технике, геологии,физике. Нейронные сети вошли в практику везде, где нужнорешать задачи прогнозирования, классификации или автома-тизации. Такой успех определяется несколькими причинами.1. Богатыми возможностями. Нейронные сети - мощныйметод моделирования, позволяющий воспроизводить чрезвы-чайно сложные зависимости. Нейросети нелинейны по своейприроде. Кроме того, нейронные сети справляются с «про-клятием размерности», которое не позволяет моделироватьлинейные зависимости в случае большого числа переменных.2. Простотой в использовании. Нейронные сети учатся напримерах. Пользователь нейронной сети подбирает предста-вительные данные, а затем запускает алгоритм обучения, кото-рый автоматически воспринимает структуру данных. От поль-зователя, конечно, требуется какой-то набор эвристическихзнаний о том, как следует отбирать и подготавливать данные,выбирать нужную архитектуру сети и интерпретировать ре-зультаты, однако уровень знаний, необходимый для успешногоприменения нейронных сетей, гораздо скромнее, чем, напри-мер, при использовании традиционных методов статистики.1. ОСНОВНЫЕ ПОНЯТИЯНейронная сеть - это система, состоящая из многихпростых вычислительных элементов, работающих па-раллельно, функция которых определяется структуройсети, силой взаимосвязанных связей, а вычисления про-изводятся в самих элементах или узлах.Нейронная сеть - это набор нейронов, определенным об-разом связанных между собой. Работу искусственного ней-рона можно описать следующим образом [1] (рис. 1).Рис. 1. НейронНейрон получает входные сигналы (исходные дан-ные либо выходные сигналы других нейронов нейросе-ти) через несколько входных каналов. Каждый входнойсигнал проходит через соединение, имеющее опреде-ленную интенсивность (или вес); этот вес соответству-ет синаптической активности биологического нейрона.С каждым нейроном связано определенное пороговоезначение. Вычисляется взвешенная сумма входов, изнее вычитается пороговое значение, и в результате по-лучается величина активации нейрона.Сигнал активации преобразуется с помощью функ-ции активации (или передаточной функции). В резуль-тате получается выходной сигнал нейрона:( , ) .10 Σ== = +nis x w w xiwiНаиболее распространенными функциями активации яв-ляются следующие: пороговая, сигнум (или модифициро-ванная пороговая функция), логистическая, гиперболиче-ский тангенс, линейная, линейная ограниченная, радиально-базисная и др. Как правило, передаточные функции всехнейронов в сети фиксированы, а веса являются параметрамисети и могут изменяться. Если сеть предполагается для чего-то использовать, то у нее должны быть входы (принимаю-щие значения интересующих нас переменных из внешнегомира) и выходы (прогнозы или управляющие сигналы).Кроме этого в сети может быть еще много промежуточных(скрытых) нейронов, выполняющих внутренние функции.Входные, скрытые и выходные нейроны должны быть свя-заны между собой.Наиболее распространенными являются многослойныесети, в которых нейроны объединены в слои. Слой - это со-вокупность нейронов, на которые в каждый такт временипараллельно поступает информация от других нейронов се-ти. После того, как определено число слоев и число элемен-тов в каждом из них, нужно найти значения для весов и по-рогов сети, которые минимизировали бы ошибку прогноза,выдаваемого сетью. Именно для этого служат алгоритмыобучения. С использованием собранных исторических дан-ных веса и пороговые значения автоматически корректиру-ются с целью минимизации этой ошибки. По сути, этот про-цесс представляет собой подгонку модели, которая реализу-ется сетью, к имеющимся обучающим данным. Ошибка дляконкретной конфигурации сети определяется путем прого-на через сеть всех имеющихся наблюдений и сравнения ре-ально выдаваемых выходных значений с желаемыми (целе-выми) значениями. Все такие разности суммируются в фун-кцию ошибок, значение которой и есть ошибка сети. В каче-стве функции ошибок чаще всего берется сумма квадратовошибок:( ) = Σ( − )2 ,iE w di yi (1)где d - желаемый выход сети, у - реальный выход сети.Самый известный вариант алгоритма обучения ней-ронной сети - так называемый алгоритм обратного рас-пространения [2]. Существуют современные алгоритмывторого порядка, такие, как метод сопряженных гра-диентов и метод Левенберга−Маркара [3], которые намногих задачах работают существенно быстрее (иногдана порядок). Алгоритм обратного распространения внекоторых случаях имеет определенные преимущества.2. ПОСТАНОВКА ЗАДАЧИРассмотрим задачу аппроксимации ряда динамики,т.е. построение функции по конечному набору точек, нареальном примере о количестве проданных авиабиле-тов за 3 года (данные приведены по месяцам на рис. 2,N = 36 - объём выборки).Приступая к разработке нейросетевого решения, какправило, сталкиваются с проблемой выбора оптимальнойархитектуры нейронной сети. Так как области применениянаиболее известных парадигм пересекаются, то для решенияконкретной задачи можно использовать различные типынейронных сетей, и при этом результаты могут оказатьсяодинаковыми. Будет ли та или иная сеть лучше и практич-нее, зависит в большинстве случаев от условий задачи.400050006000700080009000100001 5 9 13 17 21 25 29 33месяцыкол-во билетовРис. 2. Периодический ряд динамики продаж авиабилетовЗадачи аппроксимации экспериментальных данныхможно решать с помощью искусственных нейронныхсетей следующих типов: многослойного персептрона,сетей с радиально-базисными функциями, вероятност-ных сетей, обобщенно-регрессионных сетей [1,4].Решим поставленную задачу с помощью нейронныхсетей типа радиальная базисная (RBF), обобщенно-рег-рессионная (GRNN) и линейной сети. Моделированиерешения задач проводилось с применением пакета при-кладных программ Neural Network Toolbox (NNT) сис-темы MATLAB [4].Искусственные нейросети выходные значения пред-ставляют, как правило, в определенном диапазоне илимасштабируют. Выполним предобработку данных - нор-мировку исходных данных yt ( t 1, N) , = для этого вос-пользуемся стандартной формулой:,Dyy yt Myt−′ = (2)где yt′ - новая переменная; = ΣtMy 1n yt - выборочная оце-нка математического ожидания; Σ( − )−=tDy n yt My 211 -выборочная оценка дисперсии.Существуют и другие функции масштабирования, изних самая простейшая - минимаксная функция, выпол-няющая линейное преобразование после определения ми-нимального и максимального значений функции так, чтобыполучаемые значения находились в нужном диапазоне. Ли-нейное преобразование,max ,min~ ,mini ii ii y yy yy −−= масштабируетисходную выборку в единичный отрезок [0, 1].Предобработку полезно провести для того, чтобыповысить скорость и качество обучения.Задача аппроксимации функции для нейронной сетиформируется как задача контролируемого обучения (обу-чение с учителем). Суть задачи состоит в следующем.Имеются значения функции в отдельных точках (уз-лах), система базисных функций и векторов регули-руемых весовых коэффициентов. Необходимо обучитьсеть, т. е. выбрать весовые коэффициенты при базис-ных функциях так, чтобы их комбинация давала анало-гичную зависимость, которая наилучшим образом ап-проксимирует множество значений функции отклика.3. ПРИМЕНЕНИЕРАДИАЛЬНО-БАЗИСНОЙ НЕЙРОННОЙ СЕТИСеть типа радиально-базисной функции (RBF) име-ет промежуточный слой из радиальных элементов, ка-ждый из которых воспроизводит гауссову поверхностьотклика:φ(s) = exp(−s2/2σ2), (3)где параметр σ определяет радиус влияния каждой базис-ной функции и быстроту стремления к нулю при удаленииот центра (рис. 3). Поскольку эти функции нелинейны, длямоделирования произвольной функции нет необходимостибрать более одного промежуточного слоя. Для моделиро-вания любой функции необходимо лишь взять достаточноечисло радиальных элементов. Остается решить вопрос отом, как следует скомбинировать выходы скрытых ради-альных элементов, чтобы получить из них выход сети.Оказывается, что достаточно взять их линейную комбина-цию (т.е. взвешенную сумму гауссовых функций). СетьRBF имеет выходной слой, состоящий из элементов с ли-нейными функциями активацииφ(s) = ks, (4)где k - угловой коэффициент наклона прям ой.Рис. 3. Радиальная базисная функцияПроцесс обучения RBF-сетей включает две стадии:процесс настройки центров базисных функций (3) иобучение нейронов в скрытом слое, поэтому эти сетиобучаются достаточно быстро.Для решения поставленной задачи была созданаRBF-сеть (рис. 4) с допустимой среднеквадратическойошибкой E(ω)=0,3 и параметром влияния, равным 1,значение которого устанавливается тем большее, чембольший диапазон входных значений должен бытьпринят во внимание. В качестве входных элементовбыло взято время t = 1, N, а выхода - уровни временно-го ряда yt′ . Функции пакета NNT, используемые при со-здании RBF-сети: net = newrb(t; y′; 0,3; 1) - создание ра-диальной базисной нейронной сети с обучением; yn′ == sim(net, t) - моделирование сети.Чтобы полученный выход сети соответствовал ре-альному (истинному) масштабу данных, было выпол-нено обратное преобразование:ynt ynt Dy My, = ′ + (5)где ynt - преобразованный выход сети; ynt′ - выходсети; My и Dy описаны выше.Рис. 4. Нейронная сеть с радиально-базисными элементамиВ результате моделирования RBF-сети для реаль-ных данных была получена аппроксимирующая функ-ция (рис. 5). На рис. 6 приведен график соответствую-щей ошибки (отклонения фактических данных от рас-чётных) εt = yt - ynt.400050006000700080009000100001 5 9 13 17 21 25 29 33месяцыкол-во билетовРис. 5. Аппроксимация данныхс помощью радиально-базисной сети-300-200-10001002003001 4 7 10 13 16 19 22 25 28 31 34месяцыкол-во билетовРис. 6. Ошибка аппроксимации данных RBF-сетью4. ПРИМЕНЕНИЕОБОБЩЕННО-РЕГРЕССИОННОЙНЕЙРОННОЙ СЕТИОбобщенно-регрессионная нейронная сеть (GRNN),как и RBF-сети, имеет радиально-базисный слой с чис-лом нейронов, равных числу элементов или менее обу-чающего множества, но еще включает линейный слой.GRNN-сеть копирует внутрь себя все обучающие на-блюдения и использует их для оценки отклика в произ-вольной точке. Окончательная выходная оценка сетиполучается как взвешенное среднее выходов по всемобучающим наблюдениям, где величины весов отража-ют расстояние от этих наблюдений до той точки, в кото-рой производится оценивание (и, таким образом, болееблизкие точки вносят больший вклад в оценку).Первый промежуточный слой сети GRNN состоитиз радиальных элементов. Второй промежуточныйслой (линейный) содержит элементы, которые помогаютоценить взвешенное среднее. Для этого используетсяспециальная процедура. Каждый выход имеет в этомслое свой элемент, формирующий для него взвешеннуюсумму. Чтобы получить из взвешенной суммы взве-шенное среднее, эту сумму нужно поделить на суммувесовых коэффициентов. Последнюю сумму вычисляетспециальный элемент второго слоя. После этого в вы-ходном слое производится собственно деление (с по-мощью специальных элементов «деления»). Таким об-разом, число элементов во втором промежуточном слоена единицу больше, чем в выходном слое. Как правило,в задачах регрессии (аппроксимации) требуется оце-нить одно выходное значение и, следовательно, второйпромежуточный слой содержит два элемента.Процесс обучения GRNN-сети аналогичен обучениюRBF-сети. Первоначально настраиваются центры бази-сных функций (3), затем с фиксированными парамет-рами RBF-нейронов обучается выходной слой.Для решения поставленной задачи была смоделирова-на GRNN-сеть с нулевой ошибкой E(ω) = 0 и коэффи-циентом сглаживания, равным 1, наибольшее значение(равное 1) которого соответствует наиболее сглаженномуряду (рис. 7). В качестве входных элементов было взятовремя t = 1, N, , а выхода - уровни временного ряда yt′.Функции пакета NNT: net = newgrrn(t, y′, 1) - созданиеGRNN-сети; yn′ = sim(net, t) - моделирование сети.Рис. 7. Обобщенно-регрессионная нейронная сетьПолученная аппроксимирующая функция исследуемыхданных с помощью GRRN-сети представлена на рис. 8, при-чем предварительно было сделано обратное преобразование(5). График соответствующей ошибки (отклонения фактиче-ских данных от расчётных) εt = yt - ynt дан на рис. 9.400050006000700080009000100001 4 7 10 13 16 19 22 25 28 31 34месяцыкол-во билетовРис. 8. Аппроксимация данныхс помощью обобщенно-регрессионной сети-500050010001 4 7 10 13 16 19 22 25 28 31 34месяцыкол-во билетовРис. 9. Ошибка аппроксимации данных GRNN-сетью5. ПРИМЕНЕНИЕЛИНЕЙНОЙ НЕЙРОННОЙ СЕТИЛинейная сеть - это самая простая нейросеть, котораяне содержит промежуточных (скрытых) слоев и в выход-ном слое содержит только линейные элементы (т.е. эле-менты с линейной функцией активации (4)). Но для реше-ния поставленной задачи использовалась модифицирован-ная сеть - линейная сеть с задержкой на входе (рис. 10).Рис. 10. Линейная нейронная сеть с задержкой на входеДля рассматриваемого ряда динамики характернывнутригодичные, повторяющиеся устойчиво из месяца вмесяц изменения в уровнях, т.е. сезонные колебания. По-этому предлагается использовать линейную сеть с за-держкой на входе шести предыдущих входных элемен-тов. Входными величинами этой сети являются уровнивременного ряда yt′, получаемые преобразованием (2).Выходной слой сети будет содержать один элемент, соот-ветствующий выровненному значению ряда. Для обуче-ния такой сети требуется большой объём выборки, более100, поэтому в качестве обучающей выборки использованисходный ряд, повторенный 4 раза, при этом N = 144.Фрагмент программы создания и адаптации линей-ной сети:delays = [1 2 3 4 5 6] - вектор задержки;net=newlin([-2 2.8], 1, delays, 0.01);in=con2seq(y′); d=in;nnet=adapt(net, in, d);yn′=sim(nnet, d).Процесс адаптации (приспособления) линейной се-ти к данным приведен на рис. 11.-2-1,5-1-0,500,511,522,531 16 31 46 61 76 91 106 121 136Рис. 11. Адаптация линейной сети к обучающей выборкеПосле того как сеть «адаптируется», её можно ис-пользовать для интерполяции и экстраполяции данных.Результат аппроксимации данных с применениемлинейной сети приведен на рис. 12.400050006000700080009000100001 4 7 10 13 16 19 22 25 28 31 34месяцыкол-во билетовРис. 12. Аппроксимация данныхс помощью линейной сети с задержкой6. СРАВНИТЕЛЬНЫЙ АНАЛИЗПроанализируем полученные результаты сглаживанияряда динамики традиционным методом аналитического вы-равнивания, т.е. построения трендовой модели. Динамиче-ский ряд (рис. 1) является стационарным периодическимрядом, т.е. общей тенденции развития нет, но явно выделя-ется циклическая составляющая временного ряда и, естест-венно, случайная компонента. Поэтому для сглаживанияданного РД были использованы в качестве модели трендаряд Фурье и мультипликативная модель [5]. Ряд Фурье илимодель тригонометрического тренда имеет видcos 2 sin 2 ,1 10 N tN t b iy a a iniinit iπ+π= + Σ Σ= =(6)где a0, ai, bi - неизвестные параметры, n = 6 - число гар-моник, N = 36 - длина ряда динамики (объём выборки).Для решения задачи идентификации параметров дан-ного уравнения применяли классический метод наи-меньших квадратов [5]. Графики исходного и выров-ненного рядов динамики приведены на рис. 13.400060008000100001 4 7 10 13 16 19 22 25 28 31 34месяцыкол-во билетовРис. 13. Сглаживание ряда динамики рядом ФурьеПри мультипликативной модели уровень РД можнопредставить как произведение его составляющих:,ss tt yyyy = y ⋅ y ⋅ t = 1, N, (7)где отношение yS / y представляет собой коэффициентсезонности (KS), а yt / yS - отражает влияние случайногофактора, yS - средний уровень ряда соответствующегопериода внутри года (месяца, квартала) за ряд лет.Оценочные значения для модели (7) можно пред-ставить в видеˆ ( ) , yt = y ⋅ KS t t = 1,N. (8)Графики исходного и выровненного рядов динами-ки приведены на рис. 14.400050006000700080009000100001 4 7 10 13 16 19 22 25 28 31 34месяцыкол-во билетовРис. 14. Сглаживание ряда динамикис применением мультипликативной моделиКачество аппроксимации различными методами оце-нивалось по коэффициенту детерминации (табл. 1), ко-торый характеризует так называемую долю «объяснен-ной» дисперсии и определяется как,( )( ˆ )1 222ΣΣ−−= −tttt ty Myy yRгде yt - исходные значения, ŷt - выровненные значения,My - выборочное среднее исходного ряда динамики.Качество аппроксимации тем лучше, чем ближе этоткоэффициент к 1.Т а б л и ц а 1РядФурьеМультипли-кативнаямодельGRNN-сетьRBF-сетьЛинейнаясетьКоэффициентдетерминации(R2)0,8747 0,7262 0,9473 0,9918 0,6422Неудовлетворительной качество аппроксимации с при-менением линейной сети объясняется её простотой и спе-цификой исходного ряда динамики, который включаетсезонные колебания. При отсутствии ярко выраженныхколебаний можно предпочесть использование линей-ной сети, так как при этом обеспечивается сглаживаниеданных от случайной составляющей.По приведенным данным можно сделать вывод о том,что применение нейронных сетей даёт приемлемый (дос-таточно высокий) уровень аппроксимации исходных на-блюдаемых данных, прежде всего это благодаря наличиюв RBF и GRNN нейросетях скрытого слоя нейронов с не-линейными радиально-базисными функциями активации,которые позволяют отслеживать малейшие изменения вуровнях исследуемого временного ряда. При использова-нии RBF-сети получили R2 = 0,9918; это случай когдареальный выход нейросети и желаемый выход (что посмыслу совпадает с оценочными и реальными значения-ми) практически совпадают. Применяя традиционные ме-тоды, практически невозможно достичь такого высокогозначения коэффициента детерминации.Любой ряд динамики содержит случайную состав-ляющую, поэтому наиболее приемлемо использованиеметода, который выявляет общую тенденцию развитияисследуемого ряда, так как при прогнозировании наи-более важно учесть закономерности изменения уров-ней ряда, а не случайные явления, влияющие на иссле-дуемый показатель. Поэтому в рассматриваемом при-мере наиболее предпочтительным вариантом являетсяиспользование GRNN-сети, так как она обеспечиваетвысокое качество аппроксимации и показывает тен-денции изменения показателя в наиболее продолжи-тельных отрезках времени.Результаты применения традиционных методов сгла-живания ряда динамики по сравнению с использовани-ем нейронных сетей типа RBF и GRNN не намного ус-тупают по качеству. Если нет возможности применятьнейросети, то предпочтительнее использовать ряд Фу-рье для аппроксимации исследуемых данных, а немультипликативную модель.Таким образом, для рассматриваемого примера ап-проксимации данных по известным объёмам продажавиабилетов применение нейронных сетей обеспечива-ет высокое качество аппроксимации и может использо-ваться для анализа и прогнозирования деятельностиавиапредприятий.

Ключевые слова

Авторы

ФИООрганизацияДополнительноE-mail
Филатова Татьяна ВладимировнаТомский государственный университетстудентка 5-го курса факультета прикладной математики и кибернетики
Всего: 1

Ссылки

 Применение нейронных сетей для аппроксимации данных | Вестник Томского государственного университета. 2004. № 284.

Применение нейронных сетей для аппроксимации данных | Вестник Томского государственного университета. 2004. № 284.

Полнотекстовая версия