На правах рукописи
Пономарев Дмитрий Иванович
Использование методов анализа данных при разработке
адаптивного драйвера манипулятора
Специальность 05.13.17 –
Теоретические основы информатики
АВТОРЕФЕРАТ
диссертации на соискание ученой степени
кандидата технических наук
МОСКВА – 2013
Работа
выполнена
в
Федеральном
государственном
автономном
образовательном
учреждении высшего профессионального образования «Московский физико-технический
институт (государственный университет)».
Научный руководитель:
кандидат физико-математических наук, доцент,
Кухаренко Борис Георгиевич
Официальные оппоненты: доктор технических наук,
Кольцов Петр Петрович,
заместитель директора НИИСИ РАН по науке.
Выголов Олег Вячеславович,
кандидат технических наук,
начальник лаборатории ФГУП
исследовательский
институт
«Государственный научно-
авиационных
систем»
(ФГУП
"ГосНИИАС").
Ведущая организация:
Федеральное государственное бюджетное
учреждение науки Институт проблем управления
им. В.А. Трапезникова Российской академии наук
Защита диссертации состоится «26» декабря 2013 года в 13 ч. 00 мин. на заседании
диссертационного совета Д 002.017.02 при Федеральном государственном бюджетном
учреждении науки Вычислительный центр им. А.А. Дородницына Российской академии наук
по адресу: 119333, г.Москва, ул.Вавилова, д.40. С диссертацией можно ознакомиться в
библиотеке ВЦ РАН.
Автореферат разослан «22» ноября 2013 года
Ученый секретарь диссертационного совета
Д 002.017.02, д.ф.-м.н., профессор
В.В. Рязанов
Общая характеристика работы
Актуальность темы. В последнее время широкое распространение получают
дистанционные манипуляторы, передающие движения руки оператора в трехмерном
пространстве. Примерами таких устройств являются манипуляторы типа «мышь»,
позволяющие отслеживать движения руки в трехмерном пространстве, игровые джойстики,
передающие движения человека в трехмерном пространстве, системы виртуальной
реальности, различного рода указатели для проведения презентаций, роботизированные
системы для проведения хирургических операций и т.д. При разработке таких устройств
возникают задачи, связанные с созданием интеллектуального драйвера, способного
отслеживать такие движения. В данной работе рассматриваются проблемы, которые
возникают при разработке такого драйвера. К ним относятся задачи фильтрации шумов,
синхронизации управляющих сигналов, а также задачи поиска паттернов в управляющих
сигналах, являющихся следами жестов оператора.
Цель работы. Целью диссертационной работы является решение задач, связанных с
разработкой
отслеживать
интеллектуального драйвера
движения
руки
оператора
дистанционного манипулятора, способного
в
трехмерном
пространстве,
а
также
классифицировать жесты оператора и строить портрет действий оператора.
Для этого решаются следующие задачи:
1. создание математических моделей анализа управляющих сигналов манипулятора с
целями идентификации паттернов, представляющих жесты оператора;
2. выявление на основе моделей требуемых характеристик вычислительных алгоритмов
и комплексов программ;
3. разработка комплекса программ для анализа управляющих сигналов манипулятора, их
синхронизации, классификации жестов оператора, построения сценариев его
движений.
Методы исследования. В работе используются: линейная и нелинейная Байесовская
фильтрация, фильтр Калмана, скрытая Марковская модель, EM-алгоритм, спектральный
метод
Прони,
алгоритм
динамического
искажения
времени,
алгоритмы
поиска
повторяющихся последовательностей, алгоритм Mueen-Keogh Motif Discovery, абстракция
данных, алгоритм k-means, k-means++, алгоритмы поиска повторяющихся эпизодов, анализ
независимых компонент, кластеризация на основе EM-алгоритма.
Научная новизна полученных результатов. Научная новизна диссертационного
исследования состоит в следующем:
1.
Показано, что точность оценки динамической модели фильтра Калмана посредством
алгоритма ожидания-максимизации правдоподобия растет с ростом размерности временных
рядов, представляющих управляющий сигнал манипулятора. Предложен и программно
реализован метод повышения размерности временных рядов посредством добавления к
имеющимся компонентам временных рядов их первых разностей и разностей более высоких
порядков.
2.
Предложен метод обнаружения паттернов в компонентах временных рядов с
использованием метода Прони для оценки временного масштаба, в котором осуществляется
поиск, позволяющий реализовать стратегию поиска временных масштабов паттернов сверху
вниз.
3.
Показано, что классификация временных сечений многомерных временных рядов дает
абстракцию исходных данных, при которой синхронные паттерны многомерных временных
рядов представляются повторяющимися эпизодами символьных данных - номеров кластеров.
Предложен метод поиска паттернов в многомерных временных рядах с использованием
кластеризации на основе алгоритма ожидания и максимизации правдоподобия.
4.
Показано, что анализ независимых компонент позволяет сокращать размерность
временных рядов при поиске паттернов в результате абстракции данных.
Практическая значимость исследования. Созданные модели и методы, алгоритмы и
программное обеспечение используются в интеллектуальном драйвере манипулятора нового
поколения, способного отслеживать движения руки оператора в трехмерном пространстве, а
также строить портрет жестов оператора, выделяя паттерны в управляющем сигнале.
Положения, выносимые на защиту.
1.
Метод повышения размерности временных рядов посредством добавления к
имеющимся компонентам временных рядов их первых разностей и разностей более высоких
порядков. Указанный метод позволяет увеличить точность оценки динамической модели
фильтра Калмана посредством алгоритма ожидания-максимизации правдоподобия с ростом
размерности временных рядов, представляющих управляющий сигнал манипулятора.
2.
Метод обнаружения паттернов в компонентах временных рядов с использованием
метода Прони для оценки временного масштаба, в котором осуществляется поиск.
Указанный метод позволяет решить задачу выбора временного масштаба, в котором
осуществляется поиск паттернов, представляющие собой следы жестов оператора.
3.
Метод обнаружения паттернов в многомерных временных рядах на основе абстракции
данных. Абстракция данных осуществляется при помощи кластеризации с использованием
алгоритма ожидания и максимизации правдоподобия.
4.
Метод сокращения размерности временных рядов на основе анализа независимых
компонент при поиске паттернов в результате абстракции данных.
Апробация работы. Основные результаты работы докладывались, обсуждались и
получили одобрение специалистов на следующих конференциях: 53, 54, 55 научных
конференциях
Московского
физико-технического
института
(государственного
университета), (Долгопрудный, 2010, 2011, 2012), научных семинарах институтов РАН.
Доклады на 53 и 54 научных конференциях МФТИ, как лучшие в секции, были
отмечены дипломами победителя.
Публикации. Основные положение работы отражены в 16 публикация, в том числе 7
[2-3,5-9], в журналах из списка, рекомендованного ВАК РФ.
Структура и объем диссертации. Диссертация состоит из введения, пяти глав,
заключения и списка использованных источников, включающего 73 наименования. Общий
объём работы составляет 107 страниц.
Краткое содержание работы
Во введении сформулированы цели работы, обосновывается её актуальность,
перечисляются методы исследования, обосновывается практическая значимость работы,
приводятся основные результаты.
В первой главе рассматриваются проблемы разработки драйвера манипулятора нового
поколения, способного отслеживать движения руки человека в пространстве, а также строить
портрет его действий. Показана их связь с задачами анализа данных.
Во второй главе рассматривается задача фильтрации управляющих сигналов
манипулятора и ее решение при помощи нелинейной Байесовской фильтрации. Приводится
обзор существующих методов решения данной задачи, а также их основные достоинства и
недостатки. Показано, что наибольший вклад в шум управляющего сигнала манипулятора
вносит процесс физиологического дрожания руки оператора, получены амплитудные и
частотные характеристики шума. Также показано, насколько существенным является
решение данной задачи для работы такого класса манипуляторов. Для решения задачи
фильтрации применяется нелинейная фильтрация по Калману. При построении фильтра
Калмана задается нелинейная модель динамической системы. В настоящей работе
используется EM-алгоритм (Expectation-Maximization algorithm) для оценки параметров
нелинейной динамической модели фильтра Калмана. Это позволяет не задавать модель
априори, а оценивать ее параметры на основе реальных данных.
В фильтре Калмана дискретная линейная динамическая система (ЛДС) описывается
системой
уравнений:
динамической
системы
x[k  1]  F[k  1]x[k ]  w[k ]
.

