структуры и моделирование 2016. №2(38). С. 66-71
УДК 519.6
АППРОКСИМАЦИЯ ДАННЫХ НА БАЗЕ МЕТОДА ВЕРЛЕ
Институт математики им. С.Л. Соболева Сибирского отделения РАН
Аннотация. Одним из методов аппроксимации данных сложной топологии является построение древовидных структур. В работе предложен эвристический метод построения древовидного графа на базе метода Верле и физической интерпретации точек данных в многомерном пространстве как центров притяжения. Данный метод построения древовидной структуры протестирован на примере древовидных данных.
Ключевые слова: метод Верле, топологические грамматики, упругая энергия, аппроксимация.
Введение
Известны несколько способов построения древовидных графов без циклов, наилучшим образом аппроксимирующих данные (топологические грамматики, минимизация упругой энергии графа) [1,2]. Древовидный граф представляет собой набор узлов и упругих связей между ними. В качестве таких связей могут выступать пружинная связь между парой точек с равновесным расстоянием между точками и ребра жёсткости тройки узлов с равновесным углом между узлами.
Для аппроксимации набора точек древовидной структурой предлагается использовать физическую интерпретацию точек данных как центров, притягивающих узлы графа.
Для расчёта движения точек древовидного графа в поле притяжения и учёта связей между узлами графа предлагается использовать метод численного интегрирования Верле.
Метод Верле — это итерационный метод вычисления следующего местоположения точки по текущему и прошлому местоположениям.
1. Метод Верле
Алгоритм Верле используется для вычисления следующего положения точки по текущему и прошлому:
В.А. Шовин
научный сотрудник, e-mail: [email protected]
n
X} = {х)1,х)2, ...,х}т) — вычисляемые координаты ]-ой точки на ¿-ой итерации,
т — размерность пространства,
— —7— 1 —7 — 2
V} = X} — х} — вектор скорости ^-ой точки.
т 5 к-ж!-1
о>кз = а-р—— вектор влияния к-го центра притяжения, представленного
| 5к |
точкой данных Бк, на -ую точку,
а = 0.01.
На систему точек накладываются ограничения.
Некоторые из точек связаны упругими стержнями заданной длины.
Алгоритм работает следующим образом:
1. Вычисляются новые положения точек.
2. Для каждой связи удовлетворяется соответствующее условие.
3. Шаг 2 повторяется ^ раз.
Например, в = 16.
Процедура релаксации связи описывается следующими формулами: Если связь представлена точками а и Ь с равновесным расстоянием между ними г, то
аг = а 1 + с,
Ьг = Ьг-1 — т,
г — |аг-1 — Ьг-1| , . 1 - . 1
т = /■ д• —^-=—^ а-1 — Ьг-1
' |а-1 — Ьг-1 ^
/ = 0.7 — коэффициент упругости связи,
д = 1 — коэффициент, зависящий от числа в повторений шага 2.
Тройки узлов могут образовывать ребра жёсткости с равновесным углом. Такие связи предлагается эмулировать связями в виде упругих стержней между крайними точками. Равновесное расстояние между крайними точками при этом задаётся из равенства треугольника. Если связь представлена точками а, Ь, с c равновесным углом /аЬс = в, тогда равновесное расстояние ас = г между точками а и с вычисляется по формуле:
г = у/(аЬ)2 + (Ьс)2 — 2 (аЬ) (Ьс) сое в.
2. Древовидная структура
Древовидный граф не имеет циклов. Точки данных представлены как центры притяжения. При этом используется следующий алгоритм роста графа:
1. Задаётся число Я — радиус поглощения центров притяжения узлами графа. Под поглощением понимается то, что те центры притяжения, которые находятся на расстоянии меньше Я к какому либо узлу графа, не притягивают других узлов графа, а оказывают влияние только на этот узел.
2. В граф добавляется новая узловая точка. Начальное положение узловой точки выбирается равным положению ближайшего центра притяжения, который никому не принадлежит, т. е. находится на расстоянии большем Я от любого узла графа.
3. Узел графа совершает изменение своего положения в поле притяжения до момента остановки, задаваемого следующим условием. Расстояния между предыдущими и текущими положениями всех узлов графа должны быть меньше заданного числа е.
4. Узел х включается в граф двумя возможными способами: добавлением упругой связи к ближайшему узлу карты по специальной метрике или заменой ближайшей связи графа на две новых, в центр которых помещается данный узел. Равновесные расстояния между узлами графа для новых связей определяются равными начальным расстояниям между узлами этих связей.
Ближайшая связь к узлу х определяется как любая из связей между узлами а и Ь, удовлетворяющая условиям:
Лх + /2х < аЬ, где
/1 и /2 — фокусы эллипса с большой осью аЬ и малой осью длиной равной 1 аЬ.
Если найдена хотя бы одна ближайшая связь, то ближайшие узлы не рассматриваются. Метрика ( для определения ближайшего узла задаётся следующим образом:
((р,я) = е(р,д) - где
е — евклидова метрика,
N — число центров притяжения д, удовлетворяющих условиям:
/1 д + /2д < pq,
/1 и /2 — фокусы эллипса с большой осью рд и малой осью длиной равной к = 10, при этом центр притяжения д входит в число N, если расстояния до остальных центров притяжения из этого числа по евклидовой метрике е не меньше 9 = 5;
П = 100.
Специальная метрика имеет эвристический характер и предназначена для того, чтобы связи между узлами графа проходили преимущественно в
областях наибольшего скопления точек данных, а не в пустых областях, пусть и представляющих кратчайшее расстояние по евклидовой метрике.
5. На тройки узлов, не образующих разветвлений графа, может накладываться угловая связь с развёрнутым равновесным углом. Это имеет смысл в случае необходимости построения прямых ветвей покрывающего графа.
6. Переход в пункт 2. Когда новых узлов, удовлетворяющих пункту 2, не найдено, выполняют операцию R := h • R, h = 0.9 до тех пор, пока не появится узел, удовлетворяющий пункту 2.
7. Условие остановки роста графа:
Выбирается один из критериев качества аппроксимации:
1 п
v1 = — у dist(Di,nearestGraphNode(Di)) n
г=1
или
v2 = max nearestGraphNode (Di)))
n — объём выборки данных,
dist — евклидово расстояние,
nearestGraphNode(Di) — ближайший по евклидовой метрике узел графа к точке данных Di.
Задаётся величина точности аппроксимации precision = 0.05.
Рост графа останавливается при p = d ^ precision = 0.05, где
d = \Jm • (b — a)2
ш — размерность пространства данных;
[а,Ь] — интервал разброса данных вдоль координатных осей.
3. Линейная структура
Если требуется построить линейную структуру без ветвлений, то в алгоритме построения древовидной структуры изменяется пункт 4:
Если определён ближайший для узла х узел а, не являющийся краевым узлом линейной структуры, то рассматривается парный узел Ь для узла а, являющийся ближайшим для узла х. Связь аЬ заменяется на две связи ах и хЬ, в центр которой помещается узел х. В остальном пункт 4 не изменяется.
4. Численный эксперимент
Работа алгоритма роста графа на базе метода Верле была протестирована на примере древовидных данных (рис. 1).
Рис. 1. Визуализация процесса роста древовидного графа
Рис. 2. Визуализация процесса роста аппроксимирующей структуры
Также алгоритм построения аппроксимирующей структуры был протестирован на данных без разветвлений (рис. 2). Данный метод является альтернативой методам построения главных кривых [3-5].
Программная реализация
Метод Верле был реализован программно с использованием общедоступной JavaScript библиотеки Verlet.js, которая была усовершенствована для многомерного случая. Web-приложение для аппроксимации данных на базе метода Верле доступно по адресу: http://svlaboratory.org/application/topgrammars после регистрации нового пользователя. Приложение позволяет визуализировать процесс сходимости метода Верле в заданной плоскости координат.
5. Заключение
Предложен эвристический метод построения древовидной структуры для аппроксимации данных на базе метода Верле и физической интерпретации точек данных в многомерном пространстве как центров притяжения. Алгоритм роста древовидного графа протестирован на данных древовидной структуры, а также на данных нелинейной природы без разветвлений.
Литература
1. Gorban A.N., Sumner N.R., Zinovyev A.Y. Topological grammars for data approximation // Applied Mathematics Letters. 2007. № 20. P. 382-386.
2. Francis R. Bach, Michael I. Jordan Beyond Independent Components: Trees and Clusters // Journal of Machine Learning Research. 2003. № 4. P. 1205-1233.
3. Hastie T. Principal Curves and Surfaces // Ph.D Dissertation, Stanford Linear Accelerator Center, Stanford University, Stanford, California, US, November 1984.
4. Kegl B. Principal curves: learning, design, and applications // Ph. D. Thesis, Concordia University, Canada, 1999.
5. Der R., Steinmetz U., Balzuweit G., Schuurmann G. Nonlinear Principal Component Analysis // University of Leipzig, Institute of Informatics, 1998. 619 p.
APPROXIMATION OF VERLET METHOD FOR DATA
V.A. Shovin
Scientist Researcher, e-mail: [email protected]
Omsk Branch of Sobolev Institute of Mathematics SB RAS
Abstract. One of the methods of approximation for the data with complex topology is building tree structures. In this paper we propose heuristic method for constructing tree graph based on Verlet method and physical interpretation of the data points in a multidimensional space as the attraction centers. This method of constructing tree structure is tested on the example of tree data.
Keywords: Verlet method, topological grammars, elastic energy, approximation.