Тарасенко Ф.Д.1, Тархов Д.А.2
^анкт-Петербургский политехнический университет Петра Великого, Санкт-Петербург, Россия, студент института прикладной математики и механики, oudi @ mail.ru
2Санкт-Петербургский политехнический университет Петра Великого, Санкт-Петербург, Россия,
д.т.н., профессор, dtarkhov@gmail . сот
СРАВНИТЕЛЬНЫЙ АНАЛИЗ ПРИМЕНЕНИЯ РАЗЛИЧНЫХ БАЗИСНЫХ ФУНКЦИЙ В АЛГОРИТМАХ ПОСЛЕДОВАТЕЛЬНОГО СГЛАЖИВАНИЯ
ДАННЫХ
КЛЮЧЕВЫЕ СЛОВА
Последовательные алгоритмы, обработка данных, RBF-сети, сплайн. АННОТАЦИЯ
Исследованы алгоритмы построения зависимости по экспериментальным данным, построенные на основе последовательной обработки точек по одной. Рассмотрены четыре алгоритма обработки экспериментальных данных и проведен их сравнительных анализ для разных исходных данных, базисных функций и наборов параметров. Исходные данные имели не только статический, но и динамический характер, когда искомая модель менялась в процессе работы алгоритма.
Проведены численные эксперименты, позволившие на основе результатов сравнительного анализа сделать выводы об эффективности алгоритмов в тех или иных случаях, и дать рекомендации по их использованию.
Введение. В данной работе, вслед за [1-3] рассматриваются методы нахождения зависимости у = ^(X) по экспериментальным данным (Xу1), (х2,у2),..., () в ситуации, когда точки (х},у}) поступают и обрабатываются по одной, что может быть связано с необходимостью обрабатывать данные в режиме реального времени. Будем искомую зависимость
п
представлять в виде у = ^ с.ф.(х) , где ф. = ф(а. |х — |) или ф^.=ф(а;-(х—2.)2) . Функции
1=1
такой конструкции принято называть RBF-сетями [3,4]. Подбор параметров с., а. и называется обучением сети. В данной статье рассматривается случай, когда при обучении подбираются только коэффициенты с. .
Как известно, любую кусочно-линейную функцию можно представить в виде суммы
п
^ с1 ф(а 1 (X— )) , если выбрать в качестве базисной функции треугольную шапочку.
1=1
Аналогичным образом можно любой сплайн разложить по базисным функциям, соответствующим его степени и гладкости [6].
В численных экспериментах использовались следующие базисные сплайны [6]: парабола, кубическая парабола, гауссиан.
Нами исследовано несколько алгоритмов сглаживания данных:
1) Обработка точек по одной с адаптацией веса базисной функции с ближайшим центром.
2) То же, но с адаптацией весов двух ближайших функций.
3) то же, что и в 2) но предполагается линейная зависимость скорости адаптации веса от близости абсциссы добавляемой точки к центру базисной функции [1].
4) Нахождение оптимальных коэффициентов разложения по базисным функциям решением линейной системы.
Для подходов 1 и 3 исследовалась также вариация алгоритма с заданным заранее законом изменения шага.
В подходах 1-3 основой для адаптации коэффициентов является минимизация
квадратичного функционала ошибки. Подход 1.
Начальные значения коэффициентов С^ =0 . При переходе от N-1 наблюдений к N изменение весового коэффициента базисной функции с ближайшим центром, обозначенное А к (N) , получается равным
А к (N )= ^ , (1)
где
N N
3,<=Еф2(х), Qk=1фк(х,)б,(N). (2)
¿=1 ¿=1 При переходе к следующему шагу ошибки нужно пересчитать по формуле
S¿(N + 1 ) = б,(N)-АкФк(x¿) . (3)
Подход 2.
В отличие от первого алгоритма выбираются две базисные функции, между центрами которых находится поступившее наблюдение.
Изменение весовых коэффициентов производится по формулам
А QkSk+1 Qk + 1 Рк А Qk+1 Рк , ,
Ак=-з— , Ак=-;— (4)
к с с _ р2 к ^ ^ — Р2
к к+1 к к к+1 гк
где
N
рк=Ефк(x¿)Фk+1(х,). (5)
=1
При обращении в ноль знаменателя (2) используются формулы (7) и (8). При переходе к новому шагу слагаемые в суммы (2) и (5) добавляются для всех базисных функций, для которых фк(х,)^0 .
Ошибки б¿ при переходе к следующему шагу нужно пересчитать по формуле
S¿(N + 1 ) = б,(N)-АкФк(х,)-Ак+1 Фк+1 (х¿) . (6)
Подход 3.
Пусть xN находится между центрами функций с номерами к и к +1 . В прежних обозначениях используем формулы [1]:
Ак(N)=А(N)Х и Ак+1 (N)=А(N)(1-Х), (7)
М1 л Zk+1—XN
где в [1] рекомендуется выбирать Х =-.
zk+1-zk
Число А (N) находится минимизацией функционала ошибки и получается равным
А( *) Х Qk+ (1-Х^+1 _
А( N )=—2-------- . (8)
Х2 Sk +2 Х(1-Х) Рк +(1-Х)2 Sk+1
Ошибки б ¿ при переходе к следующему шагу нужно пересчитать по формуле
б,.(N + 1 ) = б,(N)-А(N)(Хфк(Х;) + (1-Х)фк+1 (х,)). (9)
Для алгоритмов 1 и 3 можно вместо формул (1), (7) и (8) использовать убывающие по
/ 2 ^
заданному закону А(N) , например А(N)=11- т) бк(N) , где Т = 5п + Nmax [1]. Это
существенно сокращает объём вычислений. Подход 4.
Этот подход предусматривает построение линейной регрессии и предполагает решение системы линейных уравнений, которое можно получать рекуррентным образом при появлении нового наблюдения [3,4,7].
Результаты численных экспериментов. Проведено сравнительное тестирование алгоритмов, реализующих подходы 1-4 для указанных выше базисных функций для разных величин ошибки «измерений», количества точек и числа базисных функций. Также, проанализированы случаи динамических (переменных во времени) данных при различном наборе
параметров и выборе базисных функций. Интервал изменения аргумента [0;1].
Ниже приведены иллюстрации работы алгоритмов, некоторые наиболее характерные данные численных экспериментов вы и выводы, полученные при анализе результатов этих экспериментов.
На первом рисунке представлен результат обработки экспериментально зависимости, полученной генерацией точек около функции sin (я x) + 0.1 sin(10 п x) , с использованием первого алгоритма и формулы из [1] для 20-ти базисных функций, 400-сот экспериментальных точек, ошибки «измерений» - 0,1 и 10-ти прогонов алгоритма.
На втором рисунке представлены результаты применения второго подхода для динамических данных. Приближаемая функция - sm(wпx), где w меняется за время вычислений от 1 до 4,5. Базисная функция - кубическая парабола. 300 экспериментальных точек. 10 базисных функций. Ошибка измерений -0,1. Изображены три момента в которые исходная функция имеет
Таблица 1: Математическое ожидание ошибки для восьми тестов алгоритма при 50 точках наблюдений. Статические данные. Приближаемая функция - Бт(т). Число базисных функций -10. Число
экспериментальных точек - 50.
Е m Подход Треугольная шапочка Парабола Кубическая функция Гауссиан
0.01 10 1 Т. 0.0045 0.0359 0,0251 0,0337
1 10 0.2880 0.3115 0,0404 0,0308
0.01 1 0.0247 0.0363 0,0536 0,0209
0.01 10 1 Р. 0,0047 0,0050 0,0056 0,3342
1 10 0,0320 0,0406 0,0361 0,0355
0.01 1 0,1888 0,1126 0,1130 0,1313
0.01 10 2 0,0039 0,0039 0,0054 0,0038
1 10 0,0331 0,0330 0,0281 0,0343
0.01 1 0,0057 0,0150 0,0195 0,0146
0.01 10 3 Т. 0,0132 0,0125 0,0238 0,0217
1 10 0,0292 0,0378 0,0387 0,0398
0.01 1 0,0464 0,0403 0,0365 0,0487
0.01 10 3 Р. 0,0044 0,0044 0,0053 0,0422
1 10 0,0278 0,0342 0,0358 0,0579
0.01 1 0,1016 0,0975 0,0945 0,1041
0.01 4 0,0031 0,0035 0,0040 0,0080
1 0,2838 0,2542 0,2633 0,2901
Здесь и дальше, е - погрешность наблюдений, т - число прогонов алгоритма, п - кол-во точек наблюдений, Р. - регулируемый шаг в соответствии с формулой из [1], Т. - точный в соответствии с формулами, приведёнными выше для каждого алгоритма.
Таблица 2: Математическое ожидание ошибки для четырех тестов алгоритма. Динамические данные. Приближаемая функция - sm(wлx], где wменяется за время вычислений от 1 до 2 и до 4,5. Число базисных
функций -10. Ошибка измерений - 0,1.
т п w Подход Треугольная шапочка Парабола Кубическая функция Гауссиан
100 300 4,5 1 0,4252 0,4084 0,4060 0,4360
50 100 2 0,1908 0,1910 0,1755 0,1811
100 300 4,5 2 0,2880 0,2624 0,2481 0,2348
50 100 2 0,1454 0,1361 0,1321 0,1233
100 300 4,5 3 0,4176 0,4296 0,4422 0,4767
50 100 2 0,1854 0,1815 0,1779 0,1817
Выводы
• Рассмотренные алгоритмы и базисные функции показали хорошую работоспособность в рассматриваемых задачах.
• Ни один из алгоритмов не имеет решающего преимущества над другими. Это позволяет рекомендовать самый простой из них - первый.
• Точное вычисление шага не имеет преимуществ над формулой из [1], которые могли бы компенсировать существенное увеличение вычислительной сложности, если выборка достаточно велика или продублирована необходимое число раз.
• При больших ошибках и малом числе экспериментальных точек все методы работают неудовлетворительно. Несколько лучше других получаются результаты сглаживания при использовании кубической БФ для большого количества точек и гауссиана для малого.
• Результаты, полученные при использовании разных базисных функций примерно одинаковы. Выбор конкретной функции диктуется условиями на гладкость. Если таких условий нет, то предпочтительной является треугольная функция в силу минимальности своего носителя (что приводит к минимальной вычислительной сложности). Если такие условия заранее неизвестны или достаточно жёстки, то предпочесть следует гауссиан, как имеющий бесконечную гладкость.
• Наилучшим из рассмотренных алгоритмов для сглаживания динамических данных является подход 2, так как он значительно лучше обрабатывает конец промежутка.
Благодарность: Статья подготовлена по результатам исследования, выполненного при финансовой поддержке гранта Российского Научного Фонда (проект 14-38-00009] «Программно-целевое управление комплексным развитием Арктической зоны РФ (Санкт-Петербургский
политехнический университет Петра Великого].
Литература
1. Хакимов Б.В. Моделирование корреляционных зависимостей сплайнами на примерах в геологии и экологии. М.: МГУ; СПб: Нева. 2003, 144 с.
2. Хакимов Б.В., Михеев И.М. Нелинейная модель нейрона - многомерный сплайн / / Нейрокомпьютеры: разработка, применение. 2012. № 7. С. 36-40.
3. Тархов Д.А. Последовательные алгоритмы сглаживания данных// Нейрокомпьютеры: разработка, применение. 2015. № 3. С. 11-18.
4. Тархов Д.А. Нейросетевые модели и алгоритмы. - М.: Радиотехника, 2014. - 352 с.
5. Хайкин С. Нейронные сети: полный курс, 2-е издание. Пер. с англ. - М.: Изд. дом «Вильямс», 2006. - 1104 с.
6. Свиньин С.Ф. Базисные сплайны в теории отсчётов сигналов. СПб., Наука, 2003. - 118с.
7. Алберт А. Регрессия, псевдоинверсия и рекуррентное оценивание. - М.: Наука, 1977. 224с.