y[k ]  H[k ]x[k ]  v[k ].
осуществляется
Оценка
алгоритмом
параметров
ожидания
и
линейной
максимизации
правдоподобия (Expectation Maximization (EM) algorithm).
EM-алгоритм – это метод нахождения максимума правдоподобия в модели со
скрытыми параметрами. Этот итеративный алгоритм состоит из E-шага и M-шага. На E-шаге
вычисляется ожидаемый логарифм правдоподобия, используя текущие оценки параметров
линейной динамической системы. На M-шаге вычисляются новые оценки параметров ЛДС
для достижения максимума правдоподобия. Логарифм правдоподобия для дискретной
линейной динамической системы с Гауссовым шумом модели и Гауссовым шумом
измерений:
N
1
L  log P({x},{y})   ( ( y[ k ]  Hx[ k ])T R 1 ( y[ k ]  Hx[ k ]))
k 1 2
N
N
1
 log | R |  ( (x[k ]  Fx[k  1])T Q 1 (x[ k ]  Fx[ k  1]))
2
2
k 2
,
N 1
1

log | Q |  (x[1]  π[1])T V[1]1 ( x[1]  π[1])
2
2
1
N ( p  l)
 log | V[1] | 
log 2
2
2
где R - ковариационная матрица шума измерений, Q - ковариационная матрица шума
динамической модели.
E-шаг,
рассматриваемого
EM-алгоритма,
предполагает
вычисление
ожидаемого
логарифма правдоподобия L  E[log P({ x},{ y}) |{ y}] . Для этого при помощи сглаживающего
фильтра Калмана вычисляются следующие математические ожидания:
E[x[k ] |{y}] ,
E[x[k ](x[k ])T |{y}] , E[x[k ](x[k  1])T |{y}] .
Опишем M-шаг. Параметры линейной динамической системы F, H, R, Q, π[1], V[1] .
Каждый из параметров и начальное значение вектора состояния и ковариационной матрицы
повторно оценивается, беря частную производную ожидаемого логарифма правдоподобия,
приравнивая ее к нулю и решая (аналитически) полученное уравнение:
N
N
H new  ( y[k ](xˆ [k ])T )( P[k ]) 1 , R new 
k 1
k 1
N
N
k 2
k 2
F new  ( P[k ])( P[k  1]) 1 , Q new 
1
N
N
 (y[k ](y[k ])
T
 H new xˆ [ k ]( y[ k ])T ) ,
k 1
N
N
1
( P[k ]  F new  P[k  1][k ]) ,
N  1 k 2
k 2
π[1]new  xˆ [1] , V[1]new  P[1]  xˆ[1](xˆ[1])T .
Таким образом, в каждой итерации EM-алгоритма происходит оценивание параметров
системы так, что ожидаемый логарифм правдоподобия стремится к максимуму. Этот метод
позволяет, имея только наблюдаемые данные, определять параметры системы, которые
используются для применения фильтра Калмана. Параметры линейной динамической
модели, оценки для которой были получены при помощи EM-алгоритма, используются как
начальные значения для параметров нелинейной динамической модели.
Нелинейная динамическая система описывается линеаризованными уравнениями:




x[k  1]  f x[k ], u[k ]  Fx[ k ]  x[k ]  x[k ]  w[k ],




y[k ]  g x[k ], u[k ]  G x[ k ]  x[k ]  x[k ]  v[k ]
. Функции f и g определяются на основе
I
радиальных базисных функций: z   h[i ]  i  x   A  x  B  u  b  w , где w – Гауссов шум с
i 1
нулевым средним значением и ковариационной матрицей Q ,
функция.
Радиальная
i  x   2 S[i]
P  x, z, u  


1/ 2
базисная
i  x  - радиальная базисная
функция
T
1
 1

exp    x  c[i]  S[i]  x  c[i]  .
 2

имеет
вид:
Предполагается,
что:
1
 P j  x, z     u  u[ j ] . Логарифм правдоподобия для одного измерения:
J j



T
1
1
z  z θ  x, u  Q 1 z  z θ  x, u   log Q  c . Значения
2
2
x, z
не определены, поэтому
максимум ожидаемого логарифма правдоподобия получается минимизацией квадратичной
формы:
T


min    P j  x , z   z  z θ  x, u  Q1 z  z θ  x, u  dxdz  J log Q  .
θ,Q
 j xz





Используя обозначения: θ  h[1],..., h[ I ], A, B, b и Φ   1  x  ,...,  I  x  , xT , uT , 1 , получаем
T
выражение
для
задачи
минимизации:
 
T
min  tr  Q 1   z  θΦ  z  θΦ 
θ,Q
j
 


 J log Q  .

j


Приравнивая производные по θ нулю, получим линейные уравнения относительно θ и Q .
Для повышения эффективности нелинейной Байесовской фильтрации сигнала удаленного
манипулятора необходимо увеличить размерность наблюдаемой последовательности. Это
достигается добавлением к наблюдаемой последовательности y ее первой разности y .
Двумерный временной ряд Y  y; y обеспечивает Байесовскую нелинейную фильтрацию
при размерности пространства состояний L  4 . В качестве критерия близости компонент,
определенных в результате нелинейной Байесовской фильтрации, к исходному сигналу
используется их кросс-корреляция без запаздывания.
Применяемый в данной работе алгоритм фильтрации приведен в таблице 1.
Таблица 1. Разработанный алгоритм фильтрации управляющих сигналов
манипулятора на основе нелинейной Байесовской фильтрации
1. Накопление данных y для оценки параметров нелинейной динамической
системы
2. Построение двумерного вектора на основе одномерного Y  {y; y}T
с использованием первой разности
3. Оценка параметров линейной динамической системы при помощи EMалгоритма, которые будут использованы как начальные значения при оценки
параметров нелинейной динамической модели. Обучение модели происходит
на двумерном векторе данных Y  {y; y}T
4. Оценка параметров нелинейной динамической системы при помощи EMалгоритма
5. Фильтрация данных при помощи расширенного фильтра Калмана (Extended
Kalman filter), модель для которого была построена на шаге (4).
Приводятся результаты фильтрации сигналов манипулятора полученные при помощи
нелинейной Байесовской фильтрации (рис.1).
Рис.1. Пример фильтрации сигналов. Слева показан исходный сигнал, в центре
первая разность, справа результат фильтрации.
Во третьей главе рассматривается задача восстановления управляющего сигнала
манипулятора. Данная проблема возникает в случае, когда запись управляющих сигналов
производятся двумя и более независимыми датчиками. Из-за неточной и различной
калибровки датчиков, электрических шумов в независимых цепях питания, различной
установки датчиков на печатной плате, независимости тактовых сигналов возникают
различия в записях управляющих сигналов, полученных при помощи различных датчиков.
Соответственно, возникает задача восстановления исходного управляющего сигнала. Для
решения данной задачи используется Марковская модель непрерывного профиля, параметры
которой оцениваются при помощи алгоритма ожидания и максимизации правдоподобия.
Предполагается, что существует скрытая последовательность, z  ( z1 , z2 ,..., zM ) , каноническое
представление набора зашумленных входных данных. Любой временной ряд из данного
набора моделируется как неравномерно во времени формируемая версия скрытой
последовательности, к которой применены локальные преобразования масштаба. Каждое
состояние из последовательности скрытых состояний состоит из состояния времени и
состояния
 ik  { ik , ik } .
масштаба:
Распределение
вероятности
элемента
xik :
A k ( xik | z )  p( xik |  ik , z,  , u k )  N ( xik ; z k ik u k ,  2 ) .
i
i
Вероятность перехода:
Tkj , i  p( i |  j )  p(i |  j ) p k ( i |  j ) . Распределения вероятности
переходов из одного состояния в другое для состояний времени и состояний масштаба
являются полиномиальными.
Для оценки параметров модели используется алгоритм ожидания и максимизации
правдоподобия (EM-алгоритм). На E-шаге используется алгоритм прямой и обратной
рекурсии. На M-шаге оцениваются параметры модели. Логарифм правдоподобия K
наблюдаемых временных рядов, x k , задается выражением: LP  L  P , где L - логарифм
правдоподобия в скрытой Марковской модели, и вычисляется посредством алгоритма прямой
и обратной рекурсии, P – логарифм правдоподобия отвечающий за априорные ограничения
наложенные на модель. Выражения для составляющих логарифма правдоподобия:
K
N
N


L    log p(1 )   log A i ( xik | z)   log Tki1 , i  ,
k 1 
i 1
i 2

 1
P     z j 1  z j    logD(dvk |{vk })  log D( sv |{v' }).
K
2
j 1
k 1
Обозначим через S общее число возможных состояний, тогда ожидаемый полный логарифм
правдоподобия:
K
S
K
S
N
 LP   P    sk (1) log T0,ks    sk (i ) log As ( xik | z)  ...
k 1 s 1
K
S
S
k 1 s 1 i 1
N
...    (i) log T
k 1 s 1 s ' 1 i  2
k
s , s'
,
k
s,s '
где T0,ks  p(1  s) ,  sk (i ) и sk,s ' (i) – условные вероятности, определенные посредством
алгоритма прямой и обратной рекурсии. Оценки значений параметров модели получаются
взятием производных по данным параметрам от математического ожидания логарифма
правдоподобия и приравниваем их к нулю.
Сигналы, получаемые от двух независимых акселерометров, прошли процедуру
выравнивания при помощи Марковской модели непрерывного профиля (рис. 2).
Рис. 2. Записи управляющих сигналов, полученных при помощи двух
независимых акселерометров.
После обучения модели при помощи алгоритма ожидания и максимизации
правдоподобия произведена синхронизация сигналов при помощи алгоритма Витерби.
Результат синхронизации сигналов изображен на рис. 3.
Рис. 3. Результат синхронизации управляющих сигналов.
В четвертой главе рассматривается задача обнаружения паттернов в одномерных
временных рядах, являющимися записями управляющего сигнала манипулятора. Одним из
основных моментов при решении задачи обнаружения паттернов временного ряда является
определения характерного временного масштаба этих паттернов. При этом простой перебор
всех возможных значений масштаба является крайне нежелательным, так как это сильно
увеличивает вычислительную сложность алгоритма поиска. Предлагается для оценки такого
характерного временного масштаба использовать средний период колебательного изменения
временного ряда. Для определения такого периода используются методы определения
спектров частот, несоизмеримых с частотой дискретизации временного ряда. Одним из таких
методов является одночастотная аппроксимация сегментов временного ряда по методу
Прони.
Считается, что полный временной ряд
x 1, N 0 
имеет постоянный интервал
дискретизации времени. Для простоты приводимых формул этот интервал дискретизации
времени t  1 . Последовательные сегменты фиксированной длины M  N  N0 имеют
вид yi 1, N   x  N  i  1  1 , Ni  , i  1, round  N 0 N  (1). Таким образом, считается, что


анализируемые
сегменты
имеют
длину
гораздо
больше,
чем
длина
паттернов,
присутствующих в полном временном ряду x 1, N 0  . Декомпозиция Прони сегмента (1) (для
краткости индекс сегмента i  1, round  N 0 N  ниже опускается) имеет вид:
p
y[k ]   r[l ]  z[l ]
k 1
 n[k ], k  1, N ,(2)
l 1
где
p
–
число
определяемых
полюсов
сегмента
временного
ряда;
z[l ]  exp  [l ]  j 2 f [l ] , l  1, p − полюса, которые определяются для сегмента (1), где [l] и
f[l] − соответственно, фактор демпфирования (логарифмический декремент) и частота;
r[l ]   [l ]exp  j[l ] , l  1, p − вычеты в этих полюсах, где α[l] и [l] – соответственно,
амплитуда и фаза; n[k ], k  1, N – аддитивный шум. То есть метод Прони использует модель
локально переходного изменения, которая не столь широко распространена для описания
нестационарных временных рядов. Возможность варьирования в методе Прони размерности
p частотного пространства дает следующее преимущество. Линейный или нелинейный
тренд в переходном сегменте
y 1, N  (1), в его декомпозиции (2) представляется
составляющими с низкими частотами порядка N 1 . После удаления среднего значения
y
1
N
N
 y[k ] ,


т.е. y[k ], k  1, N  y[k ]  y , k  1, N ,
k 1
нелинейного тренда y (it ) в результате регрессии
либо
удаления
  y[i]  y(it ) 
N
2
линейного
или
 min
k 1
и преобразования


y[k ], k  1, N  y[i ]  y (it ) , k  1, N , для преобразованного сегмента
y 1, N  по методу Прони может быть определена одночастотная аппроксимация. Она
соответствует минимальному числу p  2 полюсов
в (2). Частота f [1]  Imlog  z[1] (и
f [2]   f [1] ) определяет характерный период M  1 f [1],  M  N  N0  колебательного
изменения преобразованного сегмента y 1, N  . Оцененный по всем последовательным
сегментам полного временного ряда x 1, N 0  , этот период M  N 0 дает временной масштаб
при обнаружении совпадающих временных последовательностей (паттернов) временного
ряда x 1, N 0  .
Для обнаружения паттернов в оцененном временном масштабе используется алгоритм
Mueen-Keogh (MK) Motif Discovery. Это алгоритм реализует поиск наиболее похожих
последовательностей
в
наборе
последовательностей
D,
представляющей
собой
неупорядоченный набор временных последовательностей одинаковой длины Dk  s k , где
k  1, 2,.., N0  M  1.
Вначале работы алгоритма выбирается произвольная последовательность из набора
последовательностей
D,
и
все
остальные
последовательности
упорядочиваются
в
соответствии с расстоянием до этой последовательности. Такое линейное упорядочивание
дает полезную эвристическую информацию для поиска паттернов. Действительно, если
последовательности близки в исходном пространстве, то они близки и в одномерном
линейном упорядочении. Обратное утверждение не верно. Последовательности могут быть
близки в линейном упорядочении и очень далеки в исходном пространстве.
Данное свойство является ключевым в реализации алгоритма. Оцененные расстояния
являются нижними границами истинных расстояний между последовательностями. На
следующем шаге производится просмотр полученных пар в линейном упорядочении, и
вычисляются расстояния между ними в исходном пространстве. Описанная версия алгоритма
предназначена
для
статического
поиска
паттернов
в
уже
имеющемся
наборе
последовательностей. Имеется также модификация данного алгоритма работающего в
режиме реального времени. Алгоритм MK Motif Discovery, работающий в режиме реального
времени, является основой программы, реализованной на языке C++, для поиска паттернов в
управляющих сигналах манипулятора. Данная программа считывает данные, получаемые от
манипулятора, через равные промежутки времени. Далее используется скользящее временное
окно заданной длины L . Для сигнала в выбранном окне вычисляется одночастотная
аппроксимация по методу Прони, результатом которой является характерный временной
масштаб для поиска паттернов. Далее запускается версия алгоритма MK реального времени
для поиска паттернов с вычисленным значением длины паттерна. Данная программа
используется для выделения характерных жестов, которые формируются у оператора при
управлении курсором компьютерной мыши, посредством разрабатываемого манипулятора.
Желаемое перемещение курсора на экране компьютера приводит к поиску оператором
необходимого жеста, его формированию и запоминанию для повторения. Алгоритм работы
программы приведен в таблице 2. Программа выделяет наиболее часто встречаемые
паттерны, возникающие при управлении данным манипулятором. На рис. 4 показаны
примеры найденных паттернов.
Таблица
2.
Разработанный
алгоритм
поиска
паттернов
в
одномерных
управляющих сигналах манипулятора.
1. Считывание новых данных x[ Ni ]
2. Формирование сегмента данных yi 1, N   x  N  i  1  1 , Ni 


3. Удаление линейного тренда из полученного сегмента данных
4. Вычисление одночастотной аппроксимации по методу Прони, и получение
характерного временного масштаба для поиска паттернов
5. Поиск паттернов в полученном временном масштабе при помощи онлайн
версии алгоритма MK Motif discovery.
Характерный вид паттерна
Описание жеста
Быстрое горизонтальное
движение руки слева направо, с
возвратом руки в исходное
положение
Быстрое горизонтальное
движение руки справа налево, с
возвратом руки в исходное
положение
Наклон руки влево, с возвратом в
исходное положение
Наклон руки вправо, с возвратом
в исходное положение
Круговое движение по часовой
стрелке
Круговое движение против
часовой стрелки
Рис. 4. Выделенные паттерны и соответствующие им жесты руки оператора
В пятой главе рассматривается задача обнаружения паттернов в многомерных
временных рядах, являющимися записями сигналов манипулятора. Данная задача решена в
два этапа:

Кластеризация
правдоподобия.
данных
при
помощи
Результатом
алгоритма
данной
ожидания
операции
и
максимизации
является
одномерная
последовательность из номеров кластеров. При этом показано, что паттерны
многомерных
временных
рядов
представляются
повторяющимися
эпизодами
символьных данных – номеров кластеров.

Обнаружение
повторяющихся
эпизодов
в
полученной
одномерной
последовательности.
Рассмотрим решение задачи кластеризации при помощи EM-алгоритма. Имеется
набор данных {x[1], x[2],..., x[ N ]} состоящих из N наблюдений M-мерной случайной
величины x .Требуется разбить набор входных данных на K кластеров.
Будем считать, что
x[n]
- выборка для смеси Гауссовых распределений. Если
предположить, что вектор наблюдения x[ n ] принадлежит кластеру k, тогда функция
плотности вероятности для x[ n ] будет нормальным распределением со средним
μ[ k ] и
ковариационной матрицей R[ k ] :
p(x[n] | k , μ[k ], R[k ]) 
1
1
| R[k ] |1/ 2 exp{ (x[n]  μ[ k ])T R[ k ]1 ( x[ n]  μ[ k ])}.
M /2
(2 )
2
Введем скрытые переменные
 y[n] -
y[n] . Пусть
последовательность из
N
дискретных независимых и одинаково распределенных случайных величин, с функцией
распределения P{ y[n]  k}   [k ] , где k  1,..., K и
K
  [k ]  1 .
Случайная величина y[n]
k 1
показывает к какому кластеру принадлежит вектор наблюдения x[ n ] , а вес  [k ] – это
вероятность того, что выборка
x[n]
для смеси Гауссовых распределений представляет
кластер k.
Функция плотности для вектора наблюдения x[ n ] имеет вид:
 [k ]
1
| R[k ] |1/ 2 exp{ ( x[ n]  μ[ k ])T R[ k ]1 ( x[ n]  μ[ k ])},
M /2
2
k 1 (2 )
K
p(x[n] | θ)  
где вектор параметров распределения θ  [ [1], μ[1], R[1],...,  [ K ], μ[ K ], R[ K ]] .
На E-шаге алгоритма оценивается апостериорное распределение вероятностей скрытых
параметров:
r[n; k ]  p( y[n]  k | X  x[n], θˆ ) 
(3)
 [k ]
1
| R[k ] |1/ 2 exp{ ( x[ n]  μ[ k ])T R[ k ]1 ( x[ n]  μ[ k ])}
M /2
(2 )
2
На
M-шаге
максимизируется
логарифм
прадоподобия
наблюдаемых
данных,
при
фиксированном распределении скрытых параметров. Запишем выражение для ожидаемого
логарифма правдоподобия наблюдаемых данных:
L(θ)  E[log p ( X , Y | θ)] 
N
K
 r[n; k ]log(
k 1
K
n 1
N
 [k ]
1
| R[k ] |1/ 2 exp{ ( x[ n]  μ[ k ])T R[ k ]1 ( x[ n]  μ[ k ])}) 
M /2
(2 )
2
1
 r[n; k ]{log( [k ])  2 log(| R[k ] |) 
k 1 n 1
M
log(2 )
2
(4)
1
 (x[n]  μ[k ])T R[ k ]1 ( x[ n]  μ[ k ])}
2
На М-шаге вектор параметров θ повторно оценивается. Для этого берутся частные
производные от ожидаемого логарифма правдоподобия (4), приравниваются к нулю и
решаются аналитически полученные уравнения. Приведем полученные выражения:
N
N
μˆ [k ] 
 r[n; k ]x[n]
n 1
N
 r[n; k ]
ˆ [k ] 
, R
 r[n; k ](x[n]  μˆ [k ])
T
N
( x[ n]  μˆ [ k ])
n 1
N
 r[n; k ]
, ˆ[k ] 
 r[n; k ]
n 1
N
. (5)
n 1
n 1
Для того, чтобы получить соответствие между векторами наблюдений
x[n]
и
кластерами, к которым они относится, необходимо вычислить логарифмы правдоподобия для
каждого вектора наблюдений x[ n ] , в предположении, что данные представляют собой
ˆ [ k ], πˆ [ k ] :
выборку для модели смеси гауссовых распределений с набором параметров μˆ [ k ] , R
  [k ] ˆ
1
ˆ [k ]1 ( x[ n]  μˆ [ k ])} . (6)
L[n; k ]  log 
| R[k ] |1/ 2 exp{ (x[n]  μˆ [k ])T R

M /2
2
 (2 )

Далее необходимо найти максимум логарифма правдоподобия (6) по k  1..K , при
фиксированном n. Значение k, при котором наблюдается максимум (6), является номером
класса E[n] , к которому относится данное наблюдение x[ n ] : E[n]  arg max L[n; k ] . (7)
k 1.. K
Таким образом, чтобы получить из последовательности векторов наблюдаемых
данных
{x[1], x[2],..., x[ N ]}
последовательность
меток
кластеров {E[1], E[2],..., E[ N ]} ,
выполним следующее:
1. Инициализируем необходимое количество кластеров K
2. Задаем начальные значения параметров μ[ k ] , R[ k ], π[ k ]
3. Выполняем E-шаг EM-алгоритма (3).
4. Вычисляем ожидаемый логарифм правдоподобия (4)
5. Вычисляем параметр p 
Ls  L1
, где Ls - ожидаемый логарифм правдоподобия
Ls 1  L1
полученный на шаге s. В случае если p  1  d , где d-заранее задаваемый параметр,
то принимается решение о прекращении выполнения EM-алгоритма и переходим к
шагу 7.
6. Выполняем M-шаг EM-алгоритма (5), в результате получаем оценки параметров
ˆ [ k ], πˆ [ k ]
μˆ [ k ] , R
Далее переходим к шагу 3, для выполнения новой итерации алгоритма.
7. Вычисляем
L[n; k ] (6)
8. Получаем последовательность {E[1], E[2],..., E[ N ]} (7)
В
результате
многомерный
последовательность событий
временной
ряд
 E1 , t1  ,  E2 , t2  ,...,  EN , t N
0
дискретно
0

представляется
как
( N 0 – число элементов для
компонент временного ряда), показывающих переходы между кластерами. Эпизод – это
некоторая частичная последовательность событий (во времени). Паттерны, которые
обнаруживаются в последовательности событий, называются эпизодами. Отображение
временных интервалов, соответствующих повторяющимся эпизодам последовательности
событий, на исходный многомерный временной ряд определяет паттерны этого ряда
(синхронные для всех его компонент).
В каждом событии
происходит
событие.
 Ei , ti  , i  1, N0 ,
Типы
Ei обозначает тип события, а ti – время, когда
событий
Ei
выбираются
из
конечного
набора.
Последовательность событий упорядочена относительно времени возникновения каждого
события, т.е. i  1, N0  1, ti  ti 1 . Эпизод α – триплет Vα , α , gα  , где Vα – набор узлов,  α –
частичный порядок на Vα , и gα : Vα  E – отображение, ассоциирующее каждый узел с типом
событий. Интерпретация эпизода в том, что события в gα Vα  должны происходить в
порядке, описываемом посредством  α . Размер α , обозначаемый как α , является Vα .
Эпизод α является последовательным, если отношение  α является полным порядком (т.е.,
u, v Vα , u α v или v α u ).
На втором шаге алгоритма осуществляется поиск повторяющихся эпизодов в
полученной одномерной символьной последовательности. Обнаружение повторяющихся
эпизодов является итеративной задачей, в которой алгоритм проходит несколько раз по
последовательности данных. В каждом проходе определяется частота каждого эпизода из
набора кандидатов. После каждого прохода, текущий набор повторяющихся эпизодов из N
узлов используется для генерирования кандидатов из N  1 узлов. Алгоритмы подсчета
эпизодов
основаны
на
автоматах
с
конечным
числом
состояний.
Появление
последовательного эпизода отслеживается, используя автомат с конечным числом состояний,
который принимает очередное событие из эпизода и переходит в следующее состояние. В
настоящей работе используется алгоритм поиска повторяющихся эпизодов, который
накладывает дополнительное ограничение на продолжительность по времени такого эпизода.
Данный алгоритм реализован на языке С++ и использован для поиска паттернов в
записях трехмерного управляющего сигнала манипулятора. Было показано, что эта
классификация временных сечений многомерных временных рядов дает абстракцию
исходных данных, при которой синхронные паттерны многомерных временных рядов
представляются повторяющимися эпизодами символьных данных - номеров кластеров. На
рис. 5 приведена запись управляющего сигнала, содержащая два типа жестов. А на рис. 6
приведен результат кластеризации и обнаруженные паттерны.
Рис.5. Исходная запись ускорений для двух типов повторяющихся жестов
Рис.6. Обнаруженные повторяющиеся эпизоды
Также, для ускорения процесса подсчета не перекрывающихся последовательных
эпизодов с ограничением продолжительности реализованы вычисления на графическом
процессоре (GPU).
В заключении приведены основные результаты работы.
Основные результаты работы
1.
Разработан дистанционный манипулятор, способный отслеживать движения руки
человека в трехмерном пространстве.
2.
Разработан драйвер для управления курсором стандартной компьютерной мыши.
3.
Разработан загрузчик программ для манипулятора.
4.
Разработан ряд программ для записи показаний акселерометра.
5.
Показано, что основной вклад в шум сигналов вносит процесс физиологического
дрожания руки.
6.
Исследованы свойства сигналов, а также характеристики процесса физиологического
дрожания руки.
7.
Проведен обзор существующих алгоритмов фильтрации, выявлены их основные
достоинства и недостатки.
8.
Предложен алгоритм фильтрации с использованием нелинейного фильтра Калмана,
модель для которого обучается посредством EM-алгоритма.
9.
Показано, что точность оценки динамической модели фильтра Калмана посредством
алгоритма ожидания-максимизации правдоподобия растет с ростом размерности временных
рядов, представляющих правляющий сигнал манипулятора.
10.
Предложен и программно реализован (на C++) метод повышения размерности
временных рядов посредством добавления к имеющимся компонентам временных рядов их
первых разностей и разностей более высоких порядков.
11.
Рассмотрена задача синхронизации сигналов манипулятора.
12.
Показано, что синхронизацию можно выполнить, используя Марковскую модель
непрерывного профиля.
13.
Показано, что при использовании данного манипулятора, в сигналах манипулятора
присутствуют паттерны, являющиеся следами жестов оператора.
14.
Использован метод Прони для оценки временного масштаба при обнаружении
паттернов в компонентах временных рядов, позволяющий реализовать стратегию поиска
временных масштабов паттернов сверху вниз.
15.
Разработана
программа,
работающая
в
режиме
реального
времени,
которая
осуществляет поиск паттернов в сигналах манипулятора.
16.
При
программировании
алгоритмов
высокопроизводительные вычисления.
обнаружения
паттернов
реализованы
17.
Использован алгоритм ожидания и максимизации правдоподобия для кластеризации
временных сечений многомерных временных рядов.
18.
Показано, что эта классификация временных сечений многомерных временных рядов
дает абстракцию исходных данных, при которой синхронные паттерны многомерных
временных рядов представляются повторяющимися эпизодами символьных данных номеров кластеров.
19.
При
программировании
алгоритмов
обнаружения
реализованы высокопроизводительные вычисления.
повторяющихся
эпизодов
Список публикаций автора по теме диссертации
1. Kukharenko B.G., Ponomarev D.I. Bayesian filtering of control signal of telerobotic manipulator
with precise accelerometer // Проблемы машиностроения и автоматизации. 2011. № 1. С.72–
76.
2. Кухаренко Б.Г., Пономарев Д.И. Нелинейная Байесовская фильтрация многомерных
временных рядов // Информационные технологии. 2011. № 6. С.33–39.
3. Пономарев Д.И., Кухаренко Б.Г. Использование алгоритма ожидания и максимизации
правдоподобия в Марковской модели непрерывного профиля для синхронизации
сигналов манипулятора // Труды МФТИ. 2011. Т.3. № 2(10). С.112–118.
4. Кухаренко Б.Г., Пономарев Д.И. Дистанционный манипулятор на основе MEMSакселерометра в качестве чувствительного элемента // Нано- и микросистемная техника.
2012. № 2. С.49–54.
5. Кухаренко Б.Г., Пономарев Д.И. Использование метода Прони для оценки временного
масштаба при обнаружении паттернов во временных рядах // Информационные
технологии. 2012. № 1. С.37–42.
6. Пономарев Д.И. Использование алгоритмов обнаружения паттернов для идентификации
жестов оператора в записях управляющего сигнала манипулятора // Труды МФТИ. 2012.
Т.4. № 3(15). С.187–197.
7. Кухаренко Б.Г., Пономарев Д.И. Аппроксимация смесью Гауссовых распределений в
модели переключающегося фильтра Калмана для идентификации режимов колебаний
временных рядов // Информационные технологии. 2012. № 7. С.2–7.
8. Кухаренко Б.Г., Пономарев Д.И. Обнаружение паттернов многомерных временных рядов
на основе абстракции данных // Информационные технологии. 2013. № 4. С.28–34.
9. Кухаренко Б.Г., Пономарев Д.И. Анализ независимых компонент потока векторов для
сокращения размерности пространства при кластеризации векторов с целями абстракции
данных // Информационные технологии. 2013. № 5. С.2–8.
10. Пономарев Д.И. Использование методов Байесовской фильтрации при обработке сигналов
манипулятора // Информационные технологии: Модели и методы. Сборник научных
трудов. М.: МФТИ. 2010. С.65-72. ISBN.
11. Кухаренко Б.Г., Пономарев Д.И. Применение нелинейной байесовской фильтрации при
обработке сигналов трехмерного манипулятора // Труды 53-й Научной конференции
МФТИ “Современные проблемы фундаментальных и прикладных наук”. Ч. VII.
Управление и прикладная математика. Т.2. Москва-Долгопрудный. 2010. С.41-44.
12. Пономарев Д.И. Использование алгоритма ожидания и максимизации правдоподобия для
фильтрации сигналов трехмерного манипулятора // Труды 53-й Научной конференции
МФТИ “Современные проблемы фундаментальных и прикладных наук”. Ч. VII.
Управление и прикладная математика. Т.2. Москва-Долгопрудный. 2010. С.41-44.
13. Кухаренко Б.Г., Пономарев Д.И. Использование метода Прони для оценки временного
масштаба при обнаружении паттернов во временных рядах // Труды 54-й Научной
конференции МФТИ “Проблемы фундаментальных и прикладных естественных и
технических наук в современном информационном обществе”. Управление и прикладная
математика. Том 2. Москва-Долгопрудный. 2011. С.12-13.
14. Пономарев Д.И. Использование алгоритма ожидания и максимизации правдоподобия в
Марковской модели непрерывного профиля для синхронизации сигналов манипулятора //
Труды 54-й Научной конференции МФТИ “Проблемы фундаментальных и прикладных
естественных и технических наук в современном информационном обществе”.
Управление и прикладная математика. Том 2. Москва-Долгопрудный. 2011. С.52-54.
15. Кухаренко Б.Г., Пономарев Д.И. Обнаружение паттернов многомерных временных рядов
на основе абстракции данных // Труды 55-й Научной конференции МФТИ «Проблемы
фундаментальных и прикладных естественных наук в области физики и астрономии».
Управления и прикладная математика. Том 2. Москва-Долгопрудный-Жуковский. 2012.
С.116-117.
16. Пономарев
Д.И.
Методы
ускорения
вычислений
при
обнаружении
паттернов
многомерных временных рядов на основе абстракции данных // Труды 55-й Научной
конференции МФТИ «Проблемы фундаментальных и прикладных естественных наук в
области физики и астрономии». Управления и прикладная математика. Том 2. МоскваДолгопрудный-Жуковский. 2012. С.121-122.
Скачать

Автореферат в формате MS-Word 2007 (1 226 Kb) см. здесь